I have to say I don’t fully see the advantage of parser generators at all, they seem too magical. Is there something inherently wrong with parser combinator libraries for parsing a language? I could potentially see that it might be easier to make large scale changes to a parser generator.
This is why I like them, I write my grammar and I get AST, no coding involved. One of benefits is that library may improve with time in terms of speed or error messages, and I won’t have to do anything to get that, so +1 for lalrpop from me.
I am using it and had no problems with it, though I’d love to see ANTLR supporting Rust.
I’m currently using nom in a project that involves parsing programming language source code:
I’m quite happy with nom for now, the documentation could be better (and I’ll try to also work on it). If you want to help improve it join the discussion here:
Since I was just asking myself the same question, I looked around for articles on the topic. I can recommend this article on the differences between parser combinators and parser generators. It helped me a lot to make an informed decision.