Re: LR(1) Parsing : Error Handling & Recovery

Evangelos Drikos <drikosev@otenet.gr>
Thu, 17 Jul 2014 20:15:31 +0300

          From comp.compilers

Related articles
LR(1) Parsing : Error Handling & Recovery seimarao@gmail.com (Seima Rao) (2014-07-10)
Re: LR(1) Parsing : Error Handling & Recovery ivan@ootbcomp.com (Ivan Godard) (2014-07-16)
Re: LR(1) Parsing : Error Handling & Recovery news@fx29.iad.highwinds-media.com (Eric) (2014-07-16)
Re: LR(1) Parsing : Error Handling & Recovery drikosev@otenet.gr (Evangelos Drikos) (2014-07-17)
Re: LR(1) Parsing : Error Handling & Recovery ivan@ootbcomp.com (Ivan Godard) (2014-07-17)
Re: LR(1) Parsing : Error Handling & Recovery ivan@ootbcomp.com (Ivan Godard) (2014-07-17)
Re: LR(1) Parsing : Error Handling & Recovery gneuner2@comcast.net (George Neuner) (2014-07-17)
Re: LR(1) Parsing : Error Handling & Recovery wclodius@earthlink.net (2014-07-18)
Re: LR(1) Parsing : Error Handling & Recovery wclodius@earthlink.net (2014-07-18)
Re: LR(1) Parsing : Error Handling & Recovery monnier@iro.umontreal.ca (Stefan Monnier) (2014-07-18)
[21 later articles]
| List of all articles for this month |
From: Evangelos Drikos <drikosev@otenet.gr>
Newsgroups: comp.compilers
Date: Thu, 17 Jul 2014 20:15:31 +0300
Organization: An OTEnet S.A. customer
References: 14-07-023 14-07-024
Keywords: parse, errors, LR(1)
Posted-Date: 17 Jul 2014 13:46:06 EDT

Hello,


On 7/16/14, 11:39 PM, Ivan Godard wrote:
> FWIW, I recall hearing that GCC switched from LR1 (LALR?) to
> recursive-descent a few years back.


Yes, gcc switched to a hand-coded parser; the gcc team claimed that one
of the benefits was diagnostic location improvements (and potentially
other diagnostic improvements);see https://gcc.gnu.org/wiki/New_C_Parser


But, I guess they could say the same thing if they replaced the hand
coded Fortran parser with a LALR parser. Ibve compared recently an
enhanced LALRb parser with gfortran; the former has better error
recovery and in many cases more accurate error messages whereas the
latter sometimes just prints the clichC) bUnclassifiable Statementb.


Anyway, other implementers (e.g. clang team) also confirm that C++ is
best parsed by a recursive descent parser; Ibve not created a C++ parser
and cannot comment on it.


Regards,
Ev. Drikos


Post a followup to this message

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