Mos*_*osi 1 c++ qt text-parsing
我需要开发一个 Qt/C++ 软件,该软件读取 C++ 源文件,查找依赖项,并仅将依赖文件中使用的代码复制到同名文件中。
举个例子。main.cpp 调用 foo()。foo() 在 foouncs.h 中声明并在 foouncs.cpp 中定义。foouncs 除了 foo() 之外还有许多不同的函数。我需要将 foo() 声明从 fooofuncs.h 复制到一个新文件(例如 fooofuncs.h.copy),该文件只有 foo() 声明(和相关包含)。同样,我会对 fooofuncs.cpp.copy 执行相同的操作,其中仅包含 foo() 定义(以及 #include "foo.h" 等)。这可能需要某种递归过程来遍历所有包含等。
所以我的问题是我该怎么做?我可以使用 QRegularExpressions 来查找代码块吗?如果是这样,我需要帮助。另外,是否有任何相关的开源工具可以集成到我的 Qt 应用程序中来帮助我解决这个问题?谢谢
您无法使用正则表达式解析 C++ 代码。
一些方向:
compiler-compiler。 甚至不要尝试自己解析 C++ 代码,这是一个永无止境的故事。