Files
devops/perl/Examples/Chap8/operator-singleop
2025-09-17 16:08:16 +08:00

29 lines
673 B
Plaintext

###
### operator-singleop
###
## Chapter 8 section 4.4
sub operator {
my ($subpart, $op, $opfunc) = @_;
# Build and return parser like the one above
T(concatenate($subpart, star(T(concatenate($op,
$subpart),
sub {
my $subpart_value = $_[1];
sub { $opfunc->($_[0], $subpart_value };
}),
)),
sub { my ($total, $funcs) = @_;
for my $f (@$funcs) {
$total = $f->($total);
}
$total;
}
);
}