C ++代码解析器/处理器库

时间:2010-06-02 21:34:05

标签: c++ parsing structure generator

是否有任何库解析C ++的源代码来生成可以说,调用图,类继承树,流控件,类成员列表或任何作为代码中的现成图形或结构(不在图图像中) 。

为了使其更清晰,假设生成调用图形图像,将会有一个这样的过程:

`

C++ source -> parser -> intermediate structure -> renderer -> call graph image
                                    ^
                                    |
                              [i need this]

`

3 个答案:

答案 0 :(得分:3)

LLVM家族图书馆可能是您最好的选择。不过,我最后检查过对C ++的支持还不完整。

答案 1 :(得分:3)

这取决于您希望解析的精确程度。如果你想要它绝对准确(即不应该错过一个类,因为它无法处理一些过于复杂的宏或模板元编程),那么你需要一个适当的C ++前端,我不知道任何既自由又容易重复使用的。

如果您愿意付款,则至少有两种选择:

EDG用于在VC ++ 2010中驱动IntelliSense,这非常令人印象深刻,而且似乎非常准确 - 根据我的经验,它正确地处理了多态Boost.Lambda的完成(这并不奇怪,因为它也驱动了EDG C ++编译器,显然必须得到正确的输入。)

我对Semantic Design前端或其用户了解不多,但是StackOverflow上有Ira Baxter,所以我会留给他提供有关其产品的更多信息。

如果你想要自由但不完美,那么也许GCC_XML对你来说已经足够了。

答案 2 :(得分:0)

  1. 这是海湾合作委员会的内部。它有点像图书馆。
  2. 有一些Eclipse CDE软件包能够很好地解析C ++,这对你来说可能是也可能不够好。