I want to create a really simple language that compiles to SPIRV. Today I had a look at various parser libraries.
But then I found out that the author of combine also works on a language https://github.com/gluon-lang/gluon. Interestingly he chose https://github.com/nikomatsakis/lalrpop over his own parsing library. There is also https://github.com/PistonDevelopers/meta and https://github.com/kevinmehall/rust-peg for parsor generators.
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.
Which library would you choose and why?