| 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 |