luquet-ruby-graphviz 0.9.5

Sign up to get free protection for your applications and to get access to all the features.
Files changed (65) hide show
  1. data/AUTHORS +7 -0
  2. data/COPYING +340 -0
  3. data/ChangeLog +66 -0
  4. data/README.rdoc +69 -0
  5. data/bin/ruby2gv +194 -0
  6. data/examples/HTML-Labels.rb +20 -0
  7. data/examples/arrowhead.rb +97 -0
  8. data/examples/dot/cluster.dot +31 -0
  9. data/examples/dot/fsm.dot +20 -0
  10. data/examples/dot/genetic.dot +118 -0
  11. data/examples/dot/hello.dot +1 -0
  12. data/examples/dot/hello_test.rb +14 -0
  13. data/examples/dot/lion_share.dot +103 -0
  14. data/examples/dot/prof.dot +150 -0
  15. data/examples/dot/psg.dot +28 -0
  16. data/examples/dot/sdh.dot +284 -0
  17. data/examples/dot/siblings.dot +492 -0
  18. data/examples/dot/test.dot +17 -0
  19. data/examples/dot/unix.dot +104 -0
  20. data/examples/graphviz.org/TrafficLights.rb +62 -0
  21. data/examples/graphviz.org/cluster.rb +62 -0
  22. data/examples/graphviz.org/hello_world.rb +10 -0
  23. data/examples/graphviz.org/lion_share.rb +215 -0
  24. data/examples/graphviz.org/process.rb +37 -0
  25. data/examples/maketest.sh +85 -0
  26. data/examples/p2p.rb +35 -0
  27. data/examples/sample01.rb +32 -0
  28. data/examples/sample02.rb +42 -0
  29. data/examples/sample03.rb +31 -0
  30. data/examples/sample04.rb +22 -0
  31. data/examples/sample05.rb +32 -0
  32. data/examples/sample06.rb +46 -0
  33. data/examples/sample07.rb +23 -0
  34. data/examples/sample08.rb +34 -0
  35. data/examples/sample09.rb +50 -0
  36. data/examples/sample10.rb +50 -0
  37. data/examples/sample11.rb +42 -0
  38. data/examples/sample12.rb +55 -0
  39. data/examples/sample13.rb +48 -0
  40. data/examples/sample14.rb +44 -0
  41. data/examples/sample15.rb +23 -0
  42. data/examples/sample16.rb +8 -0
  43. data/examples/sample17.rb +92 -0
  44. data/examples/sample18.rb +24 -0
  45. data/examples/sample19.rb +59 -0
  46. data/examples/sample20.rb +47 -0
  47. data/examples/sample21.rb +12 -0
  48. data/examples/sample22.rb +10 -0
  49. data/examples/sample23.rb +11 -0
  50. data/examples/sample24.rb +11 -0
  51. data/examples/sample25.rb +11 -0
  52. data/examples/shapes.rb +24 -0
  53. data/examples/test.xml +26 -0
  54. data/examples/testorder.rb +43 -0
  55. data/examples/testxml.rb +7 -0
  56. data/lib/graphviz.rb +655 -0
  57. data/lib/graphviz/attrs.rb +51 -0
  58. data/lib/graphviz/constants.rb +246 -0
  59. data/lib/graphviz/dot.treetop +97 -0
  60. data/lib/graphviz/edge.rb +130 -0
  61. data/lib/graphviz/node.rb +129 -0
  62. data/lib/graphviz/parser.rb +249 -0
  63. data/lib/graphviz/xml.rb +131 -0
  64. data/setup.rb +1585 -0
  65. 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">&#40;0&#41; s -&gt; &bull;e $ </td></tr><tr><td align="left" port="r1">&#40;1&#41; e -&gt; &bull;l '=' r </td></tr><tr><td align="left" port="r2">&#40;2&#41; e -&gt; &bull;r </td></tr><tr><td align="left" port="r3">&#40;3&#41; l -&gt; &bull;'*' r </td></tr><tr><td align="left" port="r4">&#40;4&#41; l -&gt; &bull;'n' </td></tr><tr><td align="left" port="r5">&#40;5&#41; r -&gt; &bull;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">&#40;3&#41; l -&gt; &bull;'*' r </td></tr><tr><td align="left" port="r3">&#40;3&#41; l -&gt; '*' &bull;r </td></tr><tr><td align="left" port="r4">&#40;4&#41; l -&gt; &bull;'n' </td></tr><tr><td align="left" port="r5">&#40;5&#41; r -&gt; &bull;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">&#40;4&#41; l -&gt; 'n' &bull;</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">&#40;5&#41; r -&gt; l &bull;</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">&#40;3&#41; l -&gt; '*' r &bull;</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">&#40;0&#41; s -&gt; e &bull;$ </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">&#40;1&#41; e -&gt; l &bull;'=' r </td></tr><tr><td align="left" port="r5">&#40;5&#41; r -&gt; l &bull;</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">&#40;1&#41; e -&gt; l '=' &bull;r </td></tr><tr><td align="left" port="r3">&#40;3&#41; l -&gt; &bull;'*' r </td></tr><tr><td align="left" port="r4">&#40;4&#41; l -&gt; &bull;'n' </td></tr><tr><td align="left" port="r5">&#40;5&#41; r -&gt; &bull;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">&#40;1&#41; e -&gt; l '=' r &bull;</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">&#40;2&#41; e -&gt; r &bull;</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
+ }