/usr/share/doc/libparse-recdescent-perl/examples/demo_implicit.pl is in libparse-recdescent-perl 1.967009+dfsg-1.
This file is owned by root:root, with mode 0o644.
The actual contents of the file can be viewed below.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 | #!/usr/bin/perl -sw
# IMPLICIT SUB RULES, OKAY!
use strict;
use Parse::RecDescent;
my $grammar =
q{
{ my $state = "happy"; }
testimony : declaration(s)
{ print "Ended up $state\n"; }
declaration : 'I' ('like'|'loathe')(s) ('ice-cream'|'lawyers')
{ print "$item[3]\n";
$state = 'happy/sad'; }
| 'I' ("can't"|"can") ('fly'|'swim')
{ print "$item[3]\n";
$state = 'able/unable'; }
| <error>
};
my $parse = new Parse::RecDescent ($grammar);
my $input;
while (defined ($input = <>))
{
$parse->testimony($input) or print "huh?\n";
}
|