1
解析返回算术表达式的结果。我需要能够使用抽象语法树显示此表达式和结果。我是新来的flex和野牛。如何在抽象语法树中显示我的野牛语法分析器的结果。
解析返回算术表达式的结果。我需要能够使用抽象语法树显示此表达式和结果。我是新来的flex和野牛。如何在抽象语法树中显示我的野牛语法分析器的结果。
您可以将树打印为s-expression。这很容易做到。
如何:执行访问(根,0)。
Visit(node N, D)
{ For i=1 to D print " ";
Print "(", type(N)), newline
For i=1 to #Children(N)
Visit(NthChild(N,i),D+1)
Print ")", newline
}
这将生成树作为文本输出。
用GraphViz做这件事,做同样的递归步骤。生成节点描述 进入访问。为每次访问调用生成Arc描述。