我正在使用 Java 进行编译器设计项目。词法分析已完成(使用 jflex),我想知道哪种类似 yacc 的工具最适合(最有效、最容易使用等)进行句法分析以及为什么。
问问题
25256 次
5 回答
5
过去,我将 ANLTR 用于词法分析器和解析器,JFlex 主页说它可以与 ANTLR 互操作。我不会说 ANTLR 的在线文档很棒。我最终投资了 “The Definitive ANTLR reference”,这对我有很大帮助。
于 2009-10-28T19:35:04.327 回答
5
GNU Bison 有一个 Java 接口,
http://www.gnu.org/software/bison/manual/html_node/Java-Bison-Interface.html
您可以使用它生成 Java 代码。
于 2009-10-28T19:37:07.253 回答
3
还有雅克。
Jacc 与 yacc 差不多,但它是用纯 java 实现的,并生成一个 java 解析器。
它与 jFlex 的接口很好
于 2012-11-13T00:05:12.943 回答
2
另一种选择是GOLD Parser。
与许多替代方案不同,GOLD 解析器从语法生成解析表,并将它们放在二进制、非可执行文件中。然后,每种支持的语言都有一个引擎,可以读取二进制表并解析您的源文件。
我没有专门使用 Java 实现,但使用了 Delphi 引擎,结果相当不错。
于 2009-10-28T20:01:57.660 回答