Related articles |
---|
LL(1) vs LALR(1) parsers oaolsen@login.eunet.no (Odd Arild Olsen) (1995-11-04) |
Re: LL(1) vs LALR(1) parsers krish@cs.purdue.edu (Saileshwar Krishnamurthy) (1995-11-09) |
Re: LL(1) vs LALR(1) parsers sc@iaxp01.inf.uni-jena.de (Sebastian Schmidt) (1995-11-10) |
Re: LL(1) vs LALR(1) parsers the_tick@access5.digex.net (1995-11-10) |
Re: LL(1) vs LALR(1) parsers parrt@lonewolf.parr-research.com (1995-11-14) |
Re: LL(1) vs LALR(1) parsers simmons@bnr.ca (steve (s.s.) simmons) (1995-11-15) |
Re: LL(1) vs LALR(1) parsers parrt@parr-research.com (Terence John Parr) (1995-11-20) |
Re: LL(1) vs LALR(1) parsers bill@amber.ssd.hcsc.com (1995-11-22) |
[20 later articles] |
Newsgroups: | comp.compilers |
From: | Saileshwar Krishnamurthy <krish@cs.purdue.edu> |
Keywords: | parse, LL(1), LALR |
Organization: | Compilers Central |
References: | 95-11-051 |
Date: | Thu, 9 Nov 1995 22:17:26 GMT |
Odd Arild Olsen <oaolsen@login.eunet.no> writes:
Odd> grammars, but many languages can be described by LL(1)
Odd> grammars. If LL(1) can yield faster, smaller and more
Odd> understandable parsers with better error handling for
Odd> many languages, why isn't this method more elaborated?
As I understand it:
A standard (easily understandable) grammar of a typical programming
language often isn't LL(1). However normally after eliminating
left-recursion and left-factoring (and other transformations) the
grammar can be converted to one that is LL(1). However these
transformtations make the new grammar pretty difficult to understand.
So while the parser may be reasonably easy to understand, it becomes
difficult to use that grammar and embed semantic routines in it -
'coz the original version will probably be what is most intuitive.
However most standard grammars will not need conversion to make them
LR.
Also parser-controlled semantic stacks mesh excellently with LR
parsers, and are pretty much a pain for LL parsers (In LL parsers,
the semantic stack cannot grow in parallel with the parse stack)
Odd> the various Small-C compilers were recursive
Odd> descending. Which common languages can not be parsed by
Odd> LL(1) grammars?
They can be parsed perhaps, but the final LL(1) grammar that
corresponds to the language will probably not be so intuitively
obvious. Whoops, I find it difficult to convince myself whenever I
eliminate left-recursion for a toy grammar !
--
Return to the
comp.compilers page.
Search the
comp.compilers archives again.