JavaCC - the Java Compiler Compiler - is a popular parser generator and lexical analyzer generator for Java and C++.
JavaCC (Java Compiler Compiler) is an open source parser generator and lexical analyzer generator written in java. It produces either java or c++. Both javacc and the parsers generated by javacc have been successfully run on a variety of java platforms.
javacc generates top-down parsers. JavaCC can resolve choices based on the next k input tokens, and so can handle LL(k) grammars automatically; by use of "lookahead specifications", it can also resolve choices requiring unbounded look ahead. javacc also generates lexical analyzers in a fashion similar to lex. The tree builder that accompanies it, JJTree, constructs its trees from the bottom up.
javacc is licensed under a BSD license.
Homepage: http://javacc.org/