HEX
Server: Apache
System: Linux pdx1-shared-a1-38 6.6.104-grsec-jammy+ #3 SMP Tue Sep 16 00:28:11 UTC 2025 x86_64
User: mmickelson (3396398)
PHP: 8.1.31
Disabled: NONE
Upload Files
File: //usr/share/doc/libparse-recdescent-perl/examples/demo_skipcomment.pl
#!/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