LR(1) parser generator for Rust
LALRPOP is a Rust parser generator framework with usability as its primary goal. You should be
able to write compact, DRY, readable grammars. To this end, LALRPOP offers a number of nifty
* Nice error messages in case parser constructor fails.
* Macros that let you extract common parts of your grammar. This means you can go beyond
simple repetition like Id* and define things like Comma<Id> for a comma-separated list
* Macros can also create subsets, so that you easily do something like Expr<"all"> to
represent the full range of expressions, but Expr<"if"> to represent the subset of
expressions that can appear in an if expression.
* Builtin support for operators like * and ?.
* Compact defaults so that you can avoid writing action code much of the time.
* Type inference so you can often omit the types of nonterminals.