[CUP Logo Image]

Java(tm) Based Constructor of Useful Parsers (CUP)
Home Page


The Java(tm) based Constructor of Useful Parsers (CUP for short) is a system for generating LALR parsers from simple specifications. It serves the same role as the widely used program YACC, and in fact offers most of the features of YACC. However, CUP is written in Java, uses specifications including embedded Java code, and produces parsers which are implemented in Java. To learn more about CUP, and how to build parsers with it, see the User's Manual located here.

CUP was created by Scott Hudson who is part of the Graphics Visualization and Usability Center and the College of Computing at Georgia Tech.

CUP is currently in alpha-test release. The current version (v0.9e) has been updated to work with the JDK 1.0 compiler, and contains an important bug fix since v0.9d. Please be aware that the system has not been extensively tested, and you should use it at your own risk. However, it has been used to implement itself, and to create a Java parser which was able to successfully parse the full Java alpha2 release and as of 3/30/96 we know of no bugs. (A revision history can be found here). We would greatly appreciate comments and bug reports (which can be sent to java-cup@cc.gatech.edu). However, we cannot offer any support at this time, and time available to us to pursue bug fixes is very limited.

Downloading Source

A compressed tar file containing the Java source for the system is available at: http://www.cc.gatech.edu/gvu/people/Faculty/hudson/java_cup/cup_v0.9e.tar.Z
See the README file for installation details.

You can also view the Java source directly starting here.


Java and HotJava are trademarks of Sun Microsystems, Inc., and refer to Sun's Java programming language and HotJava browser technologies. CUP is not sponsored by or affiliated with Sun Microsystems, Inc.

Last revision Sat Mar 30 1996