Re: Parser Generator Recommendation

iank@bearcave.com (Ian Kaplan)
3 Apr 2000 11:22:31 -0400

          From comp.compilers

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)
| List of all articles for this month |
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


Post a followup to this message

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