title: Do production compilers use parser generators?
body: <p>I've heard that "real compiler writers" roll their own handmade parser rather than using parser generators.  I've also heard that parser generators don't cut it for real-world languages.  Supposedly, there are many special cases that are difficult to implement using a parser generator.  I have my doubts about this:</p>
  
  <ol>
  <li>Theoretically, a GLR parser generator should be able to handle most programming language designs (except maybe C++...)</li>
  <li>I know of at least one production language that uses a parser generator: Ruby [1].</li>
  <li>When I took my compilers class in school, we used a parser generator.</li>
  </ol>
  
  <p>So my question: Is it reasonable to write a production compiler using a parser generator, or is using a parser generator considered a poor design decision by the compiler community?</p>
  
  <p>[1] <a href="https://github.com/ruby/ruby/blob/trunk/parse.y" rel="noreferrer">https://github.com/ruby/ruby/blob/trunk/parse.y</a></p>