Next | Higher-Order Parsing | 19 |
$expression = conc(lookfor("("), $expression, lookfor(")"), );
We can't use $expression before we've defined it
But we can pull a very sly trick
We'll define a proxy parser, to postpone use of $expression until call time
my $expression; my $EXPRESSION = sub { $expression->(@_) }; $expression = conc(lookfor("("), $EXPRESSION, lookfor(")"), );
By the time $expression is actually called, it will be completely defined
Next | Copyright © 2007 M. J. Dominus |