如何在抽象语法树中显示我的野牛解析器的结果。

时间:2014-10-03 19:30:44

标签: graphviz abstract-syntax-tree

解析返回算术表达式的结果。我需要能够使用抽象语法树显示此表达式和结果。我是flex和bison的新手。

1 个答案:

答案 0 :(得分:0)

您可以将树打印为s-expression。这很容易做到。

如何:执行访问(Root,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执行此操作时,请执行相同的递归遍历。生成节点描述 进入参观。每次调用Visit时生成Arc描述。

相关问题