|[18 earlier articles]|
|Re: LL(1) vs LALR(1) parsers email@example.com (Gord Cormack) (1995-12-01)|
|Re: LL(1) vs LALR(1) parsers firstname.lastname@example.org (1995-12-01)|
|Re: LL(1) vs LALR(1) parsers email@example.com (1995-12-09)|
|Re: LL(1) vs LALR(1) parsers firstname.lastname@example.org (1995-12-09)|
|Re: LL(1) vs LALR(1) parsers email@example.com (Michael Sperber [Mr. Preprocessor]) (1995-12-09)|
|Re: LL(1) vs LALR(1) parsers firstname.lastname@example.org (1995-12-12)|
|Re: LL(1) vs LALR(1) parsers email@example.com (1995-12-16)|
|Re: LL(1) vs LALR(1) parsers firstname.lastname@example.org (1995-12-17)|
|Re: LL(1) vs LALR(1) parsers email@example.com (Scott Stanchfield) (1995-12-18)|
|Re: LL(1) vs LALR(1) parsers G.A.Tijssen@eco.RUG.NL (Gert A. Tijssen) (1995-12-19)|
|From:||firstname.lastname@example.org (Ken Walter)|
|Date:||16 Dec 1995 23:50:18 -0500|
|References:||95-11-051 95-11-138 95-11-195 95-11-231|
|Keywords:||LL(1), LALR, errors, parse|
:>What is this ?. I have used both LL & LALR based tools and this
:>experience has convinced me never to use an LALR tool again. The
:>trouble with LALR tools is simple. An LALR parser has no idea about
:>the context of the syntatic structure. Hence, this leads to two
:>massive problems. (1). Writing an LALR parser needs to be done with a
:>bottom up thought process which is unnatural (well it is for me
:>anyway). (2). The error detection has no idea of the context so it
:>can't select a natural recovery point and the error meesages produced
:>are consequently usually poor.
:>In summary, LL error recovery is vastly better than LALR. ...
You must have had a very poor implementation. I've worked with a
LALR(k) parser and found it much better than the LL(k) junk over all.
Any parser must address the error recovery problem. My LALR gave a
list of expected tokens and a list a productions in progress. The
parse tables could actual be used to produce a insert or delete
current token to continue the parse. Even recursive decent parsers
have problems recovering if the problem is not addressed.
Return to the
Search the comp.compilers archives again.