Developer(s) | Oracle |
---|---|
Stable release | 7.0.10
/ November 23, 2020[1] |
Repository | github |
Platform | Java Virtual Machine |
Type | parser/scanner generator |
License | BSD |
Website | javacc |
JavaCC (Java Compiler Compiler) is an open-source parser generator and lexical analyzer generator written in the Java programming language.[2]
JavaCC is similar to yacc in that it generates a parser from a formal grammar written in EBNF notation. Unlike yacc, however, 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.