Re: Production missing on page 9 of Compiler Construction

Adrian Devries <adrian.devries@t-online.de>
Sun, 02 Sep 2007 17:37:12 +0200

          From comp.compilers

Related articles
Production missing on page 9 of Compiler Construction pupeno@pupeno.com (pupeno@pupeno.com) (2007-08-31)
Re: Production missing on page 9 of Compiler Construction DrDiettrich1@aol.com (Hans-Peter Diettrich) (2007-09-01)
Re: Production missing on page 9 of Compiler Construction adrian.devries@t-online.de (Adrian Devries) (2007-09-02)
Re: Production missing on page 9 of Compiler Construction torbenm@app-7.diku.dk (2007-09-03)
| List of all articles for this month |

From: Adrian Devries <adrian.devries@t-online.de>
Newsgroups: comp.compilers
Date: Sun, 02 Sep 2007 17:37:12 +0200
Organization: T-Online
References: 07-08-095
Keywords: books, parse
Posted-Date: 03 Sep 2007 21:29:35 EDT

pupeno@pupeno.com schrieb:
> I'm reading Compiler Construction, by Niklaus Wirth, available on
> http://www.oberon.ethz.ch/WirthPubl/CBEAll.pdf and on page 9 he shows
> this little piece of BNF:
>
> E = T | A "+" T.
> T = F | T "*" F.
> F = V | "(" E ")".
> V = "a" | "b" | "c" | "d".

> A is being used on the right hand side without it being defined on the
> left hand side first. What am I missing?

Hello,

I think, it is an erratum. Solution: Within the production 'E = T | A
"+" T.' replace 'A' by 'E'.

The sentence above the cited section reads as follows:

"The symbols E, T, F, and V stand for expression, term, factor, and
variable."

Please confer the german edition of the referenced paper:

Wirth, Niklaus:
Grundlagen und Techniken des Compilerbaus / Niklaus Wirth. -
Bonn; Paris [u. a.]: Addison-Wesley, 1996
ISBN 3-89319-931-4

On page 6 you will find the following productions:

"(...) Die Symbole A, T, F und V stehen f|r Ausdruck, Term, Faktor und
Variable.

A = T | A "+" T.
T = F | T "*" F.
F = V | "(" A ")".
V = "a" | "b" | "c" | "d".

(...)"

Regards,
Adrian Devries


Post a followup to this message

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