C ++文件解析器和函数提取器

时间:2019-07-14 05:53:55

标签: c++ qt text-parsing

我需要开发一个Qt / C ++软件,该软件可以读取C ++源文件,查找依赖项,并将仅从依赖文件中使用的代码复制到同名文件中。

作为一个例子。 main.cpp调用foo()。 foo()在foofuncs.h中声明,并在foofuncs.cpp中定义。 foofuncs除了foo()以外,还有许多其他功能。我需要将foo()声明从foofuncs.h复制到一个新文件(例如foofuncs.h.copy),该文件只有foo()声明(及相关的包含内容)。类似地,我将对foofuncs.cpp.copy进行同样的操作,它仅包含foo()定义(以及#include“ foo.h”等)。这可能需要某种递归过程才能通过所有包含,等等。

所以我的问题是我该怎么做?我可以使用QRegularExpressions查找代码块吗?如果是这样,我需要帮助。另外,我的Qt应用程序中是否集成了任何相关的开源工具来帮助我?谢谢

1 个答案:

答案 0 :(得分:2)

您不能使用正则表达式解析C ++代码。

一些方向:

甚至都不要尝试自己解析C ++代码,这是一个永无止境的故事。