What advantage does a parser generator provide over a parser combinator library like nom?
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.