Closed msujew closed 2 years ago
Refactors major parts of the LL(*) feature, adding new features:
ATNSimulator
Keep the old static ambiguity analysis for LL(k) decisions, where k < maxLookahead. For example, such an ambiguity can be easily identified statically:
k < maxLookahead
OR([{ DEF: () => this.CONSUME1(A) }, { DEF: () => this.CONSUME2(A) }])
Refactors major parts of the LL(*) feature, adding new features:
ATNSimulator
into a parser traitFood for thought
Keep the old static ambiguity analysis for LL(k) decisions, where
k < maxLookahead
. For example, such an ambiguity can be easily identified statically: