今天看了一下dot文件的描述格式,挺强大。注意此dot是graphviz软件相关的图像格式定义,而非office中的word模版。
有了这个工具,或者按照dot的文法,我们可以在程序中将内部信息按照描述出来,然后利用命令行转成相应图像。
一个简单示例如下:
//test.dot 文本内容如下:此文本是c++的中间代码过程中,产生的控制流图描述文件
1 digraph G{
2 subgraph cluster_0{
3 label = "main" style = "dashed";
4 color = purple;
5 Node0 [label = "Begin"];
6 Node0 -> {Node2 }
7 Node1 [label = "End"];
8 Node1 -> {}
9 Node2 [label = "B2"];
10 Node2 -> {Node3 }
11 Node3 [label = "B3"];
12 Node3 -> {Node4 Node3 }
13 Node4 [label = "B4"];
14 Node4 -> {Node5 Node6 }
15 Node5 [label = "B5"];
16 Node5 -> {Node6 Node5 }
17 Node6 [label = "B6"];
18 Node6 -> {Node7 Node8 }
19 Node7 [label = "B7"];
20 Node7 -> {Node9 }
21 Node8 [label = "B8"];
22 Node8 -> {Node9 }
23 Node9 [label = "B9"];
24 Node9 -> {Node10 }
25 Node10 [label = "B10"];
26 Node10 -> {Node1 }
27 }
28 }
经过命令行转换之后png图型
这只是一个简单的运用,生成hashtable描述图,生成函数调用图等都可以用这种格式描述,还可以描述边的权值。
具体可以参考:http://www.graphviz.org/
其中:http://www.graphviz.org/pdf/dotguide.pdf中有一文档下载。
以后一定用的上。