我很好奇是否有任何项目可以使用LLVM解析树并从中重新生成源代码。我特别想到C / C ++。
答案 0 :(得分:13)
如果“LLVM解析树”是来自clang的AST
是的,您可以从clang的AST重新生成源。一些参考文献:
如果“LLVM解析树”是LLVM IR
有几个项目可以从LLVM IR生成源代码。第一个是“C后端”was dropped in LLVM 3.1。
现在有几个项目要从LLVM IR生成C:
Roel Jordans复活的“C后端”
[LLVMdev] [RFC] Resurrecting the C back-end(邮件列表帖子),通过引用的phoronix新闻
“C ++ - > LLVM IR - > Emscripten - > asm.js - > C ”chain
Prototype of an LLVM IR => C compiler ("c backend"),通过LLVM Weekly - #15