Java Compiler Compiler (JavaCC) - The Java Parser Generator Java Compiler Compiler (JavaCC) is the most popular parser generator for use with Java applications. A parser generator is a tool that reads a grammar specification and converts it to a Java program that can recognize matches to the grammar. In addition to the parser generator itself, JavaCC provides other standard capabilities related to parser generation such as tree building (via a tool called JJTree included with JavaCC), actions, debugging, etc.
Our latest release of JavaCC is Version 2.0. This version was released jointly by Metamata and Sun Microsystems on October 26, 2000.
We've had hundreds of thousands of downloads and estimate serious users in the many thousands (and maybe even tens of thousands). Our newsgroup comp.compilers.tools.javacc and our mailing list together have a few thousand participants.
JavaCC works with any Java VM version 1.1 or greater. It has been certified to be 100% Pure Java. JavaCC has been tested on countless different platforms without any special porting requirements. Given that we have seen JavaCC run on only around 5 or 6 platforms, we think this is a great testimonial to the "Write Once Run Anywhere" aspect of Java. We say this as engineers who have personally experienced the benefits of writing applications in Java.
We are also collecting URLs to software tools and other interesting work based on (or related to) JavaCC. To browse or contribute to this list, please click here.
I just wanted to write you all to say "thank you". What I wanted to
do is build a parser to recognize a home-grown language that allows us
to lay out java GUIs automatically. I wrote the spec for the language
from a "wish list" perspective and expected that processing the file
and generating a tree to use to build the GUI would be quite complex.
After only about a week of experimenting with JavaCC, I took on the
task of building my parser and I completed the entire thing in one
day. What an amazing tool!
I particularly like the way you've done the productions, just like
real java methods where you can control the return type and
parameters. Helps avoid all the nasty global(ish) data that lex/yacc
tend to thrust upon you.
Feature Highlights: A short description of the features of JavaCC.
Installation and Getting Started: This page contains a bunch of tips that should aid you through the installation process.
Documentation: The complete documentation for JavaCC.
Customer Support: What you can expect in terms of customer support - both formal and informal. You can also purchase formal customer support here.
Keeping In Touch: Here's how you can contact us and keep in touch with what's happening.
User Comments: Hear what users have to say about Java Compiler Compiler. This is our favorite page! Please help us keep this page really cool and uptodate with your contributions.
Legal stuff: A general overview on the licensing rules, etc.