有没有办法在我的 Java 应用程序中解析 LLVM 位码?换句话说,是否有任何库具有 Java 绑定(bind)并且可以解析 LLVM 位码,然后我可以使用某些 DOM 或任何其他方式访问它?
请注意,我并没有尝试将 LLVM 位码转换为 Java 字节码,只是试图将 LLVM 位码解析为一些适用于 Java 的可用表示形式。
最佳答案
通过 JNI 之类的东西使用 LLVM C 绑定(bind)可能是最直接的方法。但是,自从提出这个问题后,我找到了一些可能有帮助的项目,并制作了一个我自己的项目:
- LLVM-J ,这是 LLVM 的 Java 绑定(bind) - 可能比直接使用带有 JNI 的 c 绑定(bind)更方便。
- JLLVM ,它是 LLVM 核心包的 Java 端口,包括 an ANTLR LLVM IR parser .
- 我自己的LLVM IR SDK ,它解析 LLVM IR 以构建一个 EMF Core (ECore)通过 XText 模块,可以在 Eclipse 中轻松使用。
关于java - 从 Java 解析 LLVM 位码,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6649929/