[2] JavaCC is similar to yacc in that it generates a parser from a formal grammar written in EBNF notation.
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.
In 1996, Sun Microsystems released a parser generator called Jack.
After WebGain shut down its operations, JavaCC was moved to its current home.