PCCTS: the Purdue Compiler Construction Tool Set

PCCTS, is a set of public-domain software tools designed to facilitate the construction of compilers and other translation systems. Although originally developed primarily for internal use within Purdue University, these tools are now everywhere. While working on his MS and PhD under Prof. Hank Dietz, T. Parr was the primary developer of PCCTS, and he has continued to maintain and extend it; for info on Ter's work on the latest Java and other versions see:

ANTLR logo

The most recent (final C/C++) version of PCCTS is 1.33, is available from Tom Moog at http://www.polhode.com/pccts.html (Tom has been maintaining it and fixing bugs). That site also has pointers to Parr's book and other C/C++ PCCTS reference materials.

The following older references may still be of some interest:

PCCTS Book (Pre-release) ( .ps , .ps.Z )
T. J. Parr
PCCTS SP&E Paper ( .ps )
T. J. Parr
PCCTS V1.00 Manual ( 147K .ps.Z )
T. J. Parr, H. G. Dietz, and W. E. Cohen, "PCCTS Reference Manual (version 1.00)," ACM SIGPLAN Notices, Feb. 1992, pp. 88-165.
PCCTS V1.06 Update ( 38K .ps.Z )
Manual update for version 1.06.
PCCTS V1.10 Update ( 61K .ps.Z )
Manual update for version 1.10.
PCCTS V1.20 Update ( 69K .ps.Z )
Manual update for version 1.20.
PCCTS V1.21 Update ( 32K .ps.Z )
Manual update for version 1.21.
History of PCCTS ( 11K .ps.Z )
A brief summary by T. Parr of how PCCTS has progressed since it was first made available as a public domain release.
Efficient Parsing With K-Token Lookahead ( 312K .ps.Z )
T. J. Parr, Obtaining Practical Variants Of LL(k) And LR(k) For k>1 By Splitting The Atomic k-Tuple, Ph.D. Dissertation, School of Electrical Engineering, Purdue University, August 1993. (This thesis defines the new technology that allows PCCTS/Antlr to build LL(k) parsers.)
Machine-Specific Code Generation ( 219K .ps.Z )
W. E. Cohen, Automatic Construction of Optimizing, Parallelizing Compilers from Specifications, Ph.D. Dissertation, School of Electrical Engineering, Purdue University, December 1994. (This thesis has resulted in a PCCTS-compatible tool called PIGG, which is currently in alpha testing.)

You can get a copy of PCCTS from many different sources, including various archives and CDROMs, however, you should try to make sure that you are getting a reasonably recent copy. If you have any questions, there is a PCCTS network newsgroup: comp.compilers.tools.pccts

The Aggregate. The only thing set in stone is our name.