Application: ANTLR

David Jones kaffe@rufus.w3.org
Fri, 22 Mar 2002 13:49:46 -0500 (EST)


The application I am interested in is ANTLR, post-2.0.  Jim asked me
to post this.

ANTLR is a recursive-descent parser generator - you specify a grammar,
typically for a programming language, in a concise form, and ANTLR
will generate C++ or Java code for the parser.

What sets ANTLR apart from other parser generators supporting C++ as a target
is syntactic and semantic predicates.  Using these, it is possible to
implement grammars that could not otherwise be easily implemented
in any other parser generator.  (Example: VHDL.  It's possible, but
very painful, using an LALR(1) generator such as yacc.  Trivial in ANTLR.)

ANTLR started off as PCCTS, a package originally coded in C++.  With version
2.0, Terence Parr did a complete rewrite, and chose Java as the implementation
language.  Although ANTLR can generate C++ code, you still require a
Java 1.0+ implementation in order to run the generator itself.

More information: http://www.antlr.org/