first commit

This commit is contained in:
douboer
2025-09-17 16:08:16 +08:00
parent 9395faa6b2
commit 3ff47c11d5
1318 changed files with 117477 additions and 0 deletions

View File

@@ -0,0 +1,28 @@
###
### 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;
}
);
}