ディレクティブ autoscore
#!/usr/bin/env perl use strict; use Parse::RecDescent; my $grammar = q{ inputs : <autoscore: 1> | 'a' { print "*a1 $score $score_return*\n"; } | 'a' { print "*a2 $score $score_return*\n"; } | 'a' { print "*a3 $score $score_return*\n"; } }; my $parse = new Parse::RecDescent ($grammar); while (<>) { defined $parse->inputs($_) or print "Bad text!\n"; }
で、
a *a1 * *a2 1 1* *a3 1 1*