Related articles |
---|
Parser Generator Recommendation alon.flaisher@intel.com (Alon Flaisher) (2000-04-01) |
Re: Parser Generator Recommendation treid@primenet.com (2000-04-03) |
Re: Parser Generator Recommendation iank@bearcave.com (2000-04-03) |
Re: Parser Generator Recommendation joachim.durchholz@halstenbach.com.or.de (Joachim Durchholz) (2000-04-14) |
From: | iank@bearcave.com (Ian Kaplan) |
Newsgroups: | comp.compilers |
Date: | 3 Apr 2000 11:22:31 -0400 |
Organization: | Deja.com - Before you buy. |
References: | 00-04-025 |
Keywords: | parse, tools |
"Alon Flaisher" <alon.flaisher@intel.com> wrote:
> I'm developing a new parser and am looking for the right
> parser-generator. The parser-generator's output should be in C++. I
> have no experience with parser-generators.
>
> Which parser-generator is recommended? Why?
> (ANTLR 2.7.0, PCCTS 1.3.3, btyacc, Visual Parse++, ...)
I have used YACC for many years. When I started a project to develop a
Java front end I just dreading the effort I would have to go to in
order to get YACC to report decent error messages. So I looked at a
number of parser generators. I decided on ANTLR, which will generate
both Java and C++ parsers. I have written a web page that discusses
both the public domain and the commercial alternatives I found. I you
have not already seen it take a look at
http://www.bearcave.com/software/antlr/antlr_expr.html
I also discuss why I like parser generators, vs. recursive
decent parsers built by hand.
Grammar design is an art. A grammar for a language like C++ or Java
represents a great deal of work. All parser generators have a fairly
steep learning curve. I have also published a number of ANTLR examples
that I developed while learning ANTLR. See
http://www.bearcave.com/software/antlr/antlr_examples.html I have been
working with ANTLR for almost a year now and I'm very happy with
it. If you are developing a parser for a sizable language it is worth
the effort to learn. On the other hand, if it's just a small language
and you are happy with "syntax error" style error messages, YACC has
the advantage of having a lot of literature published on it (not that
here I'm using YACC and Bison interchangably).
Ian Kaplan
Return to the
comp.compilers page.
Search the
comp.compilers archives again.