clang - 向 Clang 的 AST 添加节点

标签 clang abstract-syntax-tree llvm-clang

我需要将新节点插入 AST。例如,向函数添加命名空间:
转这个——

void foo();

进入这个 -
namespace bar {
    void foo();
}

我读了How to clone or create an AST Stmt node of clang?但我不喜欢使用源到源编译

肿瘤坏死因子

最佳答案

答案可以在这里找到
http://clang-developers.42468.n3.nabble.com/Adding-nodes-to-Clang-s-AST-td4054800.html

但是,节点会添加到 编译 AST - 例如,如果想将命名空间注入(inject)代码,他不能直接通过代码使用命名空间,因为词法分析器不知道它。

关于clang - 向 Clang 的 AST 添加节点,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41550891/

相关文章:

c++ - 如何使用 CMAKE_EXPORT_COMPILE_COMMANDS?

c++ - 如何识别在 clang 函数体中声明的变量

python - 如何从一个简单的函数中提取名称?

带有保留注释的 Python AST

c++ - 如何在 LLVM 的 LowerTypeTests Pass 中设置断点?

c++ - 为什么 libclang 会错误解析带有 .h 前缀的 C++ header ?

c++ - clang++ 错误或我不明白的东西?

c++ - 模板实例化——编译器如何避免重复符号?

clang - 什么是与 Xcode 捆绑的 LLVM 版本?

LLVM -stats 选项