The JavaCompilerCompiler or JavaCC as it is usually called is a parser generator developed in Java by a team originally at Sun.
It is an LL parser and, as such, detects parse errors earlier than LR parsers. This can be especially handy for interpreters, but takes some getting used to if you're accustomed to LR parsers such as yacc.
It works something like this:
First define the grammar for the language you want to parse. This is done in a BackusNaurForm-like manner following a defined syntax and placed in a jj file. You have to know some about how the compiler compiler works to do this correctly.
Then generate the parser classes from your jj file. You will get a number of source files that have all the functionality to perform the parse.
Connect the generated code with whatever controlling class you like.