我想将抽象语法树(ast)从一个c代码转换成一个ocaml值,这样我就可以用一个普通的ocaml程序进一步处理解析的代码。
我想使用gcc,用钩子获取ast(在gimple中),并将gimple代码转换为ocaml。
但我想知道是否还有别的办法,或者是否有人已经做了类似的事情。(事实上,我还没有发现很多…)
我不想用CIL。它是一个用于c代码的ocaml解析器,但并不包含gcc所具有的所有优化。(我尤其需要比cil中实现的别名分析更深入的别名分析)。
llvm是个好主意吗?可能已经做了?
有更好的主意吗?

最佳答案

如果cil的问题是提供的别名分析的精度,请查看Frama-C。它基于cil,但提供了一个precise value analysis的指针。价值分析使其结果在模块化架构中可用。

10-08 15:00
查看更多