<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
  <head>
    <meta content="text/html; charset=ISO-8859-1"
      http-equiv="Content-Type">
  </head>
  <body bgcolor="#ffffff" text="#000000">
    On 10/21/2011 09:28 AM, Owen Anderson wrote:
    <blockquote cite="mid:CBCB3A69-FA3F-48C7-8B66-2D4B1C7275AD@mac.com"
      type="cite">
      <meta http-equiv="Content-Type" content="text/html;
        charset=ISO-8859-1">
      Reed,
      <div><br>
        <div>
          <div>On Oct 20, 2011, at 9:47 AM, Reed Kotler wrote:</div>
          <blockquote type="cite">
            <div>I would like to see the many adhoc parsers in LLVM get
              replaced by ones <br>
              generated from grammars.<br>
            </div>
          </blockquote>
        </div>
      </div>
      <div><br>
      </div>
      <div>FYI, this is very unlikely to happen.  The parsers in LLVM <i>were</i>
        historically generated from grammars (bison, as I recall), and
        those implementations were removed in favor of hand-written
        implementations both because the latter were significantly
        easier to maintain, and because they were much better suited to
        offer reasonable diagnostics.  Any plan to reverse that
        decisions is likely to meet a lot of resistance.</div>
      <div><br>
      </div>
      <div>--Owen</div>
    </blockquote>
    I'm not planing to use Bison or YACC or Antlr. I stated that in my
    email.<br>
    <br>
    Don't assume that I'm an idiot although it's a possibility. I've
    been doing compilers off and on for 35 years now. Ideas in computer
    science are like fashion in clothes; if you wait around long enough
    then everything comes back into fashion. All the web and flow of how
    people do things in compilers has already come and gone many times.<br>
    <br>
    Right now it's pretty easy to crash tablegen if you have table
    errors, for example. That is not exactly giving reasonable
    diagnostics.<br>
    <br>
    It's very hard to write hand written parsers even for simple
    languages and not have lots of problems.<br>
    This is compounded over time as things change.<br>
    <br>
    Hopefully what I do will meet with acceptance. I'll take that
    chance.<br>
    <br>
    Reed<br>
    <br>
  </body>
</html>