如何遍历yacc生成的解析树?

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了如何遍历yacc生成的解析树?相关的知识,希望对你有一定的参考价值。

假设我已经为我的yacc文件提供了一个有效的算术表达式。现在我想通过前后顺序遍历它来显示解析树的外观。是否可以遍历解析树。只是编译器设计的新手。

答案

只有在解析时自己构建树。 Bison / yacc不会为你做那件事。

然而,减少动作实际上是深度优先的预订步行,因为减少从左到右自下而上发生。因此,您可以通过在每个缩减规则中放入“访问”代码来获得与解析树步行非常相似的内容。

但是你最好学习如何创建AST。

以上是关于如何遍历yacc生成的解析树?的主要内容,如果未能解决你的问题,请参考以下文章

如何利用AngularJS框架遍历生成动态的下拉框

如何基于树遍历算法从这个结果集中生成树视图?

请问如何用随机函数生成二叉树,并遍历?

请问yacc的.y文件是不是识别c++语法写的函数?

遍历决策树得到规则集

如何遍历具有多个分支的树