【问题标题】:Generate Bytecode from AST从 AST 生成字节码
【发布时间】:2014-08-12 11:33:42
【问题描述】:

This link 描述了如何从 AST 树生成字节码。基本上,它展示了如何绕过编译的解析阶段,以及如何被 java 编译器拾取 AST 以生成字节码。

这很好用,但我希望能够使用 javac 生成 AST,而无需更改其源代码且无需任何框架。这可能吗?以前有过这样的事情吗?

提前感谢您的回复。

【问题讨论】:

  • 可能与 this 重复。接受的答案链接到编译器树 API,这可能是您需要的。
  • @Eran,谢谢。我与 compiler-dev 的人交谈,他们说到目前为止,“没有办法编译用户使用 com.sun.source.tree.* 的任意实现创建的任意树”

标签: javac abstract-syntax-tree


【解决方案1】:

事实证明,您无法编译用户使用 com.sun.source.tree.* 的任意实现创建的树。可以做的是将 AST 打印为字符串并使用 Java 6 Compiler API 在内存中编译字符串。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2011-01-13
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多