Generalized LR



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 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.

Sdf.GeneralizedLR moved from Tools.GeneralizedLR on 30 Jan 2004 - 16:38 by MartinBravenboer - put it back