2016-07-12 43 views
1

Ich versuche, auf der AST von mehreren Dateien auf einmal zu arbeiten mit RecursiveASTVisitor und fand diese Methode buildASTs von ClangTool, die Create an AST for each file specified in the command line and append them to ASTs heißt.Combining Clang AST

Ich kann jedoch keine Beispiele für die Verwendung oder Anleitungen finden.

Jeder hat Erfahrung mit der Kombination von ASTs aus mehreren Quellen?

Was ich jetzt getan ist dies

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

Aber ich weiß nicht, wie von hier aus mit der Analyse fortzufahren ..

+0

Wo können Sie das finden? Sogar ich stoße auf dasselbe Problem. –

Antwort

0

Wenn Sie ASTs kombinieren müssen, können Sie Teile fusionieren von einem AST in einen anderen mit clang :: ASTImporter.

Die häufigste Strategie ist jedoch, jeden AST unabhängig zu analysieren und dann die Ergebnisse zusammenzuführen.