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