[comp.compilers] Recursive-descent parser generator wanted

abakus%uklirb@unido.uucp (AG Hartenstein-UNI KL-FRG) (02/12/88)

I am looking for a parser-generator, which generates recursive-descent parsers
in PASCAL. Some time ago I saw a note about such a program named LILA, which
has been implemented at the Katholieke Universiteit Leuwen.

If anybody knows which person I have to contact to get this program, I would
be very thankful, if he would mail me the adress.

If you know about other parser-generators, which work in the same way, I
would be interested in information about these systems, too.

Many thanks in advance,

   Michael Ryba

Dipl.-Inform. Michael Ryba           phone:   +49 631 205-2892
Kaiserslautern University            e-mail:  abakus%uklirb@unido.uucp
Dept. of Computer Science
P.O. Box 3049
D-6750 Kaserslautern, F.R.G.
[At the risk of much flamage, I'd be interested in comments about why one
might prefer an R.D. parser generator to an LR one.  We've beaten error
recovery to death, unless someone has something genuinely new.  -John]
--
Send compilers articles to ima!compilers or, in a pinch, to Levine@YALE.EDU
Plausible paths are { ihnp4 | decvax | cbosgd | harvard | yale | bbn}!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

irving@cgl.ucsf.edu (Irving Reid) (02/26/88)

In article <887@ima.ISC.COM> the moderator remarks:
>[At the risk of much flamage, I'd be interested in comments about why one
>might prefer an R.D. parser generator to an LR one.  We've beaten error
>recovery to death, unless someone has something genuinely new.  -John]

One of my reasons for choosing R-D parsers is the ease of writing semantics
using full attribute handling.  I have some ideas about how a lazy
programming language (like Miranda) might allow inherited attributes in an
LR parser, but until that day I'll stick to R-D for anything that has
relatively tricky semantics (read this as: anything much beyond creating a
parse tree)

 - irving -
[From blia.UUCP!irving@cgl.ucsf.edu (Irving Reid)]
--
Send compilers articles to ima!compilers or, in a pinch, to Levine@YALE.EDU
Plausible paths are { ihnp4 | decvax | cbosgd | harvard | yale | bbn}!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

scott@BBN.COM (Michael Scott) (03/18/88)

| [At the risk of much flamage, I'd be interested in comments about why one
| might prefer an R.D. parser generator to an LR one.  We've beaten error
| recovery to death, unless someone has something genuinely new.  -John]

Let's tackle the easy question first: why might one prefer an LL parser to
an LR one.  Answer:
    (1) because the table sizes are a lot smaller
    (2) because many people find the parsing technique a lot more intuitive
    (3) because it lets you put action routines anywhere you want
        to in your grammar
    (4) because it is amenable to very simple, high-quality, automatic
        syntactic error recovery (ala Fischer, Milton, and Quiring)

Now the harder question: why might one prefer recursive descent [John's
note was in response to a request for tools to build recursive descent
parsers automatically].  Possible answers:
    (1) because you can look at the parser and really *see* what it's doing
    (2) because you can modify it even if you don't have the parser
        generator available (this might actually be a concern if you
        want to distribute the parser with source, but without the tools)
    (3) because it might conceivably run a little faster, just as
        "compiled" scanner tables (implemented with gotos) run faster
        than table-driven lex
        
Of course, the recursive descent parser will be larger than the table-driven
LL parser, and it won't support FMQ error recovery.
-- 
Michael L. Scott
University of Rochester    (716) 275-7745
scott@cs.rochester.edu     scott%rochester@CSNET-RELAY
{decvax, allegra, cmcl2}!rochester!scott
--
Send compilers articles to ima!compilers or, in a pinch, to Levine@YALE.EDU
Plausible paths are { ihnp4 | decvax | cbosgd | harvard | yale | bbn}!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