我们正在编写一种从Pascal到JVM Bytecode的编译器。我们已经实现了表达式树生成,下一步应该是创建.class文件。你能否建议一些指导/教程,以便至少从一些静态数据中生成任何.class文件?因为我已经谷歌搜索了2个小时并阅读了JVM规范,但我真的需要一些最简单的例子来开始开发整个项目。
我不知道你是否了解,但是FPC有一个后端可以生成符合JDK 1.5标准的字节码。该开发看起来相当新(2011年11月)。你应该看一下。
有几个广泛使用的字节码生成项目。
ASM和CGLib可能是两个最好的例子。
您可能不想从头开始构建自己的生成库-这是很多工作,很难做到正确,并且可能没有太多优势超过使用现有项目。
ASM在JVM上被非Java语言广泛使用,具有还算可以的文档,不太难入手。
我没有像使用CGLib那样经常使用它,但我发现它不太容易入门。
最后一点数据是,Java 8团队正在使用ASM原型测试一些新的Java特性(包括lambda表达式)。
.class
文件操作的教程。不管怎样,我会尝试想出一些解决方案。 - Uko.class
文件相当容易,只需将所有过程/函数放入方法中,将所有应用程序代码放入 main 方法中,并将所有变量作为类字段 :) - Uko