【问题标题】:LLVM IR to Python Compiler [closed]LLVM IR 到 Python 编译器 [关闭]
【发布时间】:2012-11-05 02:57:54
【问题描述】:

是否有任何工具可以将 LLVM IR 代码转换为 Python 代码? 我知道可以将其转换为 Javascript (https://github.com/kripken/emscripten/wiki)、Java (http://da.vidr.cc/projects/lljvm/),我很想转换它也适用于 Python。

另外,如果这样的工具不存在,您能否提供任何信息,最好的工具是什么(也许我应该用其他语言扩展 emscripten - Javascript 和 Python 在某些方面彼此相似;))

【问题讨论】:

  • 我不知道有这样的工具。虽然,我不建议将它作为一个完整的平台后端来实现(这将是一种矫枉过正)。一个简单的通行证就足够了。例如,参见cbe 通行证。
  • 你说得对,这是个好主意。你能详细说明一下为什么像 Emscripten 这样的工具没有写成 LLVM 通行证吗?使用它或将其嵌入自定义编译器会容易得多。
  • 可能,他们想在 JavaScript 中托管整个事情。或者他们只是更喜欢用 JS 编码而不是用 C++ 编码。以一种或另一种方式做这件事有很多可能的原因。或者,您可以在这两个选项之间做一些事情:使用 LLVM 绑定实现您的代码生成传递,例如 OCaml、Haskell 或 Python 本身。
  • 谢谢。你知道任何使用 LLVM Pass(在 C++ 中)将 LLVM IR 转换为某些特定语言代码的项目吗?我想基于一些现有的代码,除非我不是 LLVM 专家 :)
  • cbe 是迄今为止这种最简单的方法,我建议从它开始。

标签: python compiler-construction code-generation llvm converter


【解决方案1】:

LLVM 最高 3.0 提供了一个 C 后端(请参阅 lib/Target/CBackend),这应该是实现简单 Python 代码生成器的良好起点。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2014-07-15
    • 2012-05-03
    • 2012-02-27
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多