Skip to content

Latest commit

 

History

History
18 lines (11 loc) · 925 Bytes

README.md

File metadata and controls

18 lines (11 loc) · 925 Bytes

Gruffalo

Parser generator.

The Gruffalo

Based on the RNGLR algorithm described in the paper Right Nulled GLR Parsers (Elizabeth Scott & Adrian Johnstone, ACM, 2006).

RNGLR parsers accept any context-free grammar, while still being (nearly?) as fast as LR parsers (e.g. yacc).

See also

  • Elkhound (C++) is a "hybrid" GLR/LR parser, which uses the LR algorithm when the input & grammar are (locally) deterministic.
  • Bison now has a stack-splitting GLR mode (but I believe doesn't merge identical stacks, so can explode)
  • ANTLR4 is pretty fast, and seems to have nice tooling (uses an "approximation" to LL(k)). But its support for ambiguous grammars is very young.