用于解析和检查c ++的Python代码

Mik*_*ike 6 c++ python

是否有Python库可以解析c ++代码?

例如,假设我想解析一些c ++代码并找到所有类及其成员函数/变量的名称.

我可以想到使用正则表达式一起破解它的几种方法,但是如果有一个现有的库它会更有帮助.

Ale*_*lli 7

在过去,我已经将gccxml(一种可以发布易于解析的XML的C++解析器)用于此目的- 我将自己的Python接口编入其中,但是现在有一个pygccxml应该很好地为你打包.


Ira*_*ter 5

准确地解析 C++ 与使用正则表达式可以做的事情相差几光年。你需要一个完整的 C++ 解析器,而且它们很难构建。我已经参与了几年的建设,并跟踪谁在做这件事;我不知道在Python 中有任何尝试。

我从事的工作是DMS C++ Front End。它不仅提供解析,还提供全名和类型解析。解析后,您基本上可以在您喜欢的任何细节级别提取有关代码的详细信息,包括有关函数内容的任意细节。

您可能会考虑使用GCCXML,它确实包含一个解析器,并且我相信会生成所有类、函数和顶级变量的名称。GCCXML 不会为您提供有关函数内部内容的任何信息。