3

我想在后序中从 C 程序中遍历 AST。到目前为止,我发现RecursiveASTVisitor可以按顺序遍历树。我想过重写 Traverse* 方法。但是,我认为这对于一个相对常见的任务来说是相当复杂的。有没有更简单的方法或我还没有找到的课程?

4

2 回答 2

1

https://clang.llvm.org/doxygen/classclang_1_1RecursiveASTVisitor.html#details

默认情况下,此访问者预购会遍历 AST。如果需要后序遍历,则需要重写 shouldTraversePostOrder 方法以返回 true。

于 2020-06-05T18:46:21.757 回答
0

制作通用代码会更复杂,而且可能效率不高。

于 2013-12-08T12:04:21.277 回答