A Backtracking LR(1) Parser Generator
The latest version is 5.3.1, released March 21, 2002.
Here are the changes since the initial release.
- Generates a parser that is aware of the lexical state at all times.
The lexical state can be used by the lexer to tokenize context sensitive tokens.
- Generates LR(1) states only as needed. Default reductions are used
to keep the number of states to a minimum.
- Supports directed parsing on conflicts. Shift and reduce actions can be ordered arbitrarily.
The ordering is independent of the position of the rules in the grammar file.
- Semantic actions can direct parsing. A semantic predicate can cause the parser
- Supports multiple start states.
- Multiple parsers can coexist in a program.
- Supports several syntax error recover strategies. Strategies can be given at parser run-time.
- Parser creates an AST automatically.
- Semantic actions are integrated using the Visitor pattern. The grammar file contains rules and
node names only.
- Supports synthesized attributes.
- Generates lzz code.
- Includes a parser simulator.
Please send questions, comments and bug reports to Michael Spencer.
lzz is available here.