从Java解析LLVM bitcode

Oak*_*Oak 6 java llvm

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

请注意,我并没有尝试将LLVM bitcode转换为Java字节码,只是尝试将LLVM bitcode解析为Java的一些可行表示.

Oak*_*Oak 2

通过 JNI 等方式使用 LLVM C 绑定可能是最直接的方法。然而,自从提出这个问题以来,我找到了一些可能有帮助的项目,并制作了我自己的项目:

  1. LLVM-J是 LLVM 的 Java 绑定 - 比直接使用 JNI 的 c 绑定更方便。
  2. JLLVM是 LLVM Core 包的 Java 端口,包含ANTLR LLVM IR 解析器
  3. 我自己的LLVM IR SDK,它解析 LLVM IR 以通过 XText 构建EMF Core (ECore)模块,并且可以在 Eclipse 中轻松使用。