在C ++中生成代码模型的最简单方法是什么?

时间:2014-06-13 13:31:20

标签: c++ parsing model

我正在寻找在C ++中生成代码模型的最简单方法。我的意思是:

  • input是一个包含C ++代码(.cpp)或其内容的文件;
  • 输出可以是具有所有函数/方法名称的调用树,也可以是从此C ++文件调用的所有方法的列表。重要的提示是我需要传递给这些函数的所有参数的列表(对于文件中的每个事件)。

我听说clang库可以做这样的事情,但是有人知道从哪里开始吗?提前谢谢!

1 个答案:

答案 0 :(得分:2)

我建议你看看libTooling这是一个用于创建基于clang的工具的clang API。

LibTooling允许您通过创建可以覆盖的前端操作来直接操作AST(请查看此处:http://kevinaboos.wordpress.com/2013/07/23/clang-tutorial-part-ii-libtooling-example/)。

通过浏览AST,您可以轻松生成您正在搜索的信息。请注意,如果您的代码包含宏,则可能还需要执行预处理操作。使用clang的-ast-dump选项来帮助您理解AST结构。祝你好运。