ディレクティブ score
#!/usr/bin/env perl use strict; use Parse::RecDescent; my $grammar = q{ inputs : 'a' { print "*a1*\n"; } | 'a' { print "*a2*\n"; } | 'a' { print "*a3*\n"; } }; my $parse = new Parse::RecDescent ($grammar); while (<>) { defined $parse->inputs($_) or print "Bad text!\n"; }
で、
a *a1*
ディレクティブつき
#!/usr/bin/env perl use strict; use Parse::RecDescent; my $grammar = q{ inputs : 'a' { print "*a1*\n"; } <score: 1> | 'a' { print "*a2*\n"; } <score: 2> | 'a' { print "*a3*\n"; } <score: 3> }; my $parse = new Parse::RecDescent ($grammar); while (<>) { defined $parse->inputs($_) or print "Bad text!\n"; }
で、
a *a1* *a2* *a3*
三つ出てくるとは意外だった