JavaCC

JavaCC（Java Compiler Compiler）是一个开源的语法分析器生成器和词法分析器生成器。JavaCC根据输入的文法生成由Java语言编写的分析器。

和YACC类似，JavaCC根据由EBNF格式撰写的形式文法生成语法分析器。不同的是，JavaCC生成的是自顶向下语法分析器，由于可以向前搜寻k个字符，所以可以用来分析LL(k)文法。同时，JavaCC生成词法分析器的方式和Lex也很像。

另外，JavaCC还提供JJTree等辅助工具帮助使用者构建语法树。

历史 
在1996年，Sun Microsystems推出了一个名叫“Jack”的语法解析器生成器。后来，负责“Jack”的开发者创办了自己的公司——Metamata，并将“Jack”改名为“JavaCC”。Metamata最后成为了WebGain的一部分，在WebGain关闭后，JavaCC才移动到了现在的主页。

使用 

使用JavaCC构建的软件：

 Apache Derby
 BeanShell
 FreeMarker
 PMD
 Vaadin
 Apache Lucene
 JavaParser

另见 

ANTLR
SableCC
Coco/R
parboiled

外部链接 
JavaCC FAQ

参考 

Java平台軟體
编译器软件