Related articles |
---|
Writing a recursive descent parser in C bilbo@volcanomail.com (2001-11-29) |
Re: Writing a recursive descent parser in C spinoza1111@yahoo.com (2001-12-03) |
Re: Writing a recursive descent parser in C joachim_d@gmx.de (Joachim Durchholz) (2001-12-07) |
Re: Writing a recursive descent parser in C lingolanguage@hotmail.com (Bill Rayer) (2001-12-07) |
Re: Writing a recursive descent parser in C dr_feriozi@prodigy.net (SLK Parsing) (2001-12-07) |
Re: Writing a recursive descent parser in C alexc@world.std.com (2001-12-11) |
Re: Writing a recursive descent parser in C spinoza1111@yahoo.com (2001-12-11) |
From: | SLK Parsing <dr_feriozi@prodigy.net> |
Newsgroups: | comp.compilers |
Date: | 7 Dec 2001 23:43:24 -0500 |
Organization: | Prodigy Internet http://www.prodigy.com |
References: | 01-11-146 01-12-008 |
Keywords: | parse, LL(1) |
Posted-Date: | 07 Dec 2001 23:43:24 EST |
This detailed description of how to construct a recursive descent
compiler is a good argument for using a parser generator. The amount
of hand coding that is essentially just trivial bookkeeping is
staggering. A table-driven top-down parser generator like SLK handles
the parsing details, freeing the programmer to concentrate on code
generation. The table-driven aspect means in part that the recursion
is implemented explicitly using a stack, rather than by using the
recursive feature of a programming language. Since it is top-down, the
flow is the same as recursive descent, so easily understood. SLK has
automatic detection of terminals, and other features that make it easy
to learn to use. Basically just write the BNF grammar in almost any
commonly used syntactic format, debug it, and then begin inserting
semantic actions to start generating code. (After writing the scanner
and symbol table manager.)
Note that SLK supports full backtracking under fine grained programmer
control. Actions are not excecuted during this process, so there is no
need to worry about backing out.
Both commercial and shareware versions of SLK are available at
http://pages.prodigy.net/dr_feriozi. Recursive descent programmers are
welcome to use SLK to validate their grammar.
Return to the
comp.compilers page.
Search the
comp.compilers archives again.