LALRPOP, an LR(1) parser generator for Rust
github.com
github.com
Perhaps the output won't be so smart if its only building the parser element by element rather than seeing the full picture. Also grammers like `"(" Term ")"` would probably be implemented as a struct and that's a bit less developer friendly to quickly code. (Although it could be tuple `(LParen, Term, RParen)` which isn't too far off)
Maybe I'll take a deeper look into the code when I have some free time, but I think I would prefer a proc macro based system
Combinators excel best for relatively simply regular languages (eg., json, html, etc.).
Languages with lots of "modality" in parsing, ie., context switching, are easier to express in generator-form (eg., antlr).
Some of the main downsides of LR parsers are that you need to use a parser generator and you have to know how to resolve possible shift/reduce conflicts. It's more complicated than top down parser, which is just a bunch of regular recursive functions.
If only issue [1] would be fixed, it would make it much better.