【发布时间】:2014-10-15 08:40:22
【问题描述】:
我正在寻找一个编译器框架,我可以用它来为 C 源代码编写一些代码优化和数据流分析。我知道有 LLVM,但我想使用源代码而不是字节码。我正在研究 LLVM-dragonegg,但我不确定使用它实现数据流传递有多容易?
【问题讨论】:
-
致那些投票结束这个问题的人:我想知道为什么这是一个离题的问题。我只是想看看有哪些可用的选项,而不是为了推荐或认可。
-
试试 Clang,它有一个不错且易于使用的 API,即使使用了不错的 Python 包装器 (cindex)。
-
P.S.另一种选择是在 LLVM IR 级别上工作,同时保留调试元数据,以维护从修改后的 IR 到原始源代码的映射。根据您想要做什么,这可能比分析 Clang AST 更好。
标签: compiler-construction compiler-optimization llvm-clang