JavaCC

  • 7.0.13 (2023年11月18日;穩定版本)[1]
編輯維基數據鏈接源代码库github.com/javacc/javacc编程语言Java平台Java虚拟机许可协议BSD网站javacc.org

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

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

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

历史

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

使用

使用JavaCC构建的软件:

  • Apache Derby
  • BeanShell
  • FreeMarker
  • PMD
  • Vaadin
  • Apache Lucene[4]
  • JavaParser

另见

  • 自由软件主题
  • ANTLR
  • SableCC
  • Coco/R
  • parboiled

外部链接

JavaCC FAQ (页面存档备份,存于互联网档案馆

参考

  1. ^ Release 7.0.13. 2023年11月18日 [2023年11月18日]. 
  2. ^ JavaCC源代码库Release页面. [2018-07-11]. (原始内容存档于2020-10-14). 
  3. ^ JavaCC网站Feature页面. [2018-07-11]. (原始内容存档于2018-07-11). 
  4. ^ Lucene 4.0.0 queryparser类 API. [2018-07-11]. (原始内容存档于2020-01-27).