gpt4 book ai didi

clang - 如何使用 C++ API 在 ClangAST 中获取与节点关联的指针?

转载 作者:行者123 更新时间:2023-12-04 08:04:38 26 4
gpt4 key购买 nike

当您使用 clang 转储 C 程序的 AST 时,树中的每个节点都有唯一的十六进制代码。
https://stephenwzl.github.io/images/ast-dump.png
例如,上图中的 x 为 0x7efcf7017538。
我正在尝试基于 C 程序的 AST 进行一些计算。我需要能够将变量引用与其以前的使用和分配联系起来。我认为最好的方法是使用唯一的十六进制代码 clang 分配给 VarDecl。我试过查看 clang API 并对转储函数进行逆向工程,但我似乎无法找到该值的存储方式。我正在使用递归访问者来走树。是否有我必须为节点引用的变量或必须在节点上调用的函数?

最佳答案

因此,看起来它实际上只是指向 stmt、decl 等的实际指针。
所以,如果你有一个 stmt* s 并且你想得到指针,只需 cout s

关于clang - 如何使用 C++ API 在 ClangAST 中获取与节点关联的指针?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/66279471/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com