基于LLVM语言的LLVM API接口?

基于LLVM语言的LLVM API接口?,llvm,Llvm,有相当多的编程语言基于LLVM库,大多数编译器/解释器也与LLVM静态链接。所以,对于这些语言来说,向内部使用的LLVM库公开一个接口似乎是很自然的。但是我找不到。我想要的是能够加载LLVM位代码,修改它并将其保存回文件,但我想用更高级的(脚本)语言(而不是使用C++)来完成。例如,Julia似乎根本没有公开LLVMAPI,另一方面Racket编程语言的LLVM绑定已经过时。是否有任何基于LLVM的编程语言向程序员公开LLVM API?有: LLVMPY是一个围绕LLVM C++库的Python

有相当多的编程语言基于LLVM库,大多数编译器/解释器也与LLVM静态链接。所以,对于这些语言来说,向内部使用的LLVM库公开一个接口似乎是很自然的。但是我找不到。我想要的是能够加载LLVM位代码,修改它并将其保存回文件,但我想用更高级的(脚本)语言(而不是使用C++)来完成。例如,Julia似乎根本没有公开LLVMAPI,另一方面Racket编程语言的LLVM绑定已经过时。是否有任何基于LLVM的编程语言向程序员公开LLVM API?

有:

LLVMPY是一个围绕LLVM C++库的Python包装器,它允许对编译器工具的简单访问。它可以用于很多事情,但这里有一些想法:

  • 动态创建LLVM IR以链接到由CLANG或dragonegg生成的LLVM IR
  • 使用LLVM执行引擎动态生成机器代码
  • 与PLY或其他标记器和解析器一起使用,以Python编写完整的编译器
以及:

Ruby LLVM是绑定到LLVM编译器基础结构库的Ruby语言。LLVM允许用户为多个体系结构、代码分析器等创建即时(JIT)编译器、提前(AOT)编译器。LLVM绑定还可以通过动态编译和加载计算密集型算法来加速Ruby代码


这个问题我不清楚。。。你的意思是你只想用不同的语言绑定LVVM绑定,而不是C语言或C++语言,或者你是想访问基于LLVM的特定语言实现的内部结构?