Re: Recursive Descent Parser

biocyn@erols.com
25 Jan 2000 00:06:58 -0500

          From comp.compilers

Related articles
Recursive Descent Parser e8rasmus@etek.chalmers.se (Rasmus Anthin) (2000-01-09)
Re: Recursive Descent Parser world!cfc@uunet.uu.net (Chris F Clark) (2000-01-12)
Re: Recursive Descent Parser biocyn@erols.com (2000-01-25)
Re: Recursive Descent Parser chstapfer@bluewin.ch (Christian Stapfer) (2000-02-10)
Re: Recursive Descent Parser rhyde@shoe-size.com (Randall Hyde) (2000-02-12)
Re: Recursive Descent Parser mklarson@gte.net (Michael Larson) (2000-02-22)
Re: Recursive Descent Parser paulyg@clara.net (2000-02-22)
Re: Recursive Descent Parser world!cfc@uunet.uu.net (Chris F Clark) (2000-02-22)
Re: Recursive Descent Parser fjscipio@rochester.rr.com (Fred J. Scipione) (2000-02-23)
[2 later articles]
| List of all articles for this month |
From: biocyn@erols.com
Newsgroups: comp.compilers
Date: 25 Jan 2000 00:06:58 -0500
Organization: Compilers Central
References: 00-01-027 00-01-032
Keywords: parse, LL(1)

While I do agree with some of your post, I have to disagree with your
insistence on using a parser generator to build parsers (LL(1) is not
that hard when one has a right-recursive grammar and the first/follow
sets.) For many, the reason they are building their own compiler is
because they are going to use it to build their operating system (OS).
In this case, a compiler construction set is a lot of baggage to have
to carry over to the new environment. Not only do all of the tools
have to be carried over, the runtime environment has to to be carried
over as well. Hence, if one is using one of the compiler construction
sets that were developed on the Unix platform, then one needs to
re-invent the Unix runtime environment in order to port the tools over
to the new OS. This dependence on compiler construction sets has led
developers to building yet another variation of Unix instead of
inventing a new OS that incorporates a state-of-the-art runtime
environment.


Mark


P.S. The original poster needs to study attribute inheritance and
synthesization. This topic is covered in detail in chapter five of
the "Dragon Book." (aka Compilers: Principles, Tools, and Techniques
by Aho, Sethi, and Ullman).
[Porting yacc is hardly a daunting task. Berkeley yacc itself is a
highly portable program less than 7000 lines long. Yacc parsers call
yylex() which you provide to get input, they call malloc and realloc
to allocate the parse stack. If you turn on debugging they call
printf to print the debug info. Doesn't sound like much of a runtime
environment to me. -John]







Post a followup to this message

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