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

Sle*_*led 10 java compiler-construction jvm .class-file

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

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

是否有用于将字节代码写入流的Java库?这是Apache BCEL的内容吗?

他们的工具是否是字节码生成的"标准",就像Antlr用于解析一样?


PS-玩具语言是Brainf***,我想要一些我可以拥有一个简单的"语法"的东西,所以我可以专注于生成方面而不是解析部分...将在下一步的后期出现.

MeB*_*Guy 9

ASMBCEL基本上做类似的事情.我推荐ASM,因为它支持得更多,更小,并且是最新的JDK.