Related articles |
---|
Table-driven top-down parsing uucp (1986-12-10) |
Newsgroups: | mod.compilers |
From: | uucp (uucp user) |
Date: | Wed, 10 Dec 86 09:46:07 est |
At the end of article <284@ima.UUCP> [by Ken Yap <ken@rochester.arpa>]
our moderator suggests:
>Most recursive descent compilers are written by hand, ... I'd rather let
>yacc do the work for me. Yacc can parse anything with enough help ...
Top-down, of course, does not necessarily mean recursive descent.
There exist very good generators for table-driven LL(1) [actually SLL(1)]
parsers. Most (though not all) modern languages have usable LL(1)
grammars, and an LL(1) parser has the following very nice properties:
- Very small tables (typically half the size of SLR tables
for the same language)
- Very clean semantics -- easily-understood algorithm and
data structures
- Ability to embed semantic routines at arbitrary locations
within the right-hand side of a production
- Extremely simple algorithm (Fischer-Milton-Quiring) for
high-quality, fully automatic syntactic error correction
Michael L. Scott
University of Rochester (716) 275-7745
scott@rochester.arpa
{decvax, allegra, seismo, cmcl2}!rochester!scott
scott%rochester@CSNET-RELAY
Return to the
comp.compilers page.
Search the
comp.compilers archives again.