我很好奇是否有任何项目可以获取 LLVM 解析树并从中重新生成源代码。我特别想到 C/C++。
问问题
4835 次
1 回答
16
如果“LLVM 解析树”是来自 clang 的 AST
是的,您可以从 clang 的 AST 重新生成源代码。一些参考资料:
- Eli,2012 年使用 Clang 进行基本的源到源转换
- Eli,2014 年使用 Clang 和 libTooling 进行现代源到源转换
- 使用 Clang 执行源到源转换(幻灯片)
- SoSlang:SOURce-to-Source Clang(幻灯片)
如果“LLVM 解析树”是 LLVM IR
有几个项目可以从 LLVM IR 生成源代码。第一个,“C 后端”在 LLVM 3.1 中被删除。
现在有几个项目可以从 LLVM IR 生成 C:
由 Roel Jordans复活的“C 后端”
[LLVMdev] [RFC] 复活 C 后端(邮件列表帖子),通过引用的 phoronix 新闻
“C++ -> LLVM IR -> Emscripten -> asm.js -> C ” 链
LLVM IR => C 编译器(“c 后端”)的原型,来自LLVM Weekly - #15
于 2014-04-25T15:17:36.000 回答