ANTLR
Reference Manual
Credits
Project Lead and Supreme Dictator
Terence Parr
University of San Franciso
Support from
jGuru.com
Your View of the Java Universe
Help with initial coding
John Lilly, Empathy Software
C++ code generator by
Peter Wells and
Ric Klaren
C# code generation by
Micheal Jordan, Kunle Odutola and Anthony Oguntimehin.
Python's universe has been
extended by
Wolfgang Häfelinger and
Marq Kole
Infrastructure support from Perforce:
The world's best source code control system
Substantial intellectual effort donated by
Loring Craymer
Monty Zukowski
Jim Coker
Scott Stanchfield
John Mitchell
Chapman Flack (UNICODE, streams)
Source changes for Eclipse and NetBeans by
Marco van Meegen and Brian Smith
ANTLR Version 2.7.5
January 28, 2005
What's ANTLR
ANTLR, ANother Tool for Language Recognition, (formerly PCCTS)
is a language tool that provides a framework for constructing recognizers, compilers, and
translators from grammatical descriptions containing Java, C++, or C# actions [You can use
PCCTS 1.xx to generate C-based parsers].
Computer language translation has become a common task. While
compilers and tools for traditional computer languages (such as C or Java) are still being
built, their number is dwarfed by the thousands of mini-languages for which recognizers
and translators are being developed. Programmers construct translators for database
formats, graphical data files (e.g., PostScript, AutoCAD), text processing files (e.g.,
HTML, SGML). ANTLR is designed to handle all of your translation tasks.
Terence
Parr has been working on ANTLR since 1989 and, together with his colleagues, has made
a number of fundamental contributions
to parsing theory and language tool construction,
leading to the resurgence of LL(k)-based recognition tools.
Here is a chronological history
and credit list for ANTLR/PCCTS.
See ANTLR software rights.
Check out Getting started for a list of tutorials and get your questions answered at the ANTLR FAQ at jguru.com
See also http://www.ANTLR.org and glossary.
If you are looking for the previous main version (PCCTS
1.33) of ANTLR rather than the new Java-based version, see Getting started with PCCTS.
Download ANTLR.
ANTLR 2.7.5 release notes
ANTLR Meta-Language
Lexical Analysis with ANTLR
ANTLR Tree Parsers
Token Streams
Token Vocabularies
Error Handling and Recovery
Java Runtime Model
C++ Runtime model
C# Runtime model
Python Runtime model
ANTLR Tree Construction
Grammar Inheritance
Options