ruby-graphviz_c 1.1.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +7 -0
- data/.gemrc +0 -0
- data/.gitignore +9 -0
- data/.travis.yml +7 -0
- data/AUTHORS.rdoc +33 -0
- data/CHANGELOG.rdoc +287 -0
- data/COPYING.rdoc +133 -0
- data/Gemfile +4 -0
- data/README.rdoc +206 -0
- data/Rakefile +71 -0
- data/bin/dot2ruby +91 -0
- data/bin/gem2gv +165 -0
- data/bin/git2gv +167 -0
- data/bin/ruby2gv +234 -0
- data/bin/xml2gv +96 -0
- data/examples/dot/JSP.dot +52 -0
- data/examples/dot/balanced.dot +36 -0
- data/examples/dot/cluster.dot +30 -0
- data/examples/dot/dotgraph.dot +28 -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 +33 -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/rank.dot +6 -0
- data/examples/dot/sdh.dot +284 -0
- data/examples/dot/siblings.dot +492 -0
- data/examples/dot/so-sample001.gv +30 -0
- data/examples/dot/so-sample002.gv +33 -0
- data/examples/dot/so-sample003.gv +45 -0
- data/examples/dot/test.dot +17 -0
- data/examples/dot/test_parse.rb +13 -0
- data/examples/dot/this_crach_with_dot_2.20.dot +24 -0
- data/examples/dot/unix.dot +104 -0
- data/examples/graphml/attributes.ext.graphml +12 -0
- data/examples/graphml/attributes.graphml +40 -0
- data/examples/graphml/cluster.graphml +75 -0
- data/examples/graphml/failed_graph.graphml +461 -0
- data/examples/graphml/hyper.graphml +29 -0
- data/examples/graphml/nested.graphml +54 -0
- data/examples/graphml/port.graphml +32 -0
- data/examples/graphml/simple.graphml +30 -0
- data/examples/hello.png +0 -0
- data/examples/rgv/rgv.ps +125 -0
- data/examples/rgv/test_rgv.rb +12 -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 +25 -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/sample26.rb +8 -0
- data/examples/sample27.rb +8 -0
- data/examples/sample28.rb +12 -0
- data/examples/sample29.rb +8 -0
- data/examples/sample30.rb +12 -0
- data/examples/sample31.rb +10 -0
- data/examples/sample32.rb +14 -0
- data/examples/sample33.rb +43 -0
- data/examples/sample34.rb +29 -0
- data/examples/sample35.rb +43 -0
- data/examples/sample36.rb +35 -0
- data/examples/sample37.rb +87 -0
- data/examples/sample38.rb +12 -0
- data/examples/sample39.rb +11 -0
- data/examples/sample40.rb +17 -0
- data/examples/sample41.rb +8 -0
- data/examples/sample42.rb +35 -0
- data/examples/sample43.rb +26 -0
- data/examples/sample44.rb +97 -0
- data/examples/sample45.rb +24 -0
- data/examples/sample46.rb +43 -0
- data/examples/sample47.rb +7 -0
- data/examples/sample48.rb +62 -0
- data/examples/sample49.rb +10 -0
- data/examples/sample50.rb +215 -0
- data/examples/sample51.rb +37 -0
- data/examples/sample52.rb +62 -0
- data/examples/sample53.rb +26 -0
- data/examples/sample54.rb +26 -0
- data/examples/sample55.rb +9 -0
- data/examples/sample56.rb +10 -0
- data/examples/sample57.rb +8 -0
- data/examples/sample58.rb +33 -0
- data/examples/sample59.rb +14 -0
- data/examples/sample60.rb +12 -0
- data/examples/sample61.rb +12 -0
- data/examples/sample62.rb +24 -0
- data/examples/sample63.rb +32 -0
- data/examples/sample64.rb +31 -0
- data/examples/sample65.rb +9 -0
- data/examples/sample66.rb +4 -0
- data/examples/sample67.rb +10 -0
- data/examples/sample68.rb +27 -0
- data/examples/sample69.rb +23 -0
- data/examples/sample70.rb +9 -0
- data/examples/sample99.rb +70 -0
- data/examples/sdlshapes/README +2 -0
- data/examples/sdlshapes/sdl.ps +655 -0
- data/examples/sdlshapes/sdlshapes.dot +78 -0
- data/examples/test.xml +26 -0
- data/examples/theory/pert.rb +47 -0
- data/examples/theory/tests.rb +87 -0
- data/lib/ext/gvpr/dot2ruby.g +185 -0
- data/lib/graphviz/attrs.rb +73 -0
- data/lib/graphviz/constants.rb +294 -0
- data/lib/graphviz/core_ext.rb +64 -0
- data/lib/graphviz/dot2ruby.rb +59 -0
- data/lib/graphviz/dot_script.rb +109 -0
- data/lib/graphviz/dsl.rb +67 -0
- data/lib/graphviz/edge.rb +197 -0
- data/lib/graphviz/elements.rb +39 -0
- data/lib/graphviz/ext.rb +17 -0
- data/lib/graphviz/family_tree/couple.rb +63 -0
- data/lib/graphviz/family_tree/generation.rb +39 -0
- data/lib/graphviz/family_tree/person.rb +120 -0
- data/lib/graphviz/family_tree/sibling.rb +13 -0
- data/lib/graphviz/family_tree.rb +118 -0
- data/lib/graphviz/graphml.rb +268 -0
- data/lib/graphviz/math/matrix.rb +221 -0
- data/lib/graphviz/node.rb +160 -0
- data/lib/graphviz/nothugly/nothugly.xsl +321 -0
- data/lib/graphviz/nothugly.rb +63 -0
- data/lib/graphviz/theory.rb +321 -0
- data/lib/graphviz/types/arrow_type.rb +32 -0
- data/lib/graphviz/types/color.rb +58 -0
- data/lib/graphviz/types/color_list.rb +24 -0
- data/lib/graphviz/types/esc_string.rb +20 -0
- data/lib/graphviz/types/gv_bool.rb +49 -0
- data/lib/graphviz/types/gv_double.rb +32 -0
- data/lib/graphviz/types/html_string.rb +18 -0
- data/lib/graphviz/types/lbl_string.rb +22 -0
- data/lib/graphviz/types/rect.rb +35 -0
- data/lib/graphviz/types/spline_type.rb +77 -0
- data/lib/graphviz/types.rb +22 -0
- data/lib/graphviz/utils/colors.rb +1018 -0
- data/lib/graphviz/utils.rb +70 -0
- data/lib/graphviz/xml.rb +119 -0
- data/lib/graphviz.rb +967 -0
- data/lib/ruby-graphviz.rb +1 -0
- data/man/dot2ruby.1 +66 -0
- data/man/dot2ruby.1.ronn +55 -0
- data/man/gem2gv.1 +60 -0
- data/man/gem2gv.1.ronn +47 -0
- data/man/git2gv.1 +48 -0
- data/man/git2gv.1.ronn +40 -0
- data/man/ruby2gv.1 +60 -0
- data/man/ruby2gv.1.ronn +47 -0
- data/man/xml2gv.1 +48 -0
- data/man/xml2gv.1.ronn +39 -0
- data/ruby-graphviz.gemspec +47 -0
- data/setup.rb +1585 -0
- data/test/helper.rb +13 -0
- data/test/support.rb +95 -0
- data/test/test_dot_script.rb +47 -0
- data/test/test_examples.rb +151 -0
- data/test/test_graph.rb +115 -0
- data/test/test_search.rb +29 -0
- data/test/test_subgraph.rb +27 -0
- data/test/test_theory.rb +98 -0
- data/test/test_types.rb +65 -0
- data/test/test_utils_colors.rb +52 -0
- metadata +301 -0
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
<?xml version="1.0" encoding="UTF-8"?>
|
|
2
|
+
<graphml xmlns="http://graphml.graphdrawing.org/xmlns" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
|
|
3
|
+
xsi:schemaLocation="http://graphml.graphdrawing.org/xmlns http://graphml.graphdrawing.org/xmlns/1.0/graphml.xsd">
|
|
4
|
+
<graph id="G" edgedefault="directed">
|
|
5
|
+
<node id="n0"/>
|
|
6
|
+
<node id="n1"/>
|
|
7
|
+
<node id="n2"/>
|
|
8
|
+
<node id="n3"/>
|
|
9
|
+
<node id="n4"/>
|
|
10
|
+
<node id="n5"/>
|
|
11
|
+
<node id="n6"/>
|
|
12
|
+
<hyperedge>
|
|
13
|
+
<endpoint node="n0"/>
|
|
14
|
+
<endpoint node="n1"/>
|
|
15
|
+
<endpoint node="n2"/>
|
|
16
|
+
</hyperedge>
|
|
17
|
+
<hyperedge>
|
|
18
|
+
<endpoint node="n3"/>
|
|
19
|
+
<endpoint node="n4"/>
|
|
20
|
+
<endpoint node="n5"/>
|
|
21
|
+
<endpoint node="n6"/>
|
|
22
|
+
</hyperedge>
|
|
23
|
+
<hyperedge>
|
|
24
|
+
<endpoint node="n1"/>
|
|
25
|
+
<endpoint node="n3"/>
|
|
26
|
+
</hyperedge>
|
|
27
|
+
<edge source="n0" target="n4"/>
|
|
28
|
+
</graph>
|
|
29
|
+
</graphml>
|
|
@@ -0,0 +1,54 @@
|
|
|
1
|
+
<?xml version="1.0" encoding="UTF-8"?>
|
|
2
|
+
<!-- This file was written by the JAVA GraphML Library.-->
|
|
3
|
+
<graphml xmlns="http://graphml.graphdrawing.org/xmlns" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
|
|
4
|
+
xsi:schemaLocation="http://graphml.graphdrawing.org/xmlns http://graphml.graphdrawing.org/xmlns/1.0/graphml.xsd">
|
|
5
|
+
<key id="color" for="all" attr.name="color" attr.type="string"/>
|
|
6
|
+
<key id="style" for="graph" attr.name="style" attr.type="string"/>
|
|
7
|
+
<key id="label" for="all" attr.name="label" attr.type="string"/>
|
|
8
|
+
<graph id="G" edgedefault="directed">
|
|
9
|
+
<node id="n0"/>
|
|
10
|
+
<node id="n1"/>
|
|
11
|
+
<node id="n2"/>
|
|
12
|
+
<node id="n3"/>
|
|
13
|
+
<node id="n4"/>
|
|
14
|
+
<node id="n5">
|
|
15
|
+
<graph id="n5:" edgedefault="directed">
|
|
16
|
+
<data key="color">black</data>
|
|
17
|
+
<data key="style">filled</data>
|
|
18
|
+
<data key="label">SUB n5</data>
|
|
19
|
+
<node id="n5::n0"/>
|
|
20
|
+
<node id="n5::n1"/>
|
|
21
|
+
<node id="n5::n2"/>
|
|
22
|
+
<edge id="e0" source="n5::n0" target="n5::n2"/>
|
|
23
|
+
<edge id="e1" source="n5::n1" target="n5::n2"/>
|
|
24
|
+
</graph>
|
|
25
|
+
</node>
|
|
26
|
+
<node id="n6">
|
|
27
|
+
<graph id="n6:" edgedefault="directed">
|
|
28
|
+
<data key="color">red</data>
|
|
29
|
+
<data key="style">filled</data>
|
|
30
|
+
<data key="label">SUB n6</data>
|
|
31
|
+
<node id="n6::n0">
|
|
32
|
+
<graph id="n6::n0:" edgedefault="directed">
|
|
33
|
+
<data key="label">SUB n6::n0</data>
|
|
34
|
+
<data key="color">blue</data>
|
|
35
|
+
<data key="style">filled</data>
|
|
36
|
+
<node id="n6::n0::n0"/>
|
|
37
|
+
</graph>
|
|
38
|
+
</node>
|
|
39
|
+
<node id="n6::n1"/>
|
|
40
|
+
<node id="n6::n2"/>
|
|
41
|
+
<edge id="e10" source="n6::n1" target="n6::n0::n0"/>
|
|
42
|
+
<edge id="e11" source="n6::n1" target="n6::n2"/>
|
|
43
|
+
</graph>
|
|
44
|
+
</node>
|
|
45
|
+
<edge id="e2" source="n5::n2" target="n0"/>
|
|
46
|
+
<edge id="e3" source="n0" target="n2"/>
|
|
47
|
+
<edge id="e4" source="n0" target="n1"/>
|
|
48
|
+
<edge id="e5" source="n1" target="n3"/>
|
|
49
|
+
<edge id="e6" source="n3" target="n2"/>
|
|
50
|
+
<edge id="e7" source="n2" target="n4"/>
|
|
51
|
+
<edge id="e8" source="n3" target="n6::n1"/>
|
|
52
|
+
<edge id="e9" source="n6::n1" target="n4"/>
|
|
53
|
+
</graph>
|
|
54
|
+
</graphml>
|
|
@@ -0,0 +1,32 @@
|
|
|
1
|
+
<?xml version="1.0" encoding="UTF-8"?>
|
|
2
|
+
<graphml xmlns="http://graphml.graphdrawing.org/xmlns" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
|
|
3
|
+
xsi:schemaLocation="http://graphml.graphdrawing.org/xmlns http://graphml.graphdrawing.org/xmlns/1.0/graphml.xsd">
|
|
4
|
+
<graph id="G" edgedefault="directed">
|
|
5
|
+
<node id="n0">
|
|
6
|
+
<port name="North"/>
|
|
7
|
+
<port name="South"/>
|
|
8
|
+
<port name="East"/>
|
|
9
|
+
<port name="West"/>
|
|
10
|
+
</node>
|
|
11
|
+
<node id="n1">
|
|
12
|
+
<port name="North"/>
|
|
13
|
+
<port name="South"/>
|
|
14
|
+
<port name="East"/>
|
|
15
|
+
<port name="West"/>
|
|
16
|
+
</node>
|
|
17
|
+
<node id="n2">
|
|
18
|
+
<port name="NorthWest"/>
|
|
19
|
+
<port name="SouthEast"/>
|
|
20
|
+
</node>
|
|
21
|
+
<node id="n3">
|
|
22
|
+
<port name="NorthEast"/>
|
|
23
|
+
<port name="SouthWest"/>
|
|
24
|
+
</node>
|
|
25
|
+
<edge source="n0" target="n3" sourceport="North" targetport="NorthEast"/>
|
|
26
|
+
<hyperedge>
|
|
27
|
+
<endpoint node="n0" port="North"/>
|
|
28
|
+
<endpoint node="n1" port="East"/>
|
|
29
|
+
<endpoint node="n2" port="SouthEast"/>
|
|
30
|
+
</hyperedge>
|
|
31
|
+
</graph>
|
|
32
|
+
</graphml>
|
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
<?xml version="1.0" encoding="UTF-8"?>
|
|
2
|
+
<!-- This file was written by the JAVA GraphML Library.-->
|
|
3
|
+
<graphml xmlns="http://graphml.graphdrawing.org/xmlns" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
|
|
4
|
+
xsi:schemaLocation="http://graphml.graphdrawing.org/xmlns http://graphml.graphdrawing.org/xmlns/1.0/graphml.xsd">
|
|
5
|
+
<graph id="G" edgedefault="directed">
|
|
6
|
+
<node id="n0"/>
|
|
7
|
+
<node id="n1"/>
|
|
8
|
+
<node id="n2"/>
|
|
9
|
+
<node id="n3"/>
|
|
10
|
+
<node id="n4"/>
|
|
11
|
+
<node id="n5"/>
|
|
12
|
+
<node id="n6"/>
|
|
13
|
+
<node id="n7"/>
|
|
14
|
+
<node id="n8"/>
|
|
15
|
+
<node id="n9"/>
|
|
16
|
+
<node id="n10"/>
|
|
17
|
+
<edge source="n0" target="n2"/>
|
|
18
|
+
<edge source="n1" target="n2"/>
|
|
19
|
+
<edge source="n2" target="n3"/>
|
|
20
|
+
<edge source="n3" target="n5"/>
|
|
21
|
+
<edge source="n3" target="n4"/>
|
|
22
|
+
<edge source="n4" target="n6"/>
|
|
23
|
+
<edge source="n6" target="n5"/>
|
|
24
|
+
<edge source="n5" target="n7"/>
|
|
25
|
+
<edge source="n6" target="n8"/>
|
|
26
|
+
<edge source="n8" target="n7"/>
|
|
27
|
+
<edge source="n8" target="n9"/>
|
|
28
|
+
<edge source="n8" target="n10"/>
|
|
29
|
+
</graph>
|
|
30
|
+
</graphml>
|
data/examples/hello.png
ADDED
|
Binary file
|
data/examples/rgv/rgv.ps
ADDED
|
@@ -0,0 +1,125 @@
|
|
|
1
|
+
%! Greg shapes for GraphViz/DOT
|
|
2
|
+
|
|
3
|
+
% input format :
|
|
4
|
+
% [ 54 36 0 36 0 0 54 0 54 36 ] 4 false yourshape
|
|
5
|
+
% or
|
|
6
|
+
% [ 54 36 0 36 0 0 54 0 54 36 ] 4 true yourshape
|
|
7
|
+
% [ 150 150 100 150 100 100 150 100 150 150 ] 4 true yourshape
|
|
8
|
+
%
|
|
9
|
+
% [upper right (y, x), lower right (y, x), lower left (y, x), upper left (y, x), upper right (y, x)]
|
|
10
|
+
|
|
11
|
+
/xdef {exch def} bind def
|
|
12
|
+
|
|
13
|
+
/rgv_box {
|
|
14
|
+
10 dict begin
|
|
15
|
+
/fflag xdef
|
|
16
|
+
/sides xdef
|
|
17
|
+
|
|
18
|
+
4 sides ne { stop } if
|
|
19
|
+
|
|
20
|
+
aload pop
|
|
21
|
+
|
|
22
|
+
newpath
|
|
23
|
+
moveto
|
|
24
|
+
lineto
|
|
25
|
+
lineto
|
|
26
|
+
lineto
|
|
27
|
+
closepath
|
|
28
|
+
|
|
29
|
+
pop pop
|
|
30
|
+
|
|
31
|
+
fflag { fill } { stroke } ifelse
|
|
32
|
+
end
|
|
33
|
+
} bind def
|
|
34
|
+
|
|
35
|
+
/rgv_cloud {
|
|
36
|
+
10 dict begin
|
|
37
|
+
/fflag xdef
|
|
38
|
+
/sides xdef
|
|
39
|
+
|
|
40
|
+
% Check if we have 4 sides. Else stop
|
|
41
|
+
4 sides ne { stop } if
|
|
42
|
+
|
|
43
|
+
% (aload) takes an array as its argument and places the individual elements
|
|
44
|
+
% of that array, and then the array itself, on the stack. Then (pop) remove
|
|
45
|
+
% the top element from the stack (the array)
|
|
46
|
+
aload pop
|
|
47
|
+
|
|
48
|
+
/ury xdef /urx xdef
|
|
49
|
+
/lry xdef /lrx xdef
|
|
50
|
+
/lly xdef /llx xdef
|
|
51
|
+
/uly xdef /ulx xdef
|
|
52
|
+
pop pop
|
|
53
|
+
|
|
54
|
+
/mx lrx llx neg add 2 div def
|
|
55
|
+
/my uly lly neg add 2 div def
|
|
56
|
+
|
|
57
|
+
% empty the current path and declares we are starting a new path
|
|
58
|
+
newpath
|
|
59
|
+
|
|
60
|
+
urx ury my neg add my 270 90 arc
|
|
61
|
+
ulx mx add uly mx 0 180 arc
|
|
62
|
+
llx lly my add my 90 270 arc
|
|
63
|
+
lrx lry lineto
|
|
64
|
+
|
|
65
|
+
closepath
|
|
66
|
+
|
|
67
|
+
% The stroke operator on line four causes the path we have constructed to be
|
|
68
|
+
% painted onto the current page.
|
|
69
|
+
% The fill operator fills the current path with ink.
|
|
70
|
+
fflag { fill } { stroke } ifelse
|
|
71
|
+
end
|
|
72
|
+
} bind def
|
|
73
|
+
|
|
74
|
+
/rgv_flower {
|
|
75
|
+
10 dict begin
|
|
76
|
+
/fflag xdef
|
|
77
|
+
/sides xdef
|
|
78
|
+
|
|
79
|
+
% Check if we have 4 sides. Else stop
|
|
80
|
+
4 sides ne { stop } if
|
|
81
|
+
|
|
82
|
+
% (aload) takes an array as its argument and places the individual elements
|
|
83
|
+
% of that array, and then the array itself, on the stack. Then (pop) remove
|
|
84
|
+
% the top element from the stack (the array)
|
|
85
|
+
aload pop
|
|
86
|
+
|
|
87
|
+
/ury xdef /urx xdef
|
|
88
|
+
/lry xdef /lrx xdef
|
|
89
|
+
/lly xdef /llx xdef
|
|
90
|
+
/uly xdef /ulx xdef
|
|
91
|
+
pop pop
|
|
92
|
+
|
|
93
|
+
/mx lrx llx neg add 2 div def
|
|
94
|
+
/my uly lly neg add 2 div def
|
|
95
|
+
|
|
96
|
+
% empty the current path and declares we are starting a new path
|
|
97
|
+
newpath
|
|
98
|
+
|
|
99
|
+
% Arcs
|
|
100
|
+
urx ury my neg add my 270 90 arc
|
|
101
|
+
ulx mx add uly mx 0 180 arc
|
|
102
|
+
llx lly my add my 90 270 arc
|
|
103
|
+
lrx mx neg add lry mx 180 0 arc
|
|
104
|
+
|
|
105
|
+
closepath
|
|
106
|
+
|
|
107
|
+
% The stroke operator on line four causes the path we have constructed to be
|
|
108
|
+
% painted onto the current page.
|
|
109
|
+
% The fill operator fills the current path with ink.
|
|
110
|
+
fflag { fill } { stroke } ifelse
|
|
111
|
+
end
|
|
112
|
+
} bind def
|
|
113
|
+
|
|
114
|
+
%[ 150 150 50 150 50 100 150 100 150 150 ] 4 false rgv_box
|
|
115
|
+
%[ 250 250 150 250 150 200 250 200 250 250 ] 4 false rgv_flower
|
|
116
|
+
%[ 350 350 250 350 250 300 350 300 350 350 ] 4 false rgv_cloud
|
|
117
|
+
%
|
|
118
|
+
%.5 setgray
|
|
119
|
+
%[ 150 450 50 450 50 400 150 400 150 450 ] 4 true rgv_box
|
|
120
|
+
%.5 setgray
|
|
121
|
+
%[ 250 550 150 550 150 500 250 500 250 550 ] 4 true rgv_flower
|
|
122
|
+
%.5 setgray
|
|
123
|
+
%[ 350 650 250 650 250 600 350 600 350 650 ] 4 true rgv_cloud
|
|
124
|
+
%
|
|
125
|
+
%showpage
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
#!/usr/bin/ruby
|
|
2
|
+
|
|
3
|
+
$:.unshift( "../../lib" );
|
|
4
|
+
require "graphviz"
|
|
5
|
+
|
|
6
|
+
GraphViz.new(:g){ |g|
|
|
7
|
+
g[:center] = true
|
|
8
|
+
a = g.add_nodes("A", :shape => "rgv_box", :peripheries => 0)
|
|
9
|
+
b = g.add_nodes("Bonjour le monde\nComment va tu ?", :shape => "rgv_cloud", :peripheries => 0)
|
|
10
|
+
c = g.add_nodes("C", :shape => "rgv_flower", :peripheries => 0)
|
|
11
|
+
a << b << c
|
|
12
|
+
}.save( :ps => "#{$0}.ps", :extlib => "rgv.ps" )
|
|
@@ -0,0 +1,32 @@
|
|
|
1
|
+
#!/usr/bin/ruby
|
|
2
|
+
|
|
3
|
+
$:.unshift( "../lib" )
|
|
4
|
+
require "graphviz"
|
|
5
|
+
|
|
6
|
+
g = nil
|
|
7
|
+
if ARGV[0]
|
|
8
|
+
g = GraphViz::new( "G", :path => ARGV[0] )
|
|
9
|
+
else
|
|
10
|
+
g = GraphViz::new( "G" )
|
|
11
|
+
end
|
|
12
|
+
|
|
13
|
+
main = g.add_nodes( "main" )
|
|
14
|
+
parse = g.add_nodes( "parse" )
|
|
15
|
+
execute = g.add_nodes( "execute" )
|
|
16
|
+
init = g.add_nodes( "init" )
|
|
17
|
+
cleanup = g.add_nodes( "cleanup" )
|
|
18
|
+
make_string = g.add_nodes( "make_string" )
|
|
19
|
+
printf = g.add_nodes( "printf" )
|
|
20
|
+
compare = g.add_nodes( "compare" )
|
|
21
|
+
|
|
22
|
+
g.add_edges( main, parse )
|
|
23
|
+
g.add_edges( parse, execute )
|
|
24
|
+
g.add_edges( main, init )
|
|
25
|
+
g.add_edges( main, cleanup )
|
|
26
|
+
g.add_edges( execute, make_string )
|
|
27
|
+
g.add_edges( execute, printf )
|
|
28
|
+
g.add_edges( init, make_string )
|
|
29
|
+
g.add_edges( main, printf )
|
|
30
|
+
g.add_edges( execute, compare )
|
|
31
|
+
|
|
32
|
+
g.output( :png => "#{$0}.png" )
|
|
@@ -0,0 +1,42 @@
|
|
|
1
|
+
#!/usr/bin/ruby
|
|
2
|
+
|
|
3
|
+
$:.unshift( "../lib" );
|
|
4
|
+
require "graphviz"
|
|
5
|
+
|
|
6
|
+
g = nil
|
|
7
|
+
if ARGV[0]
|
|
8
|
+
g = GraphViz::new( "G", :path => ARGV[0] )
|
|
9
|
+
else
|
|
10
|
+
g = GraphViz::new( "G" )
|
|
11
|
+
end
|
|
12
|
+
|
|
13
|
+
g.node[:shape] = "ellipse"
|
|
14
|
+
g.node[:color] = "black"
|
|
15
|
+
|
|
16
|
+
g.edge[:color] = "black"
|
|
17
|
+
g.edge[:weight] = "1"
|
|
18
|
+
g.edge[:style] = "filled"
|
|
19
|
+
g.edge[:label] = ""
|
|
20
|
+
|
|
21
|
+
g[:size] = "4,4"
|
|
22
|
+
|
|
23
|
+
main = g.add_nodes( "main", :shape => "box" )
|
|
24
|
+
parse = g.add_nodes( "parse" )
|
|
25
|
+
execute = g.add_nodes( "execute" )
|
|
26
|
+
init = g.add_nodes( "init" )
|
|
27
|
+
cleanup = g.add_nodes( "cleanup" )
|
|
28
|
+
make_string = g.add_nodes( "make_string", :label => 'make a\nstring' )
|
|
29
|
+
printf = g.add_nodes( "printf" )
|
|
30
|
+
compare = g.add_nodes( "compare", :shape => "box", :style => "filled", :color => ".7 .3 1.0" )
|
|
31
|
+
|
|
32
|
+
g.add_edges( main, parse, :weight => "8" )
|
|
33
|
+
g.add_edges( parse, execute )
|
|
34
|
+
g.add_edges( main, init, :style => "dotted" )
|
|
35
|
+
g.add_edges( main, cleanup )
|
|
36
|
+
g.add_edges( execute, make_string )
|
|
37
|
+
g.add_edges( execute, printf )
|
|
38
|
+
g.add_edges( init, make_string )
|
|
39
|
+
g.add_edges( main, printf, :color => "red", :style => "bold", :label => "100 times" )
|
|
40
|
+
g.add_edges( execute, compare, :color => "red" )
|
|
41
|
+
|
|
42
|
+
g.output( :png => "#{$0}.png" )
|
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
#!/usr/bin/ruby
|
|
2
|
+
|
|
3
|
+
$:.unshift( "../lib" );
|
|
4
|
+
require "graphviz"
|
|
5
|
+
|
|
6
|
+
g = nil
|
|
7
|
+
if ARGV[0]
|
|
8
|
+
g = GraphViz::new( "G", "path" => ARGV[0] )
|
|
9
|
+
else
|
|
10
|
+
g = GraphViz::new( "G" )
|
|
11
|
+
end
|
|
12
|
+
|
|
13
|
+
g.node["shape"] = "ellipse"
|
|
14
|
+
g.node["sides"] = "4"
|
|
15
|
+
g.node["peripheries"] = ""
|
|
16
|
+
g.node["color"] = "black"
|
|
17
|
+
g.node["style"] = ""
|
|
18
|
+
g.node["skew"] = "0.0"
|
|
19
|
+
g.node["distortion"] = "0.0"
|
|
20
|
+
|
|
21
|
+
a = g.add_nodes( "a", "shape" => "polygon", "sides" => "5", "peripheries" => "3", "color" => "lightblue", "style" => "filled" )
|
|
22
|
+
b = g.add_nodes( "b" )
|
|
23
|
+
c = g.add_nodes( "c", "shape" => "polygon", "sides" => "4", "skew" => ".4", "label" => "hello world" )
|
|
24
|
+
d = g.add_nodes( "d", "shape" => "invtriangle" )
|
|
25
|
+
e = g.add_nodes( "e", "shape" => "polygon", "sides" => "4", "distortion" => ".7" )
|
|
26
|
+
|
|
27
|
+
g.add_edges( a, b )
|
|
28
|
+
g.add_edges( b, c )
|
|
29
|
+
g.add_edges( b, d )
|
|
30
|
+
|
|
31
|
+
g.output( :png => "#{$0}.png" )
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
#!/usr/bin/ruby
|
|
2
|
+
|
|
3
|
+
$:.unshift( "../lib" );
|
|
4
|
+
require "graphviz"
|
|
5
|
+
|
|
6
|
+
g = nil
|
|
7
|
+
if ARGV[0]
|
|
8
|
+
g = GraphViz::new( "structs", "path" => ARGV[0] )
|
|
9
|
+
else
|
|
10
|
+
g = GraphViz::new( "structs" )
|
|
11
|
+
end
|
|
12
|
+
|
|
13
|
+
g.node["shape"] = "record"
|
|
14
|
+
|
|
15
|
+
struct1 = g.add_nodes( "struct1", "shape" => "record", "label" => "<f0> left|<f1> mid\ dle|<f2> right" )
|
|
16
|
+
struct2 = g.add_nodes( "struct2", "shape" => "record", "label" => "<f0> one|<f1> two" )
|
|
17
|
+
struct3 = g.add_nodes( "struct3", "shape" => "record", "label" => 'hello\nworld |{ b |{c|<here> d|e}| f}| g | h' )
|
|
18
|
+
|
|
19
|
+
g.add_edges( struct1, struct2 )
|
|
20
|
+
g.add_edges( struct1, struct3 )
|
|
21
|
+
|
|
22
|
+
g.output( :png => "#{$0}.png" )
|
|
@@ -0,0 +1,32 @@
|
|
|
1
|
+
#!/usr/bin/ruby
|
|
2
|
+
|
|
3
|
+
$:.unshift( "../lib" );
|
|
4
|
+
require "graphviz"
|
|
5
|
+
|
|
6
|
+
g = nil
|
|
7
|
+
if ARGV[0]
|
|
8
|
+
g = GraphViz::new( "structs", "type" => "graph", "path" => ARGV[0] )
|
|
9
|
+
else
|
|
10
|
+
g = GraphViz::new( "structs", "type" => "graph" )
|
|
11
|
+
end
|
|
12
|
+
|
|
13
|
+
main = g.add_nodes( "main" )
|
|
14
|
+
parse = g.add_nodes( "parse" )
|
|
15
|
+
execute = g.add_nodes( "execute" )
|
|
16
|
+
init = g.add_nodes( "init" )
|
|
17
|
+
cleanup = g.add_nodes( "cleanup" )
|
|
18
|
+
make_string = g.add_nodes( "make_string" )
|
|
19
|
+
printf = g.add_nodes( "printf" )
|
|
20
|
+
compare = g.add_nodes( "compare" )
|
|
21
|
+
|
|
22
|
+
g.add_edges( main, parse )
|
|
23
|
+
g.add_edges( parse, execute )
|
|
24
|
+
g.add_edges( main, init )
|
|
25
|
+
g.add_edges( main, cleanup )
|
|
26
|
+
g.add_edges( execute, make_string )
|
|
27
|
+
g.add_edges( execute, printf )
|
|
28
|
+
g.add_edges( init, make_string )
|
|
29
|
+
g.add_edges( main, printf )
|
|
30
|
+
g.add_edges( execute, compare )
|
|
31
|
+
|
|
32
|
+
g.output( :png => "#{$0}.png" )
|