Re: compiler compiler compiler
26 Mar 2001 13:51:13 -0500

          From comp.compilers

Related articles
Compiler Compiler Compiler (Daniel C. Wang) (2001-03-22)
Re: Compiler Compiler Compiler (J.H.Jongejan) (2001-03-26)
Re: Compiler Compiler Compiler (Mike Dimmick) (2001-03-26)
Re: Compiler Compiler Compiler (2001-03-26)
Re: compiler compiler compiler (2001-03-26)
Re: Compiler Compiler Compiler (Kevin Szabo) (2001-03-27)
Re: Compiler Compiler Compiler (Trevor Jenkins) (2001-03-27)
Re: Compiler Compiler Compiler (Chris F Clark) (2001-03-27)
Re: Compiler Compiler Compiler (Ingo Dittmer) (2001-03-27)
Re: Compiler Compiler Compiler (2001-03-27)
Re: Compiler Compiler Compiler (2001-03-31)
[7 later articles]
| List of all articles for this month |

Newsgroups: comp.compilers
Date: 26 Mar 2001 13:51:13 -0500
Organization: Compilers Central
References: 01-03-095
Keywords: tools, parse
Posted-Date: 26 Mar 2001 13:51:13 EST

>Just curious, but has there been any research done on
>parser-generators generators? i.e. some magic tool that will take a
>specification of my favorite programming language and produce a yacc
>like parser generator.
>The first non-trivial thing anyone does when they invent a new
>programming language seems to be rewriting yacc so they can bootstrap
>their compiler.

Or maybe a compiler compiler compiler compiler that first invents the
new programming language?

But seriously, C++ is the only programming language that I can think of
that seemed to need a non-traditional parsing method. The relative
proliferation (actually there are very few) of new tools falls mainly
into two categories.

1. Improvements to, or ports of the venerable YACC. (bottom up)
2. LL(k) parser generators. (top down)

The main motivation for number two is summarized on page 273 of Aho and
Ullman's "The Theory of Parsing, Translation, and Compiling."

"When we look at translation, however, the left parse appears more

The gist is that top down syntax directed translation would be
preferable if only it were not so hard to write the grammar for the
language. This mainly applied, I think, to LL(1) grammars. Left
factoring tends to mutilate many LL(1) grammars beyond recognition.
LL(k) greatly reduces the need for left factoring, so it is much easier
to produce a usable grammar.

The SLK parser generator home is

Post a followup to this message

Return to the comp.compilers page.
Search the comp.compilers archives again.