van Wijngaarden grammars
WB Kloke
wb@pkeus.de
Fri Mar 7 18:46:27 GMT 2025
> Why not tokenizing protonotions rather than small syntactic marks?
The problem is, I don't understand the program enough to make big
changes. The Fisher-parser operates on metanotions and ssms.
Checkll1 computes starter sets for each alternative by setting a
bit for 1st ssm in each and checks, that these are disjoint. So the
number of ssms should fit into a machine word. Today we may safely
assume that 64 bits are available.
My 1st idea to do it was to compute a list of all tokens occurring
in the a68 grammar, by using blanks as delimiters. But this list
was about 700 or more long, even after exclusion of formatted
transput. Some of this bloat comes from the metanotions MONAD and
NOMAD. Even some modes in metanotion STANDARD, don't appear elsewhere
in the grammar.
But before I tackle these things, I must know whether it is worth the
trouble. So, the next step after the metanotion LL(1)-problem is the
application of a small subset of hypernotions excluding some of the
peculiar features like UNITED mode or FLEX rows, composed operator
tags and so on.
BTW. I found one other guy working with the Fisher parser:
https://github.com/vonbecmann/fisher-parser
I don't know enough about smalltalk to appreciate his work, and I did
not find out, on which grammars he intended to apply.
More information about the Algol68
mailing list