java - 从 Java 解析 LLVM 位码

标签 java llvm

有没有办法在我的 Java 应用程序中解析 LLVM 位码?换句话说,是否有任何库具有 Java 绑定(bind)并且可以解析 LLVM 位码,然后我可以使用某些 DOM 或任何其他方式访问它?

请注意,我并没有尝试将 LLVM 位码转换为 Java 字节码,只是试图将 LLVM 位码解析为一些适用于 Java 的可用表示形式。

最佳答案

通过 JNI 之类的东西使用 LLVM C 绑定(bind)可能是最直接的方法。但是,自从提出这个问题后,我找到了一些可能有帮助的项目,并制作了一个我自己的项目:

  1. LLVM-J ,这是 LLVM 的 Java 绑定(bind) - 可能比直接使用带有 JNI 的 c 绑定(bind)更方便。
  2. JLLVM ,它是 LLVM 核心包的 Java 端口,包括 an ANTLR LLVM IR parser .
  3. 我自己的LLVM IR SDK ,它解析 LLVM IR 以构建一个 EMF Core (ECore)通过 XText 模块,可以在 Eclipse 中轻松使用。

关于java - 从 Java 解析 LLVM 位码,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6649929/

相关文章:

java - 使用 Hive UDF 计算加权因子

java - Cookie读写问题-jQuery转JSP

c++ - 使用 LLVM 从 const void * 转换为模板类型时出现问题

c++ - LoopPass 可加载模块的 undefined symbol

objective-c - 这个: _Pragma ("clang assume_nonnull begin")是什么意思

java - 设置 JFreeChart 上 Y 轴的格式

java - 使用 Raster 创建图像时出现 ArrayIndexOutOfBoundsException

java - ArrayList 中的 ConcurrentModification 异常

c++ - 如何在 Mac/OS X 上的 C++ 中包含 llvm/IR/Module.h?

ios - iOS 上的 char 是有符号的还是无符号的?