使用PYTHON的C / C ++源代码解析器

时间:2018-04-23 06:37:49

标签: python parsing

有人能指出一个已经可用的python代码片段/脚本可以解析C / C ++代码吗?

基本上我想用python创建C / C ++源代码的Class-to-Function()和Object-used-file-location-mapping等,这样我就可以创建一个新的抽象层次了脚本可读格式的代码,可用于代码解析中的人工智能..!

1 个答案:

答案 0 :(得分:2)

使用LLVM构建的

Clang将为您生成libclang,幸运的是,它恰好具有出色的Python绑定功能。从发布页面获取最新的LLVM和Clang,当前稳定版本为LLVM 6.0.0。确保您具有适当的Python开发依赖项并构建所有这些依赖项。然后,您可以使用Clang的Tooling做各种事情来转换或修改您的源代码,here's a good page to get you started

由于其复杂性,我建议使用Tooling而不是手动或生成的解析器,特别是对于C ++。然而,库会为您处理它,并允许您转换或内省生成的AST,让您在此基础上构建。

没有人会像你提出的那样为一个复杂的问题提供一个完全可行的解决方案,你必须自己完成大部分工作,但如果你想要开始这些资源是很好的。