Re: Parser generators which implemented Burke-Fisher error correction

Stefan Monnier <monnier@iro.umontreal.ca>
20 Apr 2007 10:25:46 -0400

          From comp.compilers

Related articles
Parser generators which implemented Burke-Fisher error correction momonjar@gmail.com (Momonjar) (2007-04-18)
Re: Parser generators which implemented Burke-Fisher error correction gah@ugcs.caltech.edu (glen herrmannsfeldt) (2007-04-19)
Re: Parser generators which implemented Burke-Fisher error correction monnier@iro.umontreal.ca (Stefan Monnier) (2007-04-20)
| List of all articles for this month |

From: Stefan Monnier <monnier@iro.umontreal.ca>
Newsgroups: comp.compilers
Date: 20 Apr 2007 10:25:46 -0400
Organization: Compilers Central
References: 07-04-064
Keywords: errors
Posted-Date: 20 Apr 2007 10:25:46 EDT

> I was interested on implementing the Burke-Fisher error
> correction(http://portal.acm.org/citation.cfm?doid=22719.22720)
> method in Bison. I want to know that is there any parser generators
> implemented this feature? The one I only know is the ML-Yacc,
> mentioned in the book "Modern Compiler Implementation in ML". If
> there weren't much parser generators implemented it, is it means
> that this feature is not useful or some other reasons?


Having used ml-yacc several times, I find the feature extremely
useful: it gives you reasonably good syntax error messages with no
effort whatsoever. I've heard people claim that its error messages
aren't very good, and that's probably true: hand written error
handling might get you further, just like assembly coding can give you
extra performance, but I find ml-yacc's error messages good enough,
and since you get it for free I find it really beneficial.


> [Back when we punched our programs on cards, handed the decks to the
> operator, and got printouts back an hour later, error correction was
> very popular since it offered the chance to find more bugs per run and
> decrease the number of runs until your program worked. Now that we do
> everything interactively, I don't see much point in the compiler
> guessing what you wanted to do rather than just point out where the
> error is and letting you fix it. -John]


I don't think of it as a way to "keep parsing past the first error", but
just a way to get better error messages.




                Stefan



Post a followup to this message

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