Sorry for the tl;dr - last post for today...
It occurs to me that we might be able to prove that the language is
something like "non-deterministic LR(1)". A non-deterministic LR parser
could have shift entries in it's parsing table pointing to more than one
state. When it hits a cell like that, it spawns as many additional parsers
as it needs to simultaneously occupy those states.
To parse short-functions, there's some cell in our NLR parsing table under
the column for "(" that has more than one target state. One state would
correspond to "I'm parsing an ( Expression )" and the other would
correspond to "I'm parsing a ( FormalParameterList )". I bet we could
prove that our NLR parser only constructs one valid parse tree for any
string in the language.
kevin
_______________________________________________
es-discuss mailing list
[email protected]
https://mail.mozilla.org/listinfo/es-discuss