从中间代码到Java字节码(龙书)

时间:2015-12-06 20:27:53

标签: java compiler-construction bytecode

我参加了编译器课程,使用了"龙书"作为教科书。它给出了如何将其编译器生成的中间代码转换为对象语言程序集的说明。

我的问题是:在哪里可以找到将3地址格式的中间代码转换为java字节码的指令,与本书中使用的语法相同?

教科书网站:http://dragonbook.stanford.edu/index.html#courses

2 个答案:

答案 0 :(得分:1)

如果您想知道如何自己创建二进制Java类文件,那么没有比官方JVM specification更好的资源。

如果您想以人类可读的文本格式编写类文件,可以使用各种汇编程序:KrakatauJasminLilac等。请注意,Jasmin很老,很大程度上没有维护,尽管Sable研究小组保留了一个用于自己工具的分支。

答案 1 :(得分:0)

我已经实现了一个转换器,它接受由编译器前端的Dragon Book实现生成的三地址中间代码,并将其转换为具有类似Jasmin语法的Java字节码。然后它使用Krakatau将它组装成可通过JVM执行的类文件。

您可以在https://github.com/joaofbsm/smallL/tree/master/code/translator检查我的实施情况。