2

我有机会在大学工作并帮助javac使用 OpenJDK 进行黑客攻击。目标是读取自定义源代码(“我们的”编程语言与 antlr 结合使用)而不是写出 Java 字节码 - 编译器应该写出 LLVM 汇编代码。这将是我的任务,但是这个项目是如此之大,以至于我不知道从哪里或如何开始了解那里发生了什么。有人告诉我尝试调试代码并逐步完成它,但我想知道野外是否有任何好的文档,让我有一个短暂的突破来了解哪些部分是最重要的部分。

4

1 回答 1

2

您将“myprogram.myprogrlang”放入“myprogram.llvm”。

我认为不需要使用 / hack javac。我认为你想使用 Java/openjdk 的编译工具,但我认为这只会让你的任务更加困难,而不是帮助你。

我的建议是使用 antlr,了解如何用您的编程语言解析程序,如何生成 AST,然后将 AST 数据转换为 LLVM 字节码或汇编程序。

在这种情况下,您不需要 java。

所以:

[1] 为您的编程语言学习 ANTLR 语法/规则

[2]学习LLVM字节码/汇编

[3] 学习如何将 ANTLR 数据输出转为 LLVM 数据输入

于 2011-06-17T22:16:37.170 回答