是否有一个Java库从AST生成类文件?

前端之家收集整理的这篇文章主要介绍了是否有一个Java库从AST生成类文件?前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
This page描述了如何使用javac中的代码生成生成代码,因为我可以构建一个AST(使用我写的单独的解析器).该技术涉及编辑javac的源代码,以基本上绕过Java解析器,以便可以将自己的AST提供给代码生成器.这可以工作,但我希望以稍微更清洁的方式做到这一点.我想将javac的代码生成部分作为库的项目包含在我的项目中,所以我可以使用它来生成代码,而不会带来javac源代码的其余部分.

有没有办法这样做与javac,还是有一个更好的图书馆?

此外,请随意更改问题标题.我不能想到一个更好的一个,但它有点模糊.如果您建议编辑更好的标题,我会接受.

解决方法

我想你可能感兴趣的是一个像 BCEL(ByteCode Engineering Library)这样的java库,

当我在编译器构建课程时,我玩了一遍,基本上它有一个很好的包装器,用于生成常量池,将一个名为Bytecode的指令插入到一个方法中,然后完成后,您可以加载类在运行时使用自定义类加载器,或以正常方式将其写入文件.

使用BCEL,应该比较容易从语法树到java字节码,尽管有点乏味,但是在某些情况下,您可能只想使用BCEL来生成生成的字节码而不构建树.

猜你在找的Java相关文章