0

我是clang的新手,我正在尝试在所有其他包含完成后添加一个#include<> 。

#include<iostream>
#include<math>
// I want to add my include here.

如果这是一个愚蠢的问题,我深表歉意。但我无法找到执行此操作的 AST Matcher。我指的是:

http://clang.llvm.org/docs/LibASTMatchersReference.html

4

1 回答 1

1

我不确定 AST 分析会有多大帮助:在将代码解析为 AST 之前,#include 指令会被预处理器替换。似乎它们没有出现在 AST 中。

一种不同的方法可能是 Clang 的预处理器钩子,它允许在预处理过程中的不同点注册回调:

https://clang.llvm.org/doxygen/classclang_1_1PPCallbacks.html

于 2017-11-20T15:31:00.297 回答