Related articles |
---|
C++ intermediate representation. shakti.misra@wipro.com (DeltaOne) (2005-05-05) |
Re: C++ intermediate representation. angray@beeb.net (Aaron Gray) (2005-05-13) |
Re: C++ intermediate representation. cfc@shell01.TheWorld.com (Chris F Clark) (2005-05-14) |
Re: C++ intermediate representation. henry@spsystems.net (2005-05-14) |
RE: C++ intermediate representation. quinn-j@shaw.ca (Quinn Tyler Jackson) (2005-05-14) |
Re: C++ intermediate representation. angray@beeb.net (Aaron Gray) (2005-05-14) |
Re: C++ intermediate representation. ralphpboland@yahoo.com (Ralph Boland) (2005-05-14) |
Re: C++ intermediate representation. cfc@shell01.TheWorld.com (Chris F Clark) (2005-05-14) |
Re: C++ intermediate representation. gsc@zip.com.au (Sean Case) (2005-05-14) |
Re: C++ intermediate representation. robert.hundt@gmail.com (Robert H) (2005-05-15) |
[9 later articles] |
From: | henry@spsystems.net (Henry Spencer) |
Newsgroups: | comp.compilers |
Date: | 14 May 2005 01:25:28 -0400 |
Organization: | SP Systems, Toronto, Canada |
References: | 05-05-023 05-05-068 |
Keywords: | C++ |
Posted-Date: | 14 May 2005 01:25:28 EDT |
Aaron Gray <angray@beeb.net> wrote:
>Parsing C++ properly is no mean feat. C++'s grammar is ambiguous...
>The new GCC's 3.4.x and 4.0 both use recursive descent with
>backtracking parser technology rather than LALR(1) or Generalized LR.
In his "The Design and Evolution of C++", Stroustrup says that he let
Aho and Johnson talk him out of writing his own recursive-descent
parser for C++... and he now thinks that was a big mistake.
Even C doesn't really get along well with bottom-up parsing -- after
over ten years of trying, the grammar in the 1989 ANSI C standard was
the *first* correct LALR(1) C grammar (no, the one in PCC wasn't
correct, it mishandled various unusual cases) -- and C++ is an order
of magnitude worse.
--
"Think outside the box -- the box isn't our friend." | Henry Spencer
-- George Herbert | henry@spsystems.net
Return to the
comp.compilers page.
Search the
comp.compilers archives again.