我想从C代码中获取抽象语法树(AST),并将其转换为OCaml值,以便我可以使用普通的OCaml程序进一步处理解析后的代码。
我原本打算使用GCC,在钩子函数中获取AST(GIMPLE格式),然后将GIMPLE代码转换为OCaml。
但我想知道是否有其他方法,或者是否已经有人做过类似的事情。(实际上我没有找到太多相关信息...)
我不想使用CIL。它是一个用于C代码的OCaml解析器,但它不包含GCC具有的所有优化。(我特别需要比CIL实现的更深入的别名分析)。
LLVM可能是一个好的选择吗?也许已经有人完成了?
还有更好的想法吗?
我原本打算使用GCC,在钩子函数中获取AST(GIMPLE格式),然后将GIMPLE代码转换为OCaml。
但我想知道是否有其他方法,或者是否已经有人做过类似的事情。(实际上我没有找到太多相关信息...)
我不想使用CIL。它是一个用于C代码的OCaml解析器,但它不包含GCC具有的所有优化。(我特别需要比CIL实现的更深入的别名分析)。
LLVM可能是一个好的选择吗?也许已经有人完成了?
还有更好的想法吗?