Re: LL(1) vs LALR(1) parsers

mparks@oz.net (Michael Parkes)
Wed, 29 Nov 1995 09:37:52 GMT

          From comp.compilers

Related articles
[8 earlier articles]
Re: LL(1) vs LALR(1) parsers elliottc@logica.com (1995-11-24)
Re: LL(1) vs LALR(1) parsers jgj@ssd.hcsc.com (1995-11-28)
Re: LL(1) vs LALR(1) parsers will@ccs.neu.edu (1995-11-28)
Re: LL(1) vs LALR(1) parsers ddean@dynastar.cs.princeton.edu (1995-11-28)
Re: LL(1) vs LALR(1) parsers napi@ms.mimos.my (1995-11-28)
Re: LL(1) vs LALR(1) parsers ok@cs.rmit.edu.au (1995-11-29)
Re: LL(1) vs LALR(1) parsers mparks@oz.net (1995-11-29)
Re: LL(1) vs LALR(1) parsers jmccarty@spdmail.spd.dsccc.com (1995-11-29)
Re: LL(1) vs LALR(1) parsers pardo@cs.washington.edu (1995-11-29)
Re: LL(1) vs LALR(1) parsers CSPT@giraffe.ru.ac.za (Pat Terry) (1995-11-30)
Re: LL(1) vs LALR(1) parsers gvcormac@plg.uwaterloo.ca (Gord Cormack) (1995-12-01)
Re: LL(1) vs LALR(1) parsers bridges@cs.arizona.edu (1995-12-01)
Re: LL(1) vs LALR(1) parsers mparks@oz.net (1995-12-09)
[7 later articles]
| List of all articles for this month |

Newsgroups: comp.compilers
From: mparks@oz.net (Michael Parkes)
Keywords: LL(1), LALR, parse
Organization: Sense Networking Seattle (www.oz.net)
References: 95-11-051 95-11-086 95-11-201
Date: Wed, 29 Nov 1995 09:37:52 GMT

>For programming language parsing, the most important factor is
>probably that an LR parser can recognise a syntax error in the input
>stream as soon as it is possible to do so. This makes error message
>output *much* easier.


I am afraid I must strongly disagree for the following reasons:


1. As you say this only applies to syntax errors. For semantic
      errors the opposite applies. An LL parser with attributes
      can find the error as soon as possible and parse a larger
      grammar because the parse can be controlled by the attributes.


2. Error messages produced by LR grammars usually do not know the
      full error context and hence are often in-exact.


3. LL grammars are generally easier to develop, test and
      maintain. A number of tools provide automatic grammar verification,
      automatic error detection and correction, etc. This is made a
      lot easier due to the nature of LL grammars.


What I am trying to say is PRACTICALLY (based on use of both types) that
LL gives a better all-round result.


Regards


Mike


PS. Don't bother to flame me unless you have worked on at least
3 totally different compilers and have first hand experience of this
area.
--


Post a followup to this message

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