结合叮当

Combining Clang AST

本文关键字:叮当 结合      更新时间:2023-10-16

我正在尝试使用 RecursiveASTVisitor 一次处理多个文件的 AST,发现这种方法buildASTs据说Create an AST for each file specified in the command line and append them to ASTs ClangTool

但是,我找不到使用示例或指南。

有人有组合来自多个来源的 AST 的经验吗?

我现在所做的是这个

ClangTool Tool(OptionsParser.getCompilations(), OptionsParser.getSourcePathList());
std::vector<std::unique_ptr<clang::ASTUnit>> AST;
Tool.buildASTs(AST);

但是我不知道如何从这里继续分析..

如果需要组合 AST,可以使用 clang::ASTImporter 将 AST 的各个部分合并到另一个 AST 中。

但是,最常见的策略是独立分析每个 AST,然后将结果合并在一起。