简单DAG生成算法的一个性质
2009-06-03 08:30:24 来源:WEB开发网核心提示: 使用方法是直接运行该程序,然后在一行上输入一个符合前面语法规则的表达式,简单DAG生成算法的一个性质(4),或者是在运行该程序的时候提供一个参数作为这个表达式,运行程序后, 例如说运行程序后输入a + b + (a + b)回车,会看到: Dot代码// DOT script for AS
使用方法是直接运行该程序,然后在一行上输入一个符合前面语法规则的表达式,或者是在运行该程序的时候提供一个参数作为这个表达式。运行程序后,如果解析正常结束,那么会在标准输出上先后输出对应AST和DAG的DOT代码。
输出的DOT代码通过Graphviz的dot程序就能生成图片。
例如说运行程序后输入a + b + (a + b)回车,会看到:
Dot代码
// DOT script for AST:
digraph {
node [fontsize=12, font=Courier, shape=plaintext]
node_0 [label="+"]
node_1 [label="+"]
node_2 [label="+"]
node_0 -> node_1
node_0 -> node_2
node_3 [label="a"]
node_4 [label="b"]
node_1 -> node_3
node_1 -> node_4
node_5 [label="a"]
node_6 [label="b"]
node_2 -> node_5
node_2 -> node_6
}
和
Dot代码
// DOT script for DAG:
digraph {
node [fontsize=12, font=Courier, shape=plaintext]
node_0 [label="+"]
node_1 [label="+"]
node_0 -> node_1
node_0 -> node_1
node_2 [label="a"]
node_3 [label="b"]
node_1 -> node_2
node_1 -> node_3
}
用dot把它们分别转换成图片即可。假如对应DAG的这段DOT代码被保存到名为dag.dot文件里,则:
Command prompt代码
dot -Tpng dag.dot -o dag.png
更多精彩
赞助商链接