HarrySun

  博客园 :: 首页 :: 博问 :: 闪存 :: 新随笔 :: 联系 :: 订阅 订阅 :: 管理 ::

 

今天看了一下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中有一文档下载。

以后一定用的上。

 

 

posted on 2012-02-26 22:15  HarrySun  阅读(1390)  评论(0编辑  收藏  举报