【发布时间】:2012-03-24 22:15:45
【问题描述】:
我目前正在寻找有关如何使用 java.C++ 制作编译器的工具(软件程序或框架),这将是我的编译器将读取的语言。我已经准备好了 GUI。但是我仍然不知道如何开始创建编译器。
也许任何人都可以给我使用 java 创建编译器的链接或教程。我并不是真的在寻找确切的源代码,而是关于如何通过词法、句法和语义分析来创建编译器的提示和算法。
【问题讨论】:
-
我建议您查看 ANTLR、JavaCC 和 Google 以了解“如何用 Java 编写编译器”。除了来SO,还有很多值得一看的地方。
-
编译器需要什么 GUI? :-|
-
@fortran-对于误解,我实际上是在使用 java 构建一个 IDE,目标语言为 C++。
-
您希望这个工具能做什么? ANTLR 和 JavaCC 仅 生成解析树(或 AST),这是比较容易的部分。在那之后,真正的挑战开始了(尤其是像 C++ 这样的语言)。
-
@BartKier 我实际上计划的是一个编译器,它显示标记,将其转换为解析树,并执行语义部分,基本上是前三个部分(词法、句法和语义分析) ,然后我将使用现有的代码生成器和对象生成器来生成输出程序。
标签: java compiler-construction semantics yacc lexical-analysis