C++ 如何在RecursiveASTVisitor(clang)中接收当前深度?

C++ 如何在RecursiveASTVisitor(clang)中接收当前深度?,c++,clang,abstract-syntax-tree,clang++,C++,Clang,Abstract Syntax Tree,Clang++,我试着用几周的时间来理解叮当声的操作原理 但与此同时,我没有回答主要问题:如何走在这条路上 树? 我阅读了我找到的所有指南,研究了doxygen文档,甚至 在YouTube上观看了几场演讲,但理解力并不强 来吧 我明白: 1) 树的AST没有一般类型的节点 2) 对于树上的移动,可以使用RecursiveASTVisitor, 或匹配器。第一个递归实现深度旁路,第二个递归实现深度旁路 允许查找感兴趣的节点 问题在于我在树的哪一部分,在两个选项中的哪一个中 不能学习。我不知道如何定义我的访客在什么

我试着用几周的时间来理解叮当声的操作原理 但与此同时,我没有回答主要问题:如何走在这条路上 树? 我阅读了我找到的所有指南,研究了doxygen文档,甚至 在YouTube上观看了几场演讲,但理解力并不强 来吧

我明白:

1) 树的AST没有一般类型的节点

2) 对于树上的移动,可以使用RecursiveASTVisitor, 或匹配器。第一个递归实现深度旁路,第二个递归实现深度旁路 允许查找感兴趣的节点

问题在于我在树的哪一部分,在两个选项中的哪一个中 不能学习。我不知道如何定义我的访客在什么时候经过 到另一个分支,在什么时刻继续向纵深移动。 理想情况下,最好知道我访问的节点的深度。它是 可能吗

我非常喜欢dump()函数输出,因为在它的通信中 精确显示节点之间的连接。然而,如何以纯粹的形式接受它呢 (但并非如正文所示)我不知道

一般来说,问题如下:我是否可以在 AST的基础,但具有统一类型的节点,如何使之成为现实