At the end of article <2...@ima.UUCP> [by Ken Yap <k...@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
sc...@rochester.arpa
{decvax, allegra, seismo, cmcl2}!rochester!scott
scott%rochester@CSNET-RELAY
--
Send compilers mail to ima!compilers or, in a pinch to Lev...@YALE.EDU
Plausible paths are { ihnp4 | decvax | cbosgd | harvard | yale | bbncca}!ima
Please send responses to the originator of the message -- I cannot forward
mail accidentally sent back to compilers. Meta-mail to ima!compilers-request