Next | Higher-Order Parsing | 30 |
Comma-separated expression lists are common in programming languages
Similarly semicolon-separated statement blocks
Or ...
sub list_of { my ($item, $separator) = @_; $separator = lookfor("COMMA") unless defined $separator; conc($item, repeat($separator, $item), optional($separator)); }
Now comma-separated lists:
$list = conc(lookfor("("), list_of($Expression), lookfor(")"));
Semicolon-separated statement blocks:
$block = conc(lookfor("{"), list_of($Statement, lookfor(";")), lookfor("}"));
Next | Copyright © 2007 M. J. Dominus |