Re: simple vs. complex parsers

bs@research.att.com (Bjarne Stroustrup)
18 May 2003 23:55:58 -0400

          From comp.compilers

Related articles
[9 earlier articles]
Re: simple vs. complex parsers cfc@world.std.com (Chris F Clark) (2003-04-27)
Re: simple vs. complex parsers joachim_d@gmx.de (Joachim Durchholz) (2003-05-05)
Re: simple vs. complex parsers bobduff@shell01.TheWorld.com (Robert A Duff) (2003-05-15)
Re: simple vs. complex parsers cfc@shell01.TheWorld.com (Chris F Clark) (2003-05-18)
Re: simple vs. complex parsers schmitz@essi.fr (Sylvain Schmitz) (2003-05-18)
Re: simple vs. complex parsers mal@wyrd.be (Lieven Marchand) (2003-05-18)
Re: simple vs. complex parsers bs@research.att.com (2003-05-18)
Re: simple vs. complex parsers nmm1@cus.cam.ac.uk (2003-05-23)
Re: simple vs. complex parsers bs@research.att.com (2003-05-23)
Re: simple vs. complex parsers antkaij@mit.jyu.fi (Antti-Juhani Kaijanaho) (2003-05-24)
| List of all articles for this month |
From: bs@research.att.com (Bjarne Stroustrup)
Newsgroups: comp.compilers
Date: 18 May 2003 23:55:58 -0400
Organization: http://groups.google.com/
References: 03-02-125 03-02-147 03-03-043 03-03-061 03-03-103 03-04-006 03-04-028 03-04-046 03-04-066 03-04-116 03-05-103 03-05-145
Keywords: parse, C++
Posted-Date: 18 May 2003 23:55:58 EDT

Chris F Clark <cfc@shell01.TheWorld.com> wrote
> Robert A Duff <bobduff@shell01.TheWorld.com> writes:
>> Me:
> > > To me this clearly indicates the the original C++ translator was
> > > written with a hand-written recursive-descent parser.
>
> Bob:
> > Does anybody here know if it was? I have no idea.


In general, you can find answers to questions like that in Stroustrup:
"The Design and Evolution of C++".


The parser of the original C++ front-end, Cfront, was generated by a
(LR(1))parser generator, yacc. However, the original C parser was
hand-written recursive decent with an operator precedence parser for
expresions.
[If you used yacc, how'd you end up with ambiguous syntax? -John]



Post a followup to this message

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