Graphviz 如何在抽象语法树中显示bison解析器的结果。

Graphviz 如何在抽象语法树中显示bison解析器的结果。,graphviz,abstract-syntax-tree,Graphviz,Abstract Syntax Tree,解析返回算术表达式的结果。我需要能够使用抽象语法树显示这个表达式和结果。我不熟悉flex和bison 您可以将树打印为一个文件。这很容易做到 如何:执行访问(根,0) 这将生成树作为文本输出 要使用GraphViz执行此操作,请执行相同的递归遍历。生成节点描述 进入参观时。在每次拜访时生成Arc描述。bison是否生成AST?或者,它会生成解析树吗? Visit(node N, D) { For i=1 to D print " "; Print "(", type(N)), new

解析返回算术表达式的结果。我需要能够使用抽象语法树显示这个表达式和结果。我不熟悉flex和bison

您可以将树打印为一个文件。这很容易做到

如何:执行访问(根,0)

这将生成树作为文本输出

要使用GraphViz执行此操作,请执行相同的递归遍历。生成节点描述
进入参观时。在每次拜访时生成Arc描述。

bison是否生成AST?或者,它会生成解析树吗?
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 
}