Introduction
A parsing algorithm that maintains multiple LR parsing states in parallel.
From
Object Oriented Tree Traversal With JJForester :
GeneralizedLR parsing removes the restriction to a non-ambiguous subclass of the context-free grammars, such as the LR(k) class. This allows a maximally natural expression of the intended syntax; no more need for `bending over backwards' to encode the intended grammar in a restricted subclass. Furthermore, generalized parsing leads to better modularity and allows `as-is' syntax reuse.
Implementations
Implementations of GLR using a separate scanner
- ElkHound is GLR parser generator
- Bison includes an GLR parser.
- PyGgy A Python parser generator that generates SLR tables for a GLR parsing engine.
Implementations of
Scannerless Generalized LR
- SGLR is a Scannerless Generalized LR parser
- DParser is Scannerless Generalized LR parser generator.
The maintainers of
Elkhound maintain a list of implementations as well.