Re: Generating parse-table for table-driven EBNF parser.

Juergen Kahrs <jkahrs@castor.atlas.de>
11 Sep 1999 09:04:09 -0400

          From comp.compilers

Related articles
Generating parse-table for table-driven EBNF parser. djast@my-deja.com (1999-09-10)
Re: Generating parse-table for table-driven EBNF parser. torbenm@diku.dk (Torben Mogensen) (1999-09-11)
Re: Generating parse-table for table-driven EBNF parser. jkahrs@castor.atlas.de (Juergen Kahrs) (1999-09-11)
| List of all articles for this month |
From: Juergen Kahrs <jkahrs@castor.atlas.de>
Newsgroups: comp.compilers
Date: 11 Sep 1999 09:04:09 -0400
Organization: STN Atlas Elektronik GmbH SLE1
References: 99-09-038
Keywords: parse

djast@my-deja.com wrote:


> I've written a recursive-descent EBNF parser to read in language-
> definitions, with the goal of generating parsers for these languages.
> So as the recursive-descent parser is processing the definition, I
> need to build up some appropriate internal-representation of it which
> I can then process in order to create the parse-table for a
> table-driven parser for that language. I know this should be pretty
> straight- forward but the books I've got don't have information on
> _generating the table for a table-driven EBNF parser_. I was


Niklaus Wirth uses the same approach in his books on compiler
construction. At least the german edition describes the data
structure for storing the EBNF spec and how traverse it in a
parser:


    http://www.cs.inf.ethz.ch/~wirth/books/Compilerbau0/


The advantage of Wirth's implementation usually is that he states
and solves the problem as short and simple as possible.
I am not quite sure if the english edition also presents this
general EBNF parser:


    http://www.awl-he.com/titles/10918.html




+---------------------------------------------------------------------+
| Juergen Kahrs, STN Atlas Elektronik GmbH, D-28305 Bremen |
| Simulation Division Sebaldsbruecker Heerstr. 235 +49/421/457-2819 |
+----------- http://home.t-online.de/home/Juergen.Kahrs/ -------------+


Post a followup to this message

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