Related articles |
---|
Error reporting/recovery bourguet@my-deja.com (Jean-Marc Bourguet) (2000-04-05) |
Re: Error reporting/recovery iank@bearcave.com (2000-04-11) |
Re: Error reporting/recovery grosch@cocolab.de (2000-04-11) |
Re: Error reporting/recovery bourguet@my-deja.com (Jean-Marc Bourguet) (2000-04-14) |
Re: Error reporting/recovery bourguet@my-deja.com (Jean-Marc Bourguet) (2000-04-14) |
Re: Error reporting/recovery rod.bates@wichita.boeing.com (Rodney M. Bates) (2000-04-14) |
Re: Error reporting/recovery nr@labrador.eecs.harvard.edu (2000-04-16) |
Re: Error reporting/recovery j.coulmance@itecor-software.com (Jocelyn Coulmance) (2000-04-20) |
[1 later articles] |
From: | iank@bearcave.com (Ian Kaplan) |
Newsgroups: | comp.compilers |
Date: | 11 Apr 2000 14:28:33 -0400 |
Organization: | Deja.com - Before you buy. |
References: | 00-04-053 |
Keywords: | parse, errors |
Jean-Marc Bourguet <bourguet@my-deja.com> wrote:
> The parser generators I know of (I've looked at yacc variants and
> pccts) are bad at error reporting/recovery at least when not helped
> by suitable addition in the grammar description. I know that the
> field has been studied and I'm quite sure that yacc is not at the
> state of the art in this matter, so I wondered:
> - if there was other parser generators freely available
> who did a better jobs,
> - if there was an available benchmark (grammars and
> input) to test the error reporting/recovery of parser
> generators.
I use ANTLR, which has excellent error reporting "right out of the
box". ANTLR generates a recursive decent parser, which tends to have
beeter error reporting. I looked at a number of alternatives when I
was faced with doing another large project with YACC. I just dreaded
putting in the error productions for a Java grammar. I wrote up a web
page with my notes. See
http://www.bearcave.com/software/antlr/antlr_expr.html
ANTLR, like most parser generators, has a fairly steep learning
curve. See my web pages and the www.antlr.org web pages.
Ian Kaplan
Return to the
comp.compilers page.
Search the
comp.compilers archives again.