LL and LR in Context: Why Parsing Tools Are Hard (2013)
&gt; While rolling your own parser will free you from ever getting error messages from your parser generator, it will also keep you from learning about ambiguities you may be inadvertently designing into your language.<p>I tried several time to explain why I think people should use parser generators and the conclusion of this article express my point of view perfectly. The fact that we have a very good parser generator in OCaml (and Coq!)[1] really helps here.<p>I still think that ambiguities of the third kind, &quot;Type&#x2F;variable ambiguity&quot;, are a design issue and your grammar should be changed, because it&#x27;s going to be completely ambiguous for humans too.<p>[1]: <a href="http:&#x2F;&#x2F;gallium.inria.fr&#x2F;~fpottier&#x2F;menhir&#x2F;" rel="nofollow">http:&#x2F;&#x2F;gallium.inria.fr&#x2F;~fpottier&#x2F;menhir&#x2F;</a>