是否有任何库解析C ++的源代码来生成可以说,调用图,类继承树,流控件,类成员列表或任何作为代码中的现成图形或结构(不在图图像中) 。
为了使其更清晰,假设生成调用图形图像,将会有一个这样的过程:
`
C++ source -> parser -> intermediate structure -> renderer -> call graph image
^
|
[i need this]
`
答案 0 :(得分:3)
LLVM家族图书馆可能是您最好的选择。不过,我最后检查过对C ++的支持还不完整。
答案 1 :(得分:3)
这取决于您希望解析的精确程度。如果你想要它绝对准确(即不应该错过一个类,因为它无法处理一些过于复杂的宏或模板元编程),那么你需要一个适当的C ++前端,我不知道任何既自由又容易重复使用的。
如果您愿意付款,则至少有两种选择:
EDG用于在VC ++ 2010中驱动IntelliSense,这非常令人印象深刻,而且似乎非常准确 - 根据我的经验,它正确地处理了多态Boost.Lambda的完成(这并不奇怪,因为它也驱动了EDG C ++编译器,显然必须得到正确的输入。)
我对Semantic Design前端或其用户了解不多,但是StackOverflow上有Ira Baxter,所以我会留给他提供有关其产品的更多信息。
如果你想要自由但不完美,那么也许GCC_XML对你来说已经足够了。
答案 2 :(得分:0)