Brought to
you by
:
jguru.logo.jpg (8086 bytes)

 

 

PCCTS 1.33

If you are looking for the Java version (2.00) of ANTLR rather than the C++ version (1.33), see ANTLR 2.  Also, see ANTLR 1.33 to 2.xx.

You can now download full release ANTLR 2.

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.
  3. SORCERER.
    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

http://www.polhode.com/pccts.html

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:

http://www.antlr.org/1.33/

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

http://www.antlr.org/1.33

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

http://www.inka.de/sites/gucky/PCCTS/pccts-nt.html.

MAC Codewarrior plugins for PCCTS:

http://www.halcyon.com/jennings/about-pccts-plugins.html

A mirror site:

ftp://ftp.th-darmstadt.de/pub/programming/languages/compiler-compiler/pccts

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.

To learn more about ANTLR 2.xx see this. Those interested in arguing about or listening in to the ANTLR 2.xx discussion can join our antlr-interest mailing list.

To subscribe to the antlr 2.xx mailing list, send mail to

antlr-interest-request@java.magelang.com

with a body of "subscribe". Full instructions can be had by sending "help" or some such. ;)

You post by sending your mail (unmoderated) to

antlr-interest@java.magelang.com

The book listed below corresponds to PCCTS 1.33.

A crazy guy, John Lilley, is continuing his work on a real C++ parser. See below.

Resources

The FAQ

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

FAQ.

Notes for new users

The following document is essential:

http://www.polhode.com/pccts.html.

The ftp address is

ftp://ftp.enteract.com/users/tmoog/.

The book

Here's how to buy the standard reference for PCCTS using C and C++.

Language Translation Using PCCTS and C++
A Reference Guide

Author: Terence John Parr

Price: $34.95 USA

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

Professors: call the publisher for a free evaluation copy.

ISBN: 0-9627488-5-4

Also, see the book errata.

The Book tutorial

tutorial.zip.

A tutorial

http//www.jguru.com/thetick/pcctstut

The newsgroup

comp.compilers.tools.pccts

A C++ grammar

http://www.empathy.com/pccts/

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.

Workshops

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

PCCTS History

history.html

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.