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.6
December 7, 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.6 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