/usr/share/doc/libparse-recdescent-perl/examples/demo_skipcomment.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 32 33 | #!/usr/bin/perl -ws
# REMOVE COMMENTS FROM C++ CODE
use strict;
use Parse::RecDescent;
use vars qw/ $Grammar /;
$RD_TRACE=1;
my $parser = new Parse::RecDescent $Grammar or die "invalid grammar";
undef $/;
my $text = @ARGV ? <> : <DATA>;
print join " ", @{$parser->program($text) or die "malformed C program"};
BEGIN
{ $Grammar=<<'EOF';
program : <skip:qr/(\s+|#.*\n)*/> part(s)
part : /\S+/
EOF
}
__DATA__
Now we find # to our inexpressible joy
That the parser # a cunningly wrought thing
Skips both whitespace # the usual behaviour
# though it be configurable
And comments
#however many there be
|