Home | Download | Wiki | About ANTLR | Feedback | Support |

Latest version is 2.7.7.
Download now! »

» Home
» Download
» News
»Using ANTLR
» Documentation
» Wiki
» Articles
» Grammars
» File Sharing
» Code API
» Tech Support
» Bug Tracking
»About ANTLR
» What is ANTLR
» Why use ANTLR
» Showcase
» Testimonials
» Getting Started
» Software License
» ANTLR WebLogs
» ANTLR Workshops

Support StringTemplate, ANTLR Project by making a donation! Terence often pays for things like the antlr.org server, conference travel, and this site design (that alone cost US$1000). Buy him a beer and pizza remotely ;)


PCCTS 1.33

PCCTS 1.33 is the previous version of ANTLR, which was written in C.

Dr. T's Traveling Parsing Revival and Beer Tasting Festival 1997 has come and gone. See a summary.

PCCTS is a public domain tool set that aids in the construction of language recognizers and translators; it is comprised of three tools:

  1. ANTLR.
    A parser generator that functions like yacc, but is significantly more powerful, flexible, and easy to understand.
  2. DLG.
    A simple lexical analyzer (scanner) generator in the spirit of lex.
    A tree-parser generator that allows the programmer to specify the structure of a tree data-structure via a grammar. SORCERER is to trees as ANTLR is to text input files.

Getting the toolkit

Terence has stopped maintaining 1.33, but Tom Moog has done amazing work updating the C/C++ version.  For the latest information from Tom, see


The URL for the zip file is:

http://www.polhode.com/pccts133mr.zip   ftp://ftp.enteract.com/users/tmoog/pccts133mr.zip

Tom says: "The current version is 1.33MR10, but I'll be releasing 1.33MR11 later this week [late Feb 98].  Version MR11 will probably be the last major maintenance release for some time. It includes fixes to every problem and every major annoyance I'm aware of in 1.33 that can be fixed without major surgery."

The original "vanilla" source of PCCTS is:


Grab either pccts.zip or pccts.tar.gz. Unpack it--it will create a pccts subdirectory; jump inside the pccts directory and type make to build the tools. SORCERER must be gotten separately in the pub/pccts/sorcerer directory.

Some prebuilt binaries are available at


NT users should visit Franz-Josef Kaiser's page on PCCTS for NT:


MAC Codewarrior plugins for PCCTS:


A mirror site:


Do a web search to find other mirrors.

Current Development Status

Development work on PCCTS version 1.33 has effectively stopped in favor of a complete rewrite of ANTLR and SORCERER in Java to generate Java; however, the architecture of ANTLR 2.00 will make it easily retargetable to generate C++, for example. The 2.00 ANTLR will provide a more sophisticated lexical analysis mechanism, which obviates the need for DLG. Also, Scott Stanchfield, a maniacal programmer is building a very nice parser debugging tool. Tom Moog continues to do maintenance releases of PCCTS, however.



The holy FAQ for PCCTS 1.33, maintained by no one at the moment:


Notes for new users

The following document is essential:


The ftp address is


The book

Here's the PDF of standard reference for PCCTS using C and C++.

Language Translation Using PCCTS and C++
A Reference Guide

Author: Terence John Parr

Publishing company:
Automata Publishing Company
1072 South DeAnza Blvd., Suite A107
San Jose, California 95129 USA
800 247-6553

ISBN: 0-9627488-5-4

Also, see the book errata.

The Book tutorial


A tutorial


The newsgroup


A C++ grammar


A conversation on development tools

A chat session at JavaSoft.

Published papers on PCCTS

  • antlr.ps. Software Practice & Experience paper describing ANTLR.
  • needlook.ps. Why LL & LR translators need k>1 lookahead.
  • predicates.ps.Z. Describes predicated-LL(k) parser strategy.
  • sorcerer.ps.Z. Describes SORCERER, a tree-parser generator.


Proceedings from
Dr. T's Mostly-Annual Parsing Revival and Beer Tasting Festival:

PCCTS History


Something dark and scary to read

Terence Parr's PhD Dissertation on Practical LL(k) and LR(k) for k>1 parsing that describes the theoretical principles behind the construction of ANTLR's parsers:

Who is this Terence Parr Guy?

The ANTLR guy.