Hybrid LR and LL parser tools?

Dennis Brueni <brueni@csgrad.cs.vt.edu>
Wed, 20 May 1992 16:52:56 GMT

          From comp.compilers

Related articles
Hybrid LR and LL parser tools? brueni@csgrad.cs.vt.edu (Dennis Brueni) (1992-05-20)
Re: Hybrid LR and LL parser tools? ipser@solomon.technet.sg (1992-05-21)
Parsing Roman numbers joe@erix.ericsson.se (1992-05-22)
Re: Parsing Roman numbers henry@zoo.toronto.edu (1992-05-24)
| List of all articles for this month |

Newsgroups: comp.compilers
From: Dennis Brueni <brueni@csgrad.cs.vt.edu>
Keywords: LL(1), LR(1)
Organization: Compilers Central
Date: Wed, 20 May 1992 16:52:56 GMT

All this talk about LR vs. LL parsing convinces me that each has its own
merits and best applications. For example, a popular design for compilers
is to use a table-driven LR(0) grammar for expressions, and hand-coded LL
(recursive descent) for the rest of the language constructs. This has
proven to produce very fast, simple parsers.

The disadvantage is the labor involved in constructing such a parser,
since not only do you have to hand code the recursive descent component,
but it then must be integrated with the LR component. Definitely not
appropriate for prototyping.

So naturally the question follows:

      "What tools exist for generating hybrid parsers automatically?"

>From the limited number of things I know, correct me if I am wrong, yacc
produces LR(1) parsers, pccts produces LR(k), ell produces LL(1), lalr
produces LR(1), etc. I know of no parser generater which will produce a
hybrid parser as I describe above.

Thanks in advance,

--Dennis Brueni brueni@cstheory.cs.vt.edu
[yacc and lalr produce LALR parsers, similar to LR(1). -John]

Post a followup to this message

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