ruby-graphviz 0.9.0 → 0.9.1

Sign up to get free protection for your applications and to get access to all the features.
data/ChangeLog CHANGED
@@ -1,3 +1,11 @@
1
+ 0.9.1 :
2
+ * Bugs corrections
3
+ * Add the ability to create edge like that : node1 << node2 << node3 ...
4
+ * Complete README
5
+ * Add a DOT parser. This parser has a lot of limitations. So don't use it in a production context !
6
+ * :output and :file options are deprecated, please use :<format> => :<file>
7
+ * You can now specify multiple outputs via :<format> => :<file> (see sample 22).
8
+
1
9
  0.9.0 :
2
10
  * Add fdp example (sample 15)
3
11
  * Add edge between cluster and node and cluster and cluster support
@@ -7,7 +15,7 @@
7
15
  * Add possibility to set node or edge attribut via :
8
16
  node.<attribut>=<value> or node.<attribut>( <value> )
9
17
  adge.<attribut>=<value> or adge.<attribut>( <value> )
10
- * Add GraphViz::Edge.set and GraphViz::Node.net
18
+ * Add GraphViz::Edge.set and GraphViz::Node.set
11
19
  * Add sample 20
12
20
  * Add GraphViz.node_count and GraphViz.edge_count by Daniel Cadenas Nión
13
21
 
@@ -0,0 +1,67 @@
1
+ = Ruby/GraphViz
2
+
3
+ Copyright (C) 2004, 2005, 2006, 2007, 2008, 2009 Gregoire Lejeune
4
+
5
+ * Doc : http://rdoc.info/projects/glejeune/Ruby-Graphviz
6
+ * Sources : http://github.com/glejeune/Ruby-Graphviz
7
+
8
+ == DESCRIPTION
9
+
10
+ Interface to the GraphViz graphing tool
11
+
12
+ == SYNOPSIS
13
+
14
+ A basic example
15
+
16
+ require 'graphviz'
17
+
18
+ # Create a new graph
19
+ g = GraphViz.new( :G, :type => :digraph )
20
+
21
+ # Create two nodes
22
+ hello = g.add_node( "Hello" )
23
+ world = g.add_node( "World" )
24
+
25
+ # Create an edge between the two nodes
26
+ g.add_edge( hello, world )
27
+
28
+ # Generate output image
29
+ g.output( :output => "png", :file => "hello_world.png" )
30
+
31
+ The same but with a block
32
+
33
+ require 'graphviz'
34
+
35
+ GraphViz::new( :G, :type => :digraph ) { |g|
36
+ g.world( :label => "World" ) << g.hello( :label => Hello )
37
+ }.output( :output => :png, :file => "hello_world.png" )
38
+
39
+ Create a graph from a file
40
+
41
+ require 'graphviz'
42
+
43
+ # In this example, hello.dot is :
44
+ # digraph G {Hello->World;}
45
+
46
+ GraphViz.parse( "hello.dot", :path => "/usr/local/bin" ) { |g|
47
+ g.get_node("Hello") { |n|
48
+ n[:label] = "Bonjour"
49
+ }
50
+ g.get_node("World") { |n|
51
+ n[:label] = "Le Monde"
52
+ }
53
+ }.output(:output => "png", :file => "sample.png")
54
+
55
+ == INSTALLATION
56
+
57
+ sudo gem install ruby-graphviz
58
+
59
+ You also need to install GraphViz[http://www.graphviz.org]
60
+
61
+ == LICENCE
62
+
63
+ Ruby/GraphViz is freely distributable according to the terms of the
64
+ GNU General Public License (see the file 'COPYING').
65
+
66
+ This program is distributed without any warranty. See the file
67
+ 'COPYING' for details.
@@ -0,0 +1,31 @@
1
+ digraph G {
2
+
3
+ subgraph cluster_0 {
4
+ style=filled;
5
+ color=lightgrey;
6
+ node [style=filled,color=white];
7
+ a0 -> a1;
8
+ a1 -> a2;
9
+ a2 -> a3;
10
+ label = "process #1";
11
+ }
12
+
13
+ subgraph cluster_1 {
14
+ node [style=filled];
15
+ b0 -> b1;
16
+ b1 -> b2;
17
+ b2 -> b3;
18
+ label = "process #2";
19
+ color=blue;
20
+ }
21
+ start -> a0;
22
+ start -> b0;
23
+ a1 -> b3;
24
+ b2 -> a3;
25
+ a3 -> a0;
26
+ a3 -> end;
27
+ b3 -> end;
28
+
29
+ start [shape=Mdiamond];
30
+ end [shape=Msquare];
31
+ }
@@ -0,0 +1,20 @@
1
+ digraph finite_state_machine {
2
+ rankdir=LR;
3
+ size="8,5";
4
+ node [shape = doublecircle]; LR_0; LR_3; LR_4; LR_8;
5
+ node [shape = circle];
6
+ LR_0 -> LR_2 [ label = "SS(B)" ];
7
+ LR_0 -> LR_1 [ label = "SS(S)" ];
8
+ LR_1 -> LR_3 [ label = "S($end)" ];
9
+ LR_2 -> LR_6 [ label = "SS(b)" ];
10
+ LR_2 -> LR_5 [ label = "SS(a)" ];
11
+ LR_2 -> LR_4 [ label = "S(A)" ];
12
+ LR_5 -> LR_7 [ label = "S(b)" ];
13
+ LR_5 -> LR_5 [ label = "S(a)" ];
14
+ LR_6 -> LR_6 [ label = "S(b)" ];
15
+ LR_6 -> LR_5 [ label = "S(a)" ];
16
+ LR_7 -> LR_8 [ label = "S(b)" ];
17
+ LR_7 -> LR_5 [ label = "S(a)" ];
18
+ LR_8 -> LR_6 [ label = "S(b)" ];
19
+ LR_8 -> LR_5 [ label = "S(a)" ];
20
+ }
@@ -0,0 +1,118 @@
1
+ graph ""
2
+ {
3
+ label="((+ (* (X) (- (- (X) (X)) (X))) (% (+ (X) (X)) (COS (- (X) (X))))) (EXP (* (X) (X))) (+ (% (EXP (SIN (+ (X) (X)))) (SIN (* (X) (EXP (* (X) (X)))))) (* (X) (X))) (% (EXP (% (X) (% (X) (X)))) (EXP (SIN (X)))))";
4
+
5
+ subgraph cluster01
6
+ {
7
+ label="(+ (* (X) (- (- (X) (X)) (X))) (% (+ (X) (X)) (COS (- (X) (X)))))";
8
+ n002 ;
9
+ n002 [label="+"] ;
10
+ n002 -- n003 ;
11
+ n003 [label="*"] ;
12
+ n003 -- n004 ;
13
+ n004 [label="X"] ;
14
+ n003 -- n005 ;
15
+ n005 [label="-"] ;
16
+ n005 -- n006 ;
17
+ n006 [label="-"] ;
18
+ n006 -- n007 ;
19
+ n007 [label="X"] ;
20
+ n006 -- n008 ;
21
+ n008 [label="X"] ;
22
+ n005 -- n009 ;
23
+ n009 [label="X"] ;
24
+ n002 -- n010 ;
25
+ n010 [label="%"] ;
26
+ n010 -- n011 ;
27
+ n011 [label="+"] ;
28
+ n011 -- n012 ;
29
+ n012 [label="X"] ;
30
+ n011 -- n013 ;
31
+ n013 [label="X"] ;
32
+ n010 -- n014 ;
33
+ n014 [label="COS"] ;
34
+ n014 -- n015 ;
35
+ n015 [label="-"] ;
36
+ n015 -- n016 ;
37
+ n016 [label="X"] ;
38
+ n015 -- n017 ;
39
+ n017 [label="X"] ;
40
+ }
41
+
42
+ subgraph cluster17
43
+ {
44
+ label="(EXP (* (X) (X)))";
45
+ n018 ;
46
+ n018 [label="EXP"] ;
47
+ n018 -- n019 ;
48
+ n019 [label="*"] ;
49
+ n019 -- n020 ;
50
+ n020 [label="X"] ;
51
+ n019 -- n021 ;
52
+ n021 [label="X"] ;
53
+ }
54
+
55
+ subgraph cluster21
56
+ {
57
+ label="(+ (% (EXP (SIN (+ (X) (X)))) (SIN (* (X) (EXP (* (X) (X)))))) (* (X) (X)))";
58
+ n022 ;
59
+ n022 [label="+"] ;
60
+ n022 -- n023 ;
61
+ n023 [label="%"] ;
62
+ n023 -- n024 ;
63
+ n024 [label="EXP"] ;
64
+ n024 -- n025 ;
65
+ n025 [label="SIN"] ;
66
+ n025 -- n026 ;
67
+ n026 [label="+"] ;
68
+ n026 -- n027 ;
69
+ n027 [label="X"] ;
70
+ n026 -- n028 ;
71
+ n028 [label="X"] ;
72
+ n023 -- n029 ;
73
+ n029 [label="SIN"] ;
74
+ n029 -- n030 ;
75
+ n030 [label="*"] ;
76
+ n030 -- n031 ;
77
+ n031 [label="X"] ;
78
+ n030 -- n032 ;
79
+ n032 [label="EXP"] ;
80
+ n032 -- n033 ;
81
+ n033 [label="*"] ;
82
+ n033 -- n034 ;
83
+ n034 [label="X"] ;
84
+ n033 -- n035 ;
85
+ n035 [label="X"] ;
86
+ n022 -- n036 ;
87
+ n036 [label="*"] ;
88
+ n036 -- n037 ;
89
+ n037 [label="X"] ;
90
+ n036 -- n038 ;
91
+ n038 [label="X"] ;
92
+ }
93
+
94
+ subgraph cluster38
95
+ {
96
+ label="(% (EXP (% (X) (% (X) (X)))) (EXP (SIN (X))))";
97
+ n039 ;
98
+ n039 [label="%"] ;
99
+ n039 -- n040 ;
100
+ n040 [label="EXP"] ;
101
+ n040 -- n041 ;
102
+ n041 [label="%"] ;
103
+ n041 -- n042 ;
104
+ n042 [label="X"] ;
105
+ n041 -- n043 ;
106
+ n043 [label="%"] ;
107
+ n043 -- n044 ;
108
+ n044 [label="X"] ;
109
+ n043 -- n045 ;
110
+ n045 [label="X"] ;
111
+ n039 -- n046 ;
112
+ n046 [label="EXP"] ;
113
+ n046 -- n047 ;
114
+ n047 [label="SIN"] ;
115
+ n047 -- n048 ;
116
+ n048 [label="X"] ;
117
+ }
118
+ }
@@ -0,0 +1 @@
1
+ digraph G {Hello->World;}
@@ -0,0 +1,14 @@
1
+ #!/usr/bin/ruby
2
+
3
+ $:.unshift( "../../lib" );
4
+ require "graphviz"
5
+
6
+ GraphViz.parse( "hello.dot", :path => "/usr/local/bin" ) { |g|
7
+ g.get_node("Hello") { |n|
8
+ n.label = "Bonjour"
9
+ }
10
+ g.get_node("World") { |n|
11
+ n.label = "Le Monde"
12
+ }
13
+ }.output(:output => "png", :file => "sample.png")
14
+
@@ -0,0 +1,103 @@
1
+ digraph Ped_Lion_Share {
2
+ ratio = "auto" ;
3
+ label = "Pedigree Lion_Share" ;
4
+
5
+ "001" [shape=box , regular=1,style=filled,fillcolor=white ] ;
6
+ "002" [shape=box , regular=1,style=filled,fillcolor=white ] ;
7
+ "003" [shape=circle , regular=1,style=filled,fillcolor=white ] ;
8
+ "004" [shape=box , regular=1,style=filled,fillcolor=white ] ;
9
+ "005" [shape=box , regular=1,style=filled,fillcolor=white ] ;
10
+ "006" [shape=circle , regular=1,style=filled,fillcolor=white ] ;
11
+ "007" [shape=circle , regular=1,style=filled,fillcolor=white ] ;
12
+ "009" [shape=circle , regular=1,style=filled,fillcolor=white ] ;
13
+ "014" [shape=circle , regular=1,style=filled,fillcolor=white ] ;
14
+ "015" [shape=circle , regular=1,style=filled,fillcolor=white ] ;
15
+ "016" [shape=circle , regular=1,style=filled,fillcolor=white ] ;
16
+ "ZZ01" [shape=circle , regular=1,style=filled,fillcolor=white ] ;
17
+ "ZZ02" [shape=circle , regular=1,style=filled,fillcolor=white ] ;
18
+ "017" [shape=circle , regular=1,style=filled,fillcolor=white ] ;
19
+ "012" [shape=circle , regular=1,style=filled,fillcolor=white ] ;
20
+ "008" [shape=box , regular=1,style=filled,fillcolor=white ] ;
21
+ "011" [shape=box , regular=1,style=filled,fillcolor=white ] ;
22
+ "013" [shape=box , regular=1,style=filled,fillcolor=white ] ;
23
+ "010" [shape=box , regular=1,style=filled,fillcolor=white ] ;
24
+ "023" [shape=circle , regular=1,style=filled,fillcolor=white ] ;
25
+ "020" [shape=circle , regular=1,style=filled,fillcolor=white ] ;
26
+ "021" [shape=circle , regular=1,style=filled,fillcolor=white ] ;
27
+ "018" [shape=circle , regular=1,style=filled,fillcolor=white ] ;
28
+ "025" [shape=circle , regular=1,style=filled,fillcolor=white ] ;
29
+ "019" [shape=box , regular=1,style=filled,fillcolor=white ] ;
30
+ "022" [shape=box , regular=1,style=filled,fillcolor=white ] ;
31
+ "024" [shape=box , regular=1,style=filled,fillcolor=white ] ;
32
+ "027" [shape=circle , regular=1,style=filled,fillcolor=white ] ;
33
+ "026" [shape=box , regular=1,style=filled,fillcolor=white ] ;
34
+ "028" [shape=box , regular=1,style=filled,fillcolor=grey ] ;
35
+ "marr0001" [shape=diamond,style=filled,label="",height=.1,width=.1] ;
36
+ "001" -> "marr0001" [dir=none,weight=1] ;
37
+ "007" -> "marr0001" [dir=none,weight=1] ;
38
+ "marr0001" -> "017" [dir=none, weight=2] ;
39
+ "marr0002" [shape=diamond,style=filled,label="",height=.1,width=.1] ;
40
+ "001" -> "marr0002" [dir=none,weight=1] ;
41
+ "ZZ02" -> "marr0002" [dir=none,weight=1] ;
42
+ "marr0002" -> "012" [dir=none, weight=2] ;
43
+ "marr0003" [shape=diamond,style=filled,label="",height=.1,width=.1] ;
44
+ "002" -> "marr0003" [dir=none,weight=1] ;
45
+ "003" -> "marr0003" [dir=none,weight=1] ;
46
+ "marr0003" -> "008" [dir=none, weight=2] ;
47
+ "marr0004" [shape=diamond,style=filled,label="",height=.1,width=.1] ;
48
+ "002" -> "marr0004" [dir=none,weight=1] ;
49
+ "006" -> "marr0004" [dir=none,weight=1] ;
50
+ "marr0004" -> "011" [dir=none, weight=2] ;
51
+ "marr0005" [shape=diamond,style=filled,label="",height=.1,width=.1] ;
52
+ "002" -> "marr0005" [dir=none,weight=1] ;
53
+ "ZZ01" -> "marr0005" [dir=none,weight=1] ;
54
+ "marr0005" -> "013" [dir=none, weight=2] ;
55
+ "marr0006" [shape=diamond,style=filled,label="",height=.1,width=.1] ;
56
+ "004" -> "marr0006" [dir=none,weight=1] ;
57
+ "009" -> "marr0006" [dir=none,weight=1] ;
58
+ "marr0006" -> "010" [dir=none, weight=2] ;
59
+ "marr0007" [shape=diamond,style=filled,label="",height=.1,width=.1] ;
60
+ "005" -> "marr0007" [dir=none,weight=1] ;
61
+ "015" -> "marr0007" [dir=none,weight=1] ;
62
+ "marr0007" -> "023" [dir=none, weight=2] ;
63
+ "marr0008" [shape=diamond,style=filled,label="",height=.1,width=.1] ;
64
+ "005" -> "marr0008" [dir=none,weight=1] ;
65
+ "016" -> "marr0008" [dir=none,weight=1] ;
66
+ "marr0008" -> "020" [dir=none, weight=2] ;
67
+ "marr0009" [shape=diamond,style=filled,label="",height=.1,width=.1] ;
68
+ "005" -> "marr0009" [dir=none,weight=1] ;
69
+ "012" -> "marr0009" [dir=none,weight=1] ;
70
+ "marr0009" -> "021" [dir=none, weight=2] ;
71
+ "marr0010" [shape=diamond,style=filled,label="",height=.1,width=.1] ;
72
+ "008" -> "marr0010" [dir=none,weight=1] ;
73
+ "017" -> "marr0010" [dir=none,weight=1] ;
74
+ "marr0010" -> "018" [dir=none, weight=2] ;
75
+ "marr0011" [shape=diamond,style=filled,label="",height=.1,width=.1] ;
76
+ "011" -> "marr0011" [dir=none,weight=1] ;
77
+ "023" -> "marr0011" [dir=none,weight=1] ;
78
+ "marr0011" -> "025" [dir=none, weight=2] ;
79
+ "marr0012" [shape=diamond,style=filled,label="",height=.1,width=.1] ;
80
+ "013" -> "marr0012" [dir=none,weight=1] ;
81
+ "014" -> "marr0012" [dir=none,weight=1] ;
82
+ "marr0012" -> "019" [dir=none, weight=2] ;
83
+ "marr0013" [shape=diamond,style=filled,label="",height=.1,width=.1] ;
84
+ "010" -> "marr0013" [dir=none,weight=1] ;
85
+ "021" -> "marr0013" [dir=none,weight=1] ;
86
+ "marr0013" -> "022" [dir=none, weight=2] ;
87
+ "marr0014" [shape=diamond,style=filled,label="",height=.1,width=.1] ;
88
+ "019" -> "marr0014" [dir=none,weight=1] ;
89
+ "020" -> "marr0014" [dir=none,weight=1] ;
90
+ "marr0014" -> "024" [dir=none, weight=2] ;
91
+ "marr0015" [shape=diamond,style=filled,label="",height=.1,width=.1] ;
92
+ "022" -> "marr0015" [dir=none,weight=1] ;
93
+ "025" -> "marr0015" [dir=none,weight=1] ;
94
+ "marr0015" -> "027" [dir=none, weight=2] ;
95
+ "marr0016" [shape=diamond,style=filled,label="",height=.1,width=.1] ;
96
+ "024" -> "marr0016" [dir=none,weight=1] ;
97
+ "018" -> "marr0016" [dir=none,weight=1] ;
98
+ "marr0016" -> "026" [dir=none, weight=2] ;
99
+ "marr0017" [shape=diamond,style=filled,label="",height=.1,width=.1] ;
100
+ "026" -> "marr0017" [dir=none,weight=1] ;
101
+ "027" -> "marr0017" [dir=none,weight=1] ;
102
+ "marr0017" -> "028" [dir=none, weight=2] ;
103
+ }
@@ -0,0 +1,150 @@
1
+ digraph prof {
2
+ size="6,4"; ratio = fill;
3
+ node [style=filled];
4
+ start -> main [color="0.002 0.999 0.999"];
5
+ start -> on_exit [color="0.649 0.701 0.701"];
6
+ main -> sort [color="0.348 0.839 0.839"];
7
+ main -> merge [color="0.515 0.762 0.762"];
8
+ main -> term [color="0.647 0.702 0.702"];
9
+ main -> signal [color="0.650 0.700 0.700"];
10
+ main -> sbrk [color="0.650 0.700 0.700"];
11
+ main -> unlink [color="0.650 0.700 0.700"];
12
+ main -> newfile [color="0.650 0.700 0.700"];
13
+ main -> fclose [color="0.650 0.700 0.700"];
14
+ main -> close [color="0.650 0.700 0.700"];
15
+ main -> brk [color="0.650 0.700 0.700"];
16
+ main -> setbuf [color="0.650 0.700 0.700"];
17
+ main -> copyproto [color="0.650 0.700 0.700"];
18
+ main -> initree [color="0.650 0.700 0.700"];
19
+ main -> safeoutfil [color="0.650 0.700 0.700"];
20
+ main -> getpid [color="0.650 0.700 0.700"];
21
+ main -> sprintf [color="0.650 0.700 0.700"];
22
+ main -> creat [color="0.650 0.700 0.700"];
23
+ main -> rem [color="0.650 0.700 0.700"];
24
+ main -> oldfile [color="0.650 0.700 0.700"];
25
+ sort -> msort [color="0.619 0.714 0.714"];
26
+ sort -> filbuf [color="0.650 0.700 0.700"];
27
+ sort -> newfile [color="0.650 0.700 0.700"];
28
+ sort -> fclose [color="0.650 0.700 0.700"];
29
+ sort -> setbuf [color="0.650 0.700 0.700"];
30
+ sort -> setfil [color="0.650 0.700 0.700"];
31
+ msort -> qsort [color="0.650 0.700 0.700"];
32
+ msort -> insert [color="0.650 0.700 0.700"];
33
+ msort -> wline [color="0.650 0.700 0.700"];
34
+ msort -> div [color="0.650 0.700 0.700"];
35
+ msort -> cmpsave [color="0.650 0.700 0.700"];
36
+ merge -> insert [color="0.650 0.700 0.700"];
37
+ merge -> rline [color="0.650 0.700 0.700"];
38
+ merge -> wline [color="0.650 0.700 0.700"];
39
+ merge -> unlink [color="0.650 0.700 0.700"];
40
+ merge -> fopen [color="0.650 0.700 0.700"];
41
+ merge -> fclose [color="0.650 0.700 0.700"];
42
+ merge -> setfil [color="0.650 0.700 0.700"];
43
+ merge -> mul [color="0.650 0.700 0.700"];
44
+ merge -> setbuf [color="0.650 0.700 0.700"];
45
+ merge -> cmpsave [color="0.650 0.700 0.700"];
46
+ insert -> cmpa [color="0.650 0.700 0.700"];
47
+ wline -> flsbuf [color="0.649 0.700 0.700"];
48
+ qsort -> cmpa [color="0.650 0.700 0.700"];
49
+ rline -> filbuf [color="0.649 0.700 0.700"];
50
+ xflsbuf -> write [color="0.650 0.700 0.700"];
51
+ flsbuf -> xflsbuf [color="0.649 0.700 0.700"];
52
+ filbuf -> read [color="0.650 0.700 0.700"];
53
+ term -> unlink [color="0.650 0.700 0.700"];
54
+ term -> signal [color="0.650 0.700 0.700"];
55
+ term -> setfil [color="0.650 0.700 0.700"];
56
+ term -> exit [color="0.650 0.700 0.700"];
57
+ endopen -> open [color="0.650 0.700 0.700"];
58
+ fopen -> endopen [color="0.639 0.705 0.705"];
59
+ fopen -> findiop [color="0.650 0.700 0.700"];
60
+ newfile -> fopen [color="0.634 0.707 0.707"];
61
+ newfile -> setfil [color="0.650 0.700 0.700"];
62
+ fclose -> fflush [color="0.642 0.704 0.704"];
63
+ fclose -> close [color="0.650 0.700 0.700"];
64
+ fflush -> xflsbuf [color="0.635 0.707 0.707"];
65
+ malloc -> morecore [color="0.325 0.850 0.850"];
66
+ malloc -> demote [color="0.650 0.700 0.700"];
67
+ morecore -> sbrk [color="0.650 0.700 0.700"];
68
+ morecore -> getfreehdr [color="0.650 0.700 0.700"];
69
+ morecore -> free [color="0.650 0.700 0.700"];
70
+ morecore -> getpagesize [color="0.650 0.700 0.700"];
71
+ morecore -> putfreehdr [color="0.650 0.700 0.700"];
72
+ morecore -> udiv [color="0.650 0.700 0.700"];
73
+ morecore -> umul [color="0.650 0.700 0.700"];
74
+ on_exit -> malloc [color="0.325 0.850 0.850"];
75
+ signal -> sigvec [color="0.650 0.700 0.700"];
76
+ moncontrol -> profil [color="0.650 0.700 0.700"];
77
+ getfreehdr -> sbrk [color="0.650 0.700 0.700"];
78
+ free -> insert [color="0.650 0.700 0.700"];
79
+ insert -> getfreehdr [color="0.650 0.700 0.700"];
80
+ setfil -> div [color="0.650 0.700 0.700"];
81
+ setfil -> rem [color="0.650 0.700 0.700"];
82
+ sigvec -> sigblock [color="0.650 0.700 0.700"];
83
+ sigvec -> sigsetmask [color="0.650 0.700 0.700"];
84
+ doprnt -> urem [color="0.650 0.700 0.700"];
85
+ doprnt -> udiv [color="0.650 0.700 0.700"];
86
+ doprnt -> strlen [color="0.650 0.700 0.700"];
87
+ doprnt -> localeconv [color="0.650 0.700 0.700"];
88
+ sprintf -> doprnt [color="0.650 0.700 0.700"];
89
+ cmpa [color="0.000 1.000 1.000"];
90
+ wline [color="0.201 0.753 1.000"];
91
+ insert [color="0.305 0.625 1.000"];
92
+ rline [color="0.355 0.563 1.000"];
93
+ sort [color="0.408 0.498 1.000"];
94
+ qsort [color="0.449 0.447 1.000"];
95
+ write [color="0.499 0.386 1.000"];
96
+ read [color="0.578 0.289 1.000"];
97
+ msort [color="0.590 0.273 1.000"];
98
+ merge [color="0.603 0.258 1.000"];
99
+ unlink [color="0.628 0.227 1.000"];
100
+ filbuf [color="0.641 0.212 1.000"];
101
+ open [color="0.641 0.212 1.000"];
102
+ sbrk [color="0.647 0.204 1.000"];
103
+ signal [color="0.647 0.204 1.000"];
104
+ moncontrol [color="0.647 0.204 1.000"];
105
+ xflsbuf [color="0.650 0.200 1.000"];
106
+ flsbuf [color="0.650 0.200 1.000"];
107
+ div [color="0.650 0.200 1.000"];
108
+ cmpsave [color="0.650 0.200 1.000"];
109
+ rem [color="0.650 0.200 1.000"];
110
+ setfil [color="0.650 0.200 1.000"];
111
+ close [color="0.650 0.200 1.000"];
112
+ fclose [color="0.650 0.200 1.000"];
113
+ fflush [color="0.650 0.200 1.000"];
114
+ setbuf [color="0.650 0.200 1.000"];
115
+ endopen [color="0.650 0.200 1.000"];
116
+ findiop [color="0.650 0.200 1.000"];
117
+ fopen [color="0.650 0.200 1.000"];
118
+ mul [color="0.650 0.200 1.000"];
119
+ newfile [color="0.650 0.200 1.000"];
120
+ sigblock [color="0.650 0.200 1.000"];
121
+ sigsetmask [color="0.650 0.200 1.000"];
122
+ sigvec [color="0.650 0.200 1.000"];
123
+ udiv [color="0.650 0.200 1.000"];
124
+ urem [color="0.650 0.200 1.000"];
125
+ brk [color="0.650 0.200 1.000"];
126
+ getfreehdr [color="0.650 0.200 1.000"];
127
+ strlen [color="0.650 0.200 1.000"];
128
+ umul [color="0.650 0.200 1.000"];
129
+ doprnt [color="0.650 0.200 1.000"];
130
+ copyproto [color="0.650 0.200 1.000"];
131
+ creat [color="0.650 0.200 1.000"];
132
+ demote [color="0.650 0.200 1.000"];
133
+ exit [color="0.650 0.200 1.000"];
134
+ free [color="0.650 0.200 1.000"];
135
+ getpagesize [color="0.650 0.200 1.000"];
136
+ getpid [color="0.650 0.200 1.000"];
137
+ initree [color="0.650 0.200 1.000"];
138
+ insert [color="0.650 0.200 1.000"];
139
+ localeconv [color="0.650 0.200 1.000"];
140
+ main [color="0.650 0.200 1.000"];
141
+ malloc [color="0.650 0.200 1.000"];
142
+ morecore [color="0.650 0.200 1.000"];
143
+ oldfile [color="0.650 0.200 1.000"];
144
+ on_exit [color="0.650 0.200 1.000"];
145
+ profil [color="0.650 0.200 1.000"];
146
+ putfreehdr [color="0.650 0.200 1.000"];
147
+ safeoutfil [color="0.650 0.200 1.000"];
148
+ sprintf [color="0.650 0.200 1.000"];
149
+ term [color="0.650 0.200 1.000"];
150
+ }