luquet-ruby-graphviz 0.9.5
Sign up to get free protection for your applications and to get access to all the features.
- data/AUTHORS +7 -0
- data/COPYING +340 -0
- data/ChangeLog +66 -0
- data/README.rdoc +69 -0
- data/bin/ruby2gv +194 -0
- data/examples/HTML-Labels.rb +20 -0
- data/examples/arrowhead.rb +97 -0
- data/examples/dot/cluster.dot +31 -0
- data/examples/dot/fsm.dot +20 -0
- data/examples/dot/genetic.dot +118 -0
- data/examples/dot/hello.dot +1 -0
- data/examples/dot/hello_test.rb +14 -0
- data/examples/dot/lion_share.dot +103 -0
- data/examples/dot/prof.dot +150 -0
- data/examples/dot/psg.dot +28 -0
- data/examples/dot/sdh.dot +284 -0
- data/examples/dot/siblings.dot +492 -0
- data/examples/dot/test.dot +17 -0
- data/examples/dot/unix.dot +104 -0
- data/examples/graphviz.org/TrafficLights.rb +62 -0
- data/examples/graphviz.org/cluster.rb +62 -0
- data/examples/graphviz.org/hello_world.rb +10 -0
- data/examples/graphviz.org/lion_share.rb +215 -0
- data/examples/graphviz.org/process.rb +37 -0
- data/examples/maketest.sh +85 -0
- data/examples/p2p.rb +35 -0
- data/examples/sample01.rb +32 -0
- data/examples/sample02.rb +42 -0
- data/examples/sample03.rb +31 -0
- data/examples/sample04.rb +22 -0
- data/examples/sample05.rb +32 -0
- data/examples/sample06.rb +46 -0
- data/examples/sample07.rb +23 -0
- data/examples/sample08.rb +34 -0
- data/examples/sample09.rb +50 -0
- data/examples/sample10.rb +50 -0
- data/examples/sample11.rb +42 -0
- data/examples/sample12.rb +55 -0
- data/examples/sample13.rb +48 -0
- data/examples/sample14.rb +44 -0
- data/examples/sample15.rb +23 -0
- data/examples/sample16.rb +8 -0
- data/examples/sample17.rb +92 -0
- data/examples/sample18.rb +24 -0
- data/examples/sample19.rb +59 -0
- data/examples/sample20.rb +47 -0
- data/examples/sample21.rb +12 -0
- data/examples/sample22.rb +10 -0
- data/examples/sample23.rb +11 -0
- data/examples/sample24.rb +11 -0
- data/examples/sample25.rb +11 -0
- data/examples/shapes.rb +24 -0
- data/examples/test.xml +26 -0
- data/examples/testorder.rb +43 -0
- data/examples/testxml.rb +7 -0
- data/lib/graphviz.rb +655 -0
- data/lib/graphviz/attrs.rb +51 -0
- data/lib/graphviz/constants.rb +246 -0
- data/lib/graphviz/dot.treetop +97 -0
- data/lib/graphviz/edge.rb +130 -0
- data/lib/graphviz/node.rb +129 -0
- data/lib/graphviz/parser.rb +249 -0
- data/lib/graphviz/xml.rb +131 -0
- data/setup.rb +1585 -0
- metadata +176 -0
@@ -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(:png => "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
|
+
}
|
@@ -0,0 +1,28 @@
|
|
1
|
+
digraph g {
|
2
|
+
graph [fontsize=30 labelloc="t" label="" splines=true overlap=false rankdir = "LR"];
|
3
|
+
ratio = auto;
|
4
|
+
"state0" [ style = "filled, bold" penwidth = 5 fillcolor = "white" fontname = "Courier New" shape = "Mrecord" label =<<table border="0" cellborder="0" cellpadding="3" bgcolor="white"><tr><td bgcolor="black" align="center" colspan="2"><font color="white">State #0</font></td></tr><tr><td align="left" port="r0">(0) s -> •e $ </td></tr><tr><td align="left" port="r1">(1) e -> •l '=' r </td></tr><tr><td align="left" port="r2">(2) e -> •r </td></tr><tr><td align="left" port="r3">(3) l -> •'*' r </td></tr><tr><td align="left" port="r4">(4) l -> •'n' </td></tr><tr><td align="left" port="r5">(5) r -> •l </td></tr></table>> ];
|
5
|
+
"state1" [ style = "filled" penwidth = 1 fillcolor = "white" fontname = "Courier New" shape = "Mrecord" label =<<table border="0" cellborder="0" cellpadding="3" bgcolor="white"><tr><td bgcolor="black" align="center" colspan="2"><font color="white">State #1</font></td></tr><tr><td align="left" port="r3">(3) l -> •'*' r </td></tr><tr><td align="left" port="r3">(3) l -> '*' •r </td></tr><tr><td align="left" port="r4">(4) l -> •'n' </td></tr><tr><td align="left" port="r5">(5) r -> •l </td></tr></table>> ];
|
6
|
+
"state2" [ style = "filled" penwidth = 1 fillcolor = "white" fontname = "Courier New" shape = "Mrecord" label =<<table border="0" cellborder="0" cellpadding="3" bgcolor="white"><tr><td bgcolor="black" align="center" colspan="2"><font color="white">State #2</font></td></tr><tr><td align="left" port="r4">(4) l -> 'n' •</td><td bgcolor="grey" align="right">=$</td></tr></table>> ];
|
7
|
+
"state3" [ style = "filled" penwidth = 1 fillcolor = "white" fontname = "Courier New" shape = "Mrecord" label =<<table border="0" cellborder="0" cellpadding="3" bgcolor="white"><tr><td bgcolor="black" align="center" colspan="2"><font color="white">State #3</font></td></tr><tr><td align="left" port="r5">(5) r -> l •</td><td bgcolor="grey" align="right">=$</td></tr></table>> ];
|
8
|
+
"state4" [ style = "filled" penwidth = 1 fillcolor = "white" fontname = "Courier New" shape = "Mrecord" label =<<table border="0" cellborder="0" cellpadding="3" bgcolor="white"><tr><td bgcolor="black" align="center" colspan="2"><font color="white">State #4</font></td></tr><tr><td align="left" port="r3">(3) l -> '*' r •</td><td bgcolor="grey" align="right">=$</td></tr></table>> ];
|
9
|
+
"state5" [ style = "filled" penwidth = 1 fillcolor = "black" fontname = "Courier New" shape = "Mrecord" label =<<table border="0" cellborder="0" cellpadding="3" bgcolor="black"><tr><td bgcolor="black" align="center" colspan="2"><font color="white">State #5</font></td></tr><tr><td align="left" port="r0"><font color="white">(0) s -> e •$ </font></td></tr></table>> ];
|
10
|
+
"state6" [ style = "filled" penwidth = 1 fillcolor = "white" fontname = "Courier New" shape = "Mrecord" label =<<table border="0" cellborder="0" cellpadding="3" bgcolor="white"><tr><td bgcolor="black" align="center" colspan="2"><font color="white">State #6</font></td></tr><tr><td align="left" port="r1">(1) e -> l •'=' r </td></tr><tr><td align="left" port="r5">(5) r -> l •</td><td bgcolor="grey" align="right">$</td></tr></table>> ];
|
11
|
+
"state7" [ style = "filled" penwidth = 1 fillcolor = "white" fontname = "Courier New" shape = "Mrecord" label =<<table border="0" cellborder="0" cellpadding="3" bgcolor="white"><tr><td bgcolor="black" align="center" colspan="2"><font color="white">State #7</font></td></tr><tr><td align="left" port="r1">(1) e -> l '=' •r </td></tr><tr><td align="left" port="r3">(3) l -> •'*' r </td></tr><tr><td align="left" port="r4">(4) l -> •'n' </td></tr><tr><td align="left" port="r5">(5) r -> •l </td></tr></table>> ];
|
12
|
+
"state8" [ style = "filled" penwidth = 1 fillcolor = "white" fontname = "Courier New" shape = "Mrecord" label =<<table border="0" cellborder="0" cellpadding="3" bgcolor="white"><tr><td bgcolor="black" align="center" colspan="2"><font color="white">State #8</font></td></tr><tr><td align="left" port="r1">(1) e -> l '=' r •</td><td bgcolor="grey" align="right">$</td></tr></table>> ];
|
13
|
+
"state9" [ style = "filled" penwidth = 1 fillcolor = "white" fontname = "Courier New" shape = "Mrecord" label =<<table border="0" cellborder="0" cellpadding="3" bgcolor="white"><tr><td bgcolor="black" align="center" colspan="2"><font color="white">State #9</font></td></tr><tr><td align="left" port="r2">(2) e -> r •</td><td bgcolor="grey" align="right">$</td></tr></table>> ];
|
14
|
+
state0 -> state5 [ penwidth = 5 fontsize = 28 fontcolor = "black" label = "e" ];
|
15
|
+
state0 -> state6 [ penwidth = 5 fontsize = 28 fontcolor = "black" label = "l" ];
|
16
|
+
state0 -> state9 [ penwidth = 5 fontsize = 28 fontcolor = "black" label = "r" ];
|
17
|
+
state0 -> state1 [ penwidth = 1 fontsize = 14 fontcolor = "grey28" label = "'*'" ];
|
18
|
+
state0 -> state2 [ penwidth = 1 fontsize = 14 fontcolor = "grey28" label = "'n'" ];
|
19
|
+
state1 -> state1 [ penwidth = 1 fontsize = 14 fontcolor = "grey28" label = "'*'" ];
|
20
|
+
state1 -> state4 [ penwidth = 5 fontsize = 28 fontcolor = "black" label = "r" ];
|
21
|
+
state1 -> state2 [ penwidth = 1 fontsize = 14 fontcolor = "grey28" label = "'n'" ];
|
22
|
+
state1 -> state3 [ penwidth = 5 fontsize = 28 fontcolor = "black" label = "l" ];
|
23
|
+
state6 -> state7 [ penwidth = 1 fontsize = 14 fontcolor = "grey28" label = "'='" ];
|
24
|
+
state7 -> state8 [ penwidth = 5 fontsize = 28 fontcolor = "black" label = "r" ];
|
25
|
+
state7 -> state1 [ penwidth = 1 fontsize = 14 fontcolor = "grey28" label = "'*'" ];
|
26
|
+
state7 -> state2 [ penwidth = 1 fontsize = 14 fontcolor = "grey28" label = "'n'" ];
|
27
|
+
state7 -> state3 [ penwidth = 5 fontsize = 28 fontcolor = "black" label = "l" ];
|
28
|
+
}
|
@@ -0,0 +1,284 @@
|
|
1
|
+
digraph G {
|
2
|
+
graph [bgcolor=black];
|
3
|
+
edge [color=white];
|
4
|
+
graph[page="8.5,11",size="7.5,7",ratio=fill,center=1];
|
5
|
+
node[style=filled,label=""];
|
6
|
+
subgraph ds3CTP {
|
7
|
+
rank = same;
|
8
|
+
node[shape=box,color=green];
|
9
|
+
ds3CTP_1_1;
|
10
|
+
ds3CTP_1_2;
|
11
|
+
ds3CTP_5_1;
|
12
|
+
ds3CTP_5_2;
|
13
|
+
}
|
14
|
+
subgraph t3TTP {
|
15
|
+
rank = same;
|
16
|
+
node[shape=invtriangle,color=red];
|
17
|
+
t3TTP_1_1;
|
18
|
+
t3TTP_5_2;
|
19
|
+
}
|
20
|
+
subgraph vc3TTP {
|
21
|
+
rank = same;
|
22
|
+
node[shape=invtriangle,color=red];
|
23
|
+
vc3TTP_1_2;
|
24
|
+
vc3TTP_5_1;
|
25
|
+
}
|
26
|
+
subgraph fabric {
|
27
|
+
rank = same;
|
28
|
+
node[shape=hexagon,color=blue];
|
29
|
+
fabric_1_2;
|
30
|
+
fabric_4_1;
|
31
|
+
fabric_5_1;
|
32
|
+
}
|
33
|
+
subgraph xp {
|
34
|
+
rank = same;
|
35
|
+
node[shape=diamond,color=blue];
|
36
|
+
xp_1_2;
|
37
|
+
xp_4_1;
|
38
|
+
xp_5_1;
|
39
|
+
}
|
40
|
+
subgraph au3CTP {
|
41
|
+
rank = same;
|
42
|
+
node[shape=box,color=green];
|
43
|
+
au3CTP_1_2;
|
44
|
+
au3CTP_4_1;
|
45
|
+
au3CTP_4_2;
|
46
|
+
au3CTP_5_1;
|
47
|
+
}
|
48
|
+
subgraph aug {
|
49
|
+
rank = same;
|
50
|
+
node[shape=invtrapezium,color=pink];
|
51
|
+
aug_1_2;
|
52
|
+
aug_4_1;
|
53
|
+
aug_4_2;
|
54
|
+
aug_5_1;
|
55
|
+
}
|
56
|
+
subgraph protectionTTP {
|
57
|
+
rank = same;
|
58
|
+
node[shape=invtriangle,color=red];
|
59
|
+
prTTP_1_2;
|
60
|
+
prTTP_4_1;
|
61
|
+
prTTP_4_2;
|
62
|
+
prTTP_5_1;
|
63
|
+
}
|
64
|
+
subgraph protectionGroup {
|
65
|
+
rank = same;
|
66
|
+
node[shape=hexagon,color=blue];
|
67
|
+
pg_1_2;
|
68
|
+
pg_4_1;
|
69
|
+
pg_4_2;
|
70
|
+
pg_5_1;
|
71
|
+
}
|
72
|
+
subgraph protectionUnit {
|
73
|
+
rank = same;
|
74
|
+
node[shape=diamond,color=blue];
|
75
|
+
pu_1_2;
|
76
|
+
pu_4_1;
|
77
|
+
pu_4_2;
|
78
|
+
pu_5_1;
|
79
|
+
}
|
80
|
+
subgraph protectionCTP {
|
81
|
+
node[shape=box,color=green];
|
82
|
+
prCTP_1_2;
|
83
|
+
prCTP_4_1;
|
84
|
+
prCTP_4_2;
|
85
|
+
prCTP_5_1;
|
86
|
+
}
|
87
|
+
subgraph msTTP {
|
88
|
+
rank = same;
|
89
|
+
node[shape=invtriangle,color=red];
|
90
|
+
msTTP_1_2;
|
91
|
+
msTTP_4_1;
|
92
|
+
msTTP_4_2;
|
93
|
+
msTTP_5_1;
|
94
|
+
}
|
95
|
+
subgraph msCTP {
|
96
|
+
rank = same;
|
97
|
+
node[shape=box,color=green];
|
98
|
+
msCTP_1_2;
|
99
|
+
msCTP_3_1;
|
100
|
+
msCTP_3_2;
|
101
|
+
msCTP_4_1;
|
102
|
+
msCTP_4_2;
|
103
|
+
msCTP_5_1;
|
104
|
+
}
|
105
|
+
subgraph rsTTP {
|
106
|
+
rank = same;
|
107
|
+
node[shape=invtriangle,color=red];
|
108
|
+
rsTTP_1_2;
|
109
|
+
rsTTP_3_1;
|
110
|
+
rsTTP_3_2;
|
111
|
+
rsTTP_4_1;
|
112
|
+
rsTTP_4_2;
|
113
|
+
rsTTP_5_1;
|
114
|
+
}
|
115
|
+
subgraph rsCTP {
|
116
|
+
rank = same;
|
117
|
+
node[shape=box,color=green];
|
118
|
+
rsCTP_1_2;
|
119
|
+
rsCTP_2_1;
|
120
|
+
rsCTP_2_2;
|
121
|
+
rsCTP_3_1;
|
122
|
+
rsCTP_3_2;
|
123
|
+
rsCTP_4_1;
|
124
|
+
rsCTP_4_2;
|
125
|
+
rsCTP_5_1;
|
126
|
+
}
|
127
|
+
subgraph spiTTP {
|
128
|
+
rank = same;
|
129
|
+
node[shape=invtriangle,color=red];
|
130
|
+
spiTTP_1_2;
|
131
|
+
spiTTP_2_1;
|
132
|
+
spiTTP_2_2;
|
133
|
+
spiTTP_3_1;
|
134
|
+
spiTTP_3_2;
|
135
|
+
spiTTP_4_1;
|
136
|
+
spiTTP_4_2;
|
137
|
+
spiTTP_5_1;
|
138
|
+
}
|
139
|
+
subgraph me {
|
140
|
+
rank = same;
|
141
|
+
node[shape=box,peripheries=2];
|
142
|
+
me_1;
|
143
|
+
me_2;
|
144
|
+
me_3;
|
145
|
+
me_4;
|
146
|
+
me_5;
|
147
|
+
}
|
148
|
+
subgraph client_server {
|
149
|
+
edge[style=dotted,dir=none,weight=100];
|
150
|
+
ds3CTP_1_1->t3TTP_1_1;
|
151
|
+
ds3CTP_1_2->vc3TTP_1_2;
|
152
|
+
au3CTP_1_2->aug_1_2->prTTP_1_2;
|
153
|
+
prCTP_1_2->msTTP_1_2;
|
154
|
+
msCTP_1_2->rsTTP_1_2;
|
155
|
+
rsCTP_1_2->spiTTP_1_2;
|
156
|
+
rsCTP_2_1->spiTTP_2_1;
|
157
|
+
rsCTP_2_2->spiTTP_2_2;
|
158
|
+
msCTP_3_1->rsTTP_3_1;
|
159
|
+
rsCTP_3_1->spiTTP_3_1;
|
160
|
+
msCTP_3_2->rsTTP_3_2;
|
161
|
+
rsCTP_3_2->spiTTP_3_2;
|
162
|
+
au3CTP_4_1->aug_4_1->prTTP_4_1;
|
163
|
+
prCTP_4_1->msTTP_4_1;
|
164
|
+
msCTP_4_1->rsTTP_4_1;
|
165
|
+
rsCTP_4_1->spiTTP_4_1;
|
166
|
+
au3CTP_4_2->aug_4_2->prTTP_4_2;
|
167
|
+
prCTP_4_2->msTTP_4_2;
|
168
|
+
msCTP_4_2->rsTTP_4_2;
|
169
|
+
rsCTP_4_2->spiTTP_4_2;
|
170
|
+
ds3CTP_5_1->vc3TTP_5_1;
|
171
|
+
au3CTP_5_1->aug_5_1->prTTP_5_1;
|
172
|
+
prCTP_5_1->msTTP_5_1;
|
173
|
+
msCTP_5_1->rsTTP_5_1;
|
174
|
+
rsCTP_5_1->spiTTP_5_1;
|
175
|
+
ds3CTP_5_2->t3TTP_5_2;
|
176
|
+
}
|
177
|
+
subgraph trail {
|
178
|
+
edge[style=dashed,dir=none];
|
179
|
+
vc3TTP_1_2->vc3TTP_5_1;
|
180
|
+
prTTP_1_2->prTTP_4_1;
|
181
|
+
prTTP_4_2->prTTP_5_1;
|
182
|
+
msTTP_1_2->msTTP_4_1;
|
183
|
+
msTTP_4_2->msTTP_5_1;
|
184
|
+
rsTTP_1_2->rsTTP_3_1;
|
185
|
+
rsTTP_3_2->rsTTP_4_1;
|
186
|
+
rsTTP_4_2->rsTTP_5_1;
|
187
|
+
spiTTP_1_2->spiTTP_2_1;
|
188
|
+
spiTTP_2_2->spiTTP_3_1;
|
189
|
+
spiTTP_3_2->spiTTP_4_1;
|
190
|
+
spiTTP_4_2->spiTTP_5_1;
|
191
|
+
}
|
192
|
+
subgraph contain {
|
193
|
+
pu_1_2->pg_1_2;
|
194
|
+
pu_4_1->pg_4_1;
|
195
|
+
pu_4_2->pg_4_2;
|
196
|
+
pu_5_1->pg_5_1;
|
197
|
+
xp_1_2->fabric_1_2;
|
198
|
+
xp_4_1->fabric_4_1;
|
199
|
+
xp_5_1->fabric_5_1;
|
200
|
+
fabric_1_2->me_1;
|
201
|
+
fabric_4_1->me_4;
|
202
|
+
fabric_5_1->me_5;
|
203
|
+
pg_1_2->me_1;
|
204
|
+
pg_4_1->me_4;
|
205
|
+
pg_4_2->me_4;
|
206
|
+
pg_5_1->me_5;
|
207
|
+
t3TTP_1_1->me_1;
|
208
|
+
t3TTP_5_2->me_5;
|
209
|
+
vc3TTP_1_2->me_1;
|
210
|
+
vc3TTP_5_1->me_5;
|
211
|
+
prTTP_1_2->me_1;
|
212
|
+
prTTP_4_1->me_4;
|
213
|
+
prTTP_4_2->me_4;
|
214
|
+
prTTP_5_1->me_5;
|
215
|
+
msTTP_1_2->me_1;
|
216
|
+
msTTP_4_1->me_4;
|
217
|
+
msTTP_4_2->me_4;
|
218
|
+
msTTP_5_1->me_5;
|
219
|
+
rsTTP_1_2->me_1;
|
220
|
+
rsTTP_3_1->me_3;
|
221
|
+
rsTTP_3_2->me_3;
|
222
|
+
rsTTP_4_1->me_4;
|
223
|
+
rsTTP_4_2->me_4;
|
224
|
+
rsTTP_5_1->me_5;
|
225
|
+
spiTTP_1_2->me_1;
|
226
|
+
spiTTP_2_1->me_2;
|
227
|
+
spiTTP_2_2->me_2;
|
228
|
+
spiTTP_3_1->me_3;
|
229
|
+
spiTTP_3_2->me_3;
|
230
|
+
spiTTP_4_1->me_4;
|
231
|
+
spiTTP_4_2->me_4;
|
232
|
+
spiTTP_5_1->me_5;
|
233
|
+
}
|
234
|
+
subgraph connectedBy {
|
235
|
+
vc3TTP_1_2->fabric_1_2;
|
236
|
+
au3CTP_1_2->fabric_1_2;
|
237
|
+
au3CTP_4_1->fabric_4_1;
|
238
|
+
au3CTP_4_2->fabric_4_1;
|
239
|
+
vc3TTP_5_1->fabric_5_1;
|
240
|
+
au3CTP_5_1->fabric_5_1;
|
241
|
+
prTTP_1_2->pg_1_2;
|
242
|
+
prTTP_4_1->pg_4_1;
|
243
|
+
prTTP_4_2->pg_4_2;
|
244
|
+
prTTP_5_1->pg_5_1;
|
245
|
+
prCTP_1_2->pg_1_2;
|
246
|
+
prCTP_4_1->pg_4_1;
|
247
|
+
prCTP_4_2->pg_4_2;
|
248
|
+
prCTP_5_1->pg_5_1;
|
249
|
+
}
|
250
|
+
subgraph crossConnection {
|
251
|
+
edge[style=dotted,dir=none];
|
252
|
+
vc3TTP_1_2->xp_1_2->au3CTP_1_2;
|
253
|
+
prTTP_1_2->pu_1_2->prCTP_1_2;
|
254
|
+
prTTP_4_1->pu_4_1->prCTP_4_1;
|
255
|
+
au3CTP_4_1->xp_4_1->au3CTP_4_2;
|
256
|
+
prTTP_4_2->pu_4_2->prCTP_4_2;
|
257
|
+
prTTP_5_1->pu_5_1->prCTP_5_1;
|
258
|
+
vc3TTP_5_1->xp_5_1->au3CTP_5_1;
|
259
|
+
}
|
260
|
+
subgraph bindingConnection {
|
261
|
+
edge[style=bold,dir=none,weight=100];
|
262
|
+
ds3CTP_1_1->ds3CTP_1_2;
|
263
|
+
vc3TTP_1_2->au3CTP_1_2;
|
264
|
+
prTTP_1_2->prCTP_1_2;
|
265
|
+
msTTP_1_2->msCTP_1_2;
|
266
|
+
rsTTP_1_2->rsCTP_1_2;
|
267
|
+
rsCTP_2_1->rsCTP_2_2;
|
268
|
+
rsTTP_3_1->rsCTP_3_1;
|
269
|
+
msCTP_3_1->msCTP_3_2;
|
270
|
+
rsTTP_3_2->rsCTP_3_2;
|
271
|
+
prTTP_4_1->prCTP_4_1;
|
272
|
+
msTTP_4_1->msCTP_4_1;
|
273
|
+
rsTTP_4_1->rsCTP_4_1;
|
274
|
+
au3CTP_4_1->au3CTP_4_2;
|
275
|
+
prTTP_4_2->prCTP_4_2;
|
276
|
+
msTTP_4_2->msCTP_4_2;
|
277
|
+
rsTTP_4_2->rsCTP_4_2;
|
278
|
+
prTTP_5_1->prCTP_5_1;
|
279
|
+
msTTP_5_1->msCTP_5_1;
|
280
|
+
rsTTP_5_1->rsCTP_5_1;
|
281
|
+
ds3CTP_5_1->ds3CTP_5_2;
|
282
|
+
vc3TTP_5_1->au3CTP_5_1;
|
283
|
+
}
|
284
|
+
}
|