小编典典

如何以编程方式生成.class文件?

java

我想为Java的玩具语言编写一个编译器。我想生成可运行的.class文件。我想知道执行此操作的最佳库或工具是什么?我知道我可以学习所有指令的二进制格式并建立自己的常量池等,但这似乎应该已经完成​​:没必要重新发明轮子,对吗?

在线搜索我发现了两种不同的Java汇编语言JasminJamaica,但是只有Jasmin看起来有所维护。

是否存在用于将字节码写入流的Java库?这是Apache BCEL吗?

他们的工具是否像Antlr那样是字节码生成的“标准”工具?


PS-玩具语言是Brainf
***
,我想要一个我可以拥有一个简单“语法”的地方,因此我可以专注于生成方面,而不是解析部分……这将在下一步进行。


阅读 282

收藏
2020-11-16

共1个答案

小编典典

ASMBCEL基本上做类似的事情。我建议使用ASM,因为它受更多的支持,更小并且是最新的JDK。

2020-11-16