n14 | 719 | }"];
9 | node2 [label = "{ a1 | 805 | }"];
10 | node3 [label = "{ i9 | 718 | }"];
11 | node4 [label = "{ e5 | 989 | }"];
12 | node5 [label = "{ t20 | 959 | }"] ;
13 | node6 [label = "{ o15 | 794 | }"] ;
14 | node7 [label = "{ s19 | 659 | }"] ;
15 |
16 | node0:f0 -> node1:n;
17 | node0:f1 -> node2:n;
18 | node0:f2 -> node3:n;
19 | node0:f5 -> node4:n;
20 | node0:f6 -> node5:n;
21 | node2:p -> node6:n;
22 | node4:p -> node7:n;
23 | }
24 |
--------------------------------------------------------------------------------
/testdata/directed/honda-tokoro.gv:
--------------------------------------------------------------------------------
1 | digraph "Honda-Tokoro" {
2 | rankdir="LR" ranksep="0.2" edge[labelfontsize="8" fontsize="8" labeldistance="0.8" arrowsize="0.9" labelangle="-30" dir="none"] nodesep="0.2" node[width="0" height="0" fontsize="10"]
3 |
4 | /*Net net00*/
5 |
6 | n000 [label="z"]
7 | n001->n000 [headlabel=":s:" arrowhead="invdot"]
8 | n001 [label="m"]
9 | n002->n001 [samehead="m002" headlabel=":r:" samearrowhead="1" arrowhead="invdot" arrowtail="inv"]
10 | n002 [label="p1"]
11 | n003->n002 [headlabel=":s:" arrowhead="dot"]
12 | n003 [label="b"]
13 | n004->n003
14 | n004 [label="x1"]
15 | n022->n004 [weight="0" headlabel=":s/r:" fontsize="8" arrowhead="invdot"]
16 | n003->n002 [samehead="m000" fontsize="8" samearrowhead="1" arrowtail="inv"]
17 | n005->n002 [samehead="m000" headlabel=":u:" fontsize="8" samearrowhead="1" arrowhead="dot" arrowtail="inv"]
18 | n005->n001 [samehead="m002" samearrowhead="1"]
19 | n005 [label="b"]
20 | n006->n005 [arrowtail="inv"]
21 | n006 [label="p2"]
22 | n007->n006 [headlabel=":s:" arrowhead="dot"]
23 | n007 [label="b"]
24 | n008->n007
25 | n008 [label="x2"]
26 | n022->n008 [weight="0" headlabel=":s/r:" fontsize="8" arrowhead="invdot"]
27 | n007->n006 [samehead="m001" headlabel=":u:" fontsize="8" samearrowhead="1" arrowhead="dot" arrowtail="inv"]
28 | n009->n006 [samehead="m001" samearrowhead="1" arrowtail="inv"]
29 | n009 [label="b2"]
30 | n022->n009 [fontsize="8"]
31 | n022->n009 [fontsize="8"]
32 | n010->n006 [samehead="m001" samearrowhead="1" arrowtail="inv"]
33 | n010 [label="b2"]
34 | n022->n010 [fontsize="8"]
35 | n022->n010 [fontsize="8"]
36 | n011->n000 [headlabel=":r:" arrowhead="invdot" arrowtail="inv"]
37 | n011 [label="n"]
38 | n012->n011 [samehead="m005" headlabel=":s:" samearrowhead="1" arrowhead="dot"]
39 | n012 [label="b"]
40 | n013->n012
41 | n013 [label="c1"]
42 | n014->n013 [headlabel=":r:" arrowhead="invdot"]
43 | n014 [label="b"]
44 | n015->n014 [arrowtail="inv"]
45 | n015 [label="y1"]
46 | n023->n015 [weight="0" headlabel=":s/r:" fontsize="8" arrowhead="dot"]
47 | n016->n015 [samehead="m003" headlabel=":u:" fontsize="8" samearrowhead="1" arrowhead="dot" arrowtail="inv"]
48 | n018->n015 [samehead="m003" fontsize="8" samearrowhead="1" arrowtail="inv"]
49 | n014->n011 [samehead="m006" headlabel=":u:" fontsize="8" samearrowhead="1" arrowhead="dot" arrowtail="inv"]
50 | n012->n011 [samehead="m006" fontsize="8" samearrowhead="1" arrowtail="inv"]
51 | n016->n011 [samehead="m005" samearrowhead="1"]
52 | n016 [label="b"]
53 | n017->n016
54 | n017 [label="c2"]
55 | n018->n017 [headlabel=":r:" arrowhead="invdot"]
56 | n018 [label="b"]
57 | n019->n018 [arrowtail="inv"]
58 | n019 [label="y2"]
59 | n023->n019 [weight="0" headlabel=":s/r:" fontsize="8" arrowhead="dot"]
60 | n020->n019 [samehead="m004" headlabel=":u:" samearrowhead="1" arrowhead="dot" arrowtail="inv"]
61 | n020 [label="b2"]
62 | n023->n020 [fontsize="8"]
63 | n023->n020 [fontsize="8"]
64 | n021->n019 [samehead="m004" samearrowhead="1" arrowtail="inv"]
65 | n021 [label="b2"]
66 | n023->n021 [fontsize="8"]
67 | n023->n021 [fontsize="8"]
68 | n022 [width="0.5" label="[P]" shape="box" style="dashed" height="0.35"]
69 | n023 [width="0.5" label="[Q]" shape="box" style="dashed" height="0.35"]
70 | {/*L=x1*/rank=same n004 n015}
71 | {/*L=p1*/rank=same n002 n013}
72 | {/*L=b*/rank=same n009 n010 n020 n021}
73 | {/*L=x2*/rank=same n008 n019}
74 | {/*L=p2*/rank=same n006 n017}
75 | {/*L=m*/rank=same n001 n011}
76 | }
77 |
--------------------------------------------------------------------------------
/testdata/directed/japanese.gv:
--------------------------------------------------------------------------------
1 | digraph G {
2 | graph [label="下駄配列の派生図"]
3 |
4 | getas [label = "下駄配列"];
5 | new_getas [label = "新下駄配列"];
6 | getas_in_fine_weather [label = "日和下駄配列"];
7 | black_lacquered_getas [label = "黒塗り下駄配列"];
8 | black_lacquered_getas_made_of_paulownia [label = "黒塗り桐下駄配列"];
9 | lacquered_getas [label = "塗り下駄配列"];
10 | new_JIS_getas [label = "新JIS下駄配列"];
11 |
12 | getas -> {
13 | getas_in_fine_weather
14 | lacquered_getas
15 | new_JIS_getas new_getas
16 | lacquered_getas
17 | };
18 |
19 | lacquered_getas -> black_lacquered_getas;
20 | black_lacquered_getas -> black_lacquered_getas_made_of_paulownia;
21 | black_lacquered_getas_made_of_paulownia -> black_lacquered_getas;
22 |
23 | black_lacquered_getas -> getas_in_fine_weather [style = dotted];
24 | }
25 |
--------------------------------------------------------------------------------
/testdata/directed/jcctree.gv:
--------------------------------------------------------------------------------
1 | digraph "tree" {
2 | // The problem disappeared when I removed the "ELEM3 -> ID5;" line!
3 | //size="4,5";
4 | ordering=out;
5 | node [shape=plaintext];
6 | SPEC -> DEF2;
7 | SPEC -> DEF1;
8 | DEF1 -> ID1;
9 | DEF1 -> SET1;
10 | DEF1 -> SC1;
11 | DEF2 -> ID2;
12 | DEF2 -> SET2;
13 | DEF2 -> SC2;
14 | SET1 -> OPEN1;
15 | SET1 -> ELEM1;
16 | SET1 -> SC3;
17 | SET1 -> ELEM2;
18 | SET1 -> CLOSE1;
19 | ELEM1 -> ID3;
20 | SET2 -> OPEN2;
21 | SET2 -> ELEM3;
22 | SET2 -> CLOSE2;
23 | ELEM2 -> ID4;
24 | ELEM3 -> ID5;
25 | DEF1 [label=DEF];
26 | DEF2 [label=DEF];
27 | SET1 [label=SET];
28 | SC1 [label=";"];
29 | SC3 [label=";"];
30 | SET2 [label=SET];
31 | SC2 [label=";"];
32 | OPEN1 [label="{"];
33 | OPEN2 [label="{"];
34 | CLOSE1 [label="}"];
35 | CLOSE2 [label="}"];
36 | ELEM1 [label=ELEMENT];
37 | ELEM2 [label=ELEMENT];
38 | ELEM3 [label=ELEMENT];
39 | ID1 [label=cities];
40 | ID2 [label=insects];
41 | ID3 [label=andover];
42 | ID4 [label=boston];
43 | ID5 [label=fly];
44 | }
45 |
--------------------------------------------------------------------------------
/testdata/directed/jsort.gv:
--------------------------------------------------------------------------------
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 | }
151 |
--------------------------------------------------------------------------------
/testdata/directed/ldbxtried.gv:
--------------------------------------------------------------------------------
1 | digraph g {
2 | graph [
3 | fontsize = "14"
4 | fontname = "Times-Roman"
5 | fontcolor = "black"
6 | color = "black"
7 | ];
8 | node [
9 | fontsize = "14"
10 | fontname = "Times-Roman"
11 | fontcolor = "black"
12 | shape = "box"
13 | color = "black"
14 | width = "0.5"
15 | style = "filled"
16 | ];
17 | edge [
18 | fontsize = "14"
19 | fontname = "Times-Roman"
20 | fontcolor = "black"
21 | color = "black"
22 | ];
23 | "n0" [
24 | label = "18519\n?"
25 | color = "lightblue"
26 | ];
27 | "n1" [
28 | label = "4836"
29 | shape = "ellipse"
30 | color = "maroon1"
31 | ];
32 | "n2" [
33 | label = "ttyqa"
34 | shape = "ellipse"
35 | color = "maroon1"
36 | ];
37 | "n448" [
38 | label = "21079\nlefty"
39 | color = "lightblue"
40 | ];
41 | "n449" [
42 | label = "tried.lefty"
43 | shape = "ellipse"
44 | color = "maroon1"
45 | ];
46 | "n454" [
47 | fontsize = "7"
48 | label = "bunting\n6000"
49 | shape = "doublecircle"
50 | color = "green"
51 | ];
52 | "n460" [
53 | label = ""
54 | shape = "doublecircle"
55 | color = "yellow"
56 | ];
57 | "n461" [
58 | label = ""
59 | shape = "doublecircle"
60 | color = "yellow"
61 | ];
62 | "n462" [
63 | label = "21084\ntried"
64 | color = "lightblue"
65 | ];
66 | "n464" [
67 | label = "21086\nldbx"
68 | color = "lightblue"
69 | ];
70 | "n466" [
71 | label = "ldbx"
72 | shape = "ellipse"
73 | color = "maroon1"
74 | ];
75 | "n468" [
76 | label = "21087\nlefty"
77 | color = "lightblue"
78 | ];
79 | "n469" [
80 | label = "sh21086.1"
81 | shape = "ellipse"
82 | color = "maroon1"
83 | ];
84 | "n474" [
85 | fontsize = "7"
86 | label = "bunting\n6000"
87 | shape = "doublecircle"
88 | color = "green"
89 | ];
90 | "n479" [
91 | label = "ldbx.lefty"
92 | shape = "ellipse"
93 | color = "maroon1"
94 | ];
95 | "n482" [
96 | label = ""
97 | shape = "doublecircle"
98 | color = "yellow"
99 | ];
100 | "n483" [
101 | label = ""
102 | shape = "doublecircle"
103 | color = "yellow"
104 | ];
105 | "n484" [
106 | label = "21088\ndot"
107 | color = "lightblue"
108 | ];
109 | "n486" [
110 | label = ""
111 | shape = "doublecircle"
112 | color = "yellow"
113 | ];
114 | "n487" [
115 | label = ""
116 | shape = "doublecircle"
117 | color = "yellow"
118 | ];
119 | "n488" [
120 | label = "21089\nxterm"
121 | color = "lightblue"
122 | ];
123 | "n496" [
124 | fontsize = "7"
125 | label = "bunting\n6000"
126 | shape = "doublecircle"
127 | color = "green"
128 | ];
129 | "n500" [
130 | label = "ptyq2"
131 | shape = "ellipse"
132 | color = "maroon1"
133 | ];
134 | "n503" [
135 | label = "21090\nldbxmp"
136 | color = "lightblue"
137 | ];
138 | "n505" [
139 | label = "ttyq2"
140 | shape = "ellipse"
141 | color = "maroon1"
142 | ];
143 | "n512" [
144 | label = "ptyq5"
145 | shape = "ellipse"
146 | color = "maroon1"
147 | ];
148 | "n513" [
149 | label = "ttyq5"
150 | shape = "ellipse"
151 | color = "maroon1"
152 | ];
153 | "n514" [
154 | label = "21091\ndbx"
155 | color = "lightblue"
156 | ];
157 | "n518" [
158 | label = "tty"
159 | shape = "ellipse"
160 | color = "maroon1"
161 | ];
162 | "n526" [
163 | label = "delaunay.c"
164 | shape = "ellipse"
165 | color = "maroon1"
166 | ];
167 | subgraph "cluster0" {
168 | graph [
169 | fontsize = "14"
170 | fontname = "Times-Roman"
171 | fontcolor = "black"
172 | label = "toucan"
173 | color = "black"
174 | ];
175 | node [
176 | fontsize = "14"
177 | fontname = "Times-Roman"
178 | fontcolor = "black"
179 | shape = "box"
180 | color = "black"
181 | width = "0.5"
182 | style = "filled"
183 | ];
184 | edge [
185 | fontsize = "14"
186 | fontname = "Times-Roman"
187 | fontcolor = "black"
188 | color = "black"
189 | ];
190 | "n0"
191 | "n468"
192 | "n486"
193 | "n460"
194 | "n487"
195 | "n514"
196 | "n461"
197 | "n488"
198 | "n462"
199 | "n464"
200 | "n482"
201 | "n483"
202 | "n448"
203 | "n484"
204 | "n503"
205 | }
206 | "n0" -> "n1" [
207 | dir = "both"
208 | ];
209 | "n0" -> "n2" [
210 | dir = "both"
211 | ];
212 | "n0" -> "n2" [
213 | dir = "both"
214 | ];
215 | "n0" -> "n2" [
216 | dir = "both"
217 | ];
218 | "n0" -> "n448" [
219 | style = "dotted"
220 | ];
221 | "n448" -> "n2" [
222 | dir = "both"
223 | ];
224 | "n448" -> "n2" [
225 | dir = "both"
226 | ];
227 | "n448" -> "n2" [
228 | dir = "both"
229 | ];
230 | "n448" -> "n449" [
231 | dir = "back"
232 | ];
233 | "n448" -> "n454" [
234 | dir = "both"
235 | ];
236 | "n448" -> "n460" [
237 | dir = "back"
238 | ];
239 | "n448" -> "n461" [
240 | dir = "forward"
241 | ];
242 | "n448" -> "n462" [
243 | style = "dotted"
244 | ];
245 | "n462" -> "n2" [
246 | dir = "both"
247 | ];
248 | "n462" -> "n2" [
249 | dir = "both"
250 | ];
251 | "n462" -> "n2" [
252 | dir = "both"
253 | ];
254 | "n462" -> "n449" [
255 | dir = "back"
256 | ];
257 | "n462" -> "n460" [
258 | dir = "forward"
259 | ];
260 | "n462" -> "n461" [
261 | dir = "back"
262 | ];
263 | "n462" -> "n460" [
264 | dir = "forward"
265 | ];
266 | "n462" -> "n461" [
267 | dir = "back"
268 | ];
269 | "n0" -> "n464" [
270 | style = "dotted"
271 | ];
272 | "n464" -> "n2" [
273 | dir = "both"
274 | ];
275 | "n464" -> "n2" [
276 | dir = "both"
277 | ];
278 | "n464" -> "n2" [
279 | dir = "both"
280 | ];
281 | "n464" -> "n466" [
282 | dir = "back"
283 | ];
284 | "n464" -> "n468" [
285 | style = "dotted"
286 | ];
287 | "n468" -> "n2" [
288 | dir = "both"
289 | ];
290 | "n468" -> "n2" [
291 | dir = "both"
292 | ];
293 | "n468" -> "n469" [
294 | dir = "back"
295 | ];
296 | "n468" -> "n474" [
297 | dir = "both"
298 | ];
299 | "n468" -> "n479" [
300 | dir = "back"
301 | ];
302 | "n468" -> "n482" [
303 | dir = "back"
304 | ];
305 | "n468" -> "n483" [
306 | dir = "forward"
307 | ];
308 | "n468" -> "n484" [
309 | style = "dotted"
310 | ];
311 | "n484" -> "n2" [
312 | dir = "both"
313 | ];
314 | "n484" -> "n483" [
315 | dir = "back"
316 | ];
317 | "n484" -> "n479" [
318 | dir = "back"
319 | ];
320 | "n484" -> "n482" [
321 | dir = "forward"
322 | ];
323 | "n468" -> "n486" [
324 | dir = "back"
325 | ];
326 | "n468" -> "n487" [
327 | dir = "forward"
328 | ];
329 | "n468" -> "n488" [
330 | style = "dotted"
331 | ];
332 | "n488" -> "n486" [
333 | dir = "forward"
334 | ];
335 | "n488" -> "n2" [
336 | dir = "both"
337 | ];
338 | "n488" -> "n487" [
339 | dir = "back"
340 | ];
341 | "n488" -> "n469" [
342 | dir = "back"
343 | ];
344 | "n488" -> "n2" [
345 | dir = "both"
346 | ];
347 | "n488" -> "n479" [
348 | dir = "back"
349 | ];
350 | "n488" -> "n496" [
351 | dir = "both"
352 | ];
353 | "n488" -> "n500" [
354 | dir = "both"
355 | ];
356 | "n488" -> "n503" [
357 | style = "dotted"
358 | ];
359 | "n503" -> "n479" [
360 | dir = "back"
361 | ];
362 | "n503" -> "n486" [
363 | dir = "forward"
364 | ];
365 | "n503" -> "n487" [
366 | dir = "back"
367 | ];
368 | "n503" -> "n505" [
369 | dir = "both"
370 | ];
371 | "n503" -> "n505" [
372 | dir = "both"
373 | ];
374 | "n503" -> "n505" [
375 | dir = "forward"
376 | ];
377 | "n503" -> "n512" [
378 | dir = "both"
379 | ];
380 | "n503" -> "n514" [
381 | style = "dotted"
382 | ];
383 | "n514" -> "n487" [
384 | dir = "back"
385 | ];
386 | "n514" -> "n486" [
387 | dir = "forward"
388 | ];
389 | "n514" -> "n479" [
390 | dir = "back"
391 | ];
392 | "n514" -> "n505" [
393 | dir = "forward"
394 | ];
395 | "n503" -> "n486" [
396 | dir = "forward"
397 | ];
398 | "n514" -> "n518" [
399 | dir = "back"
400 | ];
401 | "n514" -> "n513" [
402 | dir = "both"
403 | ];
404 | "n514" -> "n513" [
405 | dir = "both"
406 | ];
407 | "n514" -> "n518" [
408 | dir = "back"
409 | ];
410 | "n514" -> "n526" [
411 | dir = "back"
412 | ];
413 | "n503" -> "n487" [
414 | dir = "back"
415 | ];
416 | }
417 |
--------------------------------------------------------------------------------
/testdata/directed/longflat.gv:
--------------------------------------------------------------------------------
1 | digraph if
2 | {
3 | rankdir=LR;
4 | {rank=same;b;c;}
5 | a->b;
6 | c->b[label="long long long"];
7 | }
8 |
--------------------------------------------------------------------------------
/testdata/directed/mike.gv:
--------------------------------------------------------------------------------
1 | digraph mike{
2 | size = "8,8";
3 | a -> A;
4 | a -> m;
5 | a -> E;
6 | t -> O;
7 | r -> V;
8 | r -> Q;
9 | p -> B;
10 | m -> R;
11 | l -> C;
12 | c -> C;
13 | W -> X;
14 | W -> D;
15 | V -> W;
16 | T -> U;
17 | Q -> T;
18 | Q -> H;
19 | Q -> A;
20 | O -> K;
21 | L -> U;
22 | K -> L;
23 | K -> J;
24 | K -> E;
25 | J -> I;
26 | R -> B;
27 | P -> F;
28 | H -> R;
29 | H -> P;
30 | U -> H;
31 | G -> U;
32 | E -> G;
33 | C -> Z;
34 | C -> D;
35 | S -> D;
36 | B -> N;
37 | B -> D;
38 | B -> S;
39 | M -> B;
40 | A -> M;
41 | N -> Y;
42 | }
43 |
--------------------------------------------------------------------------------
/testdata/directed/nhg.gv:
--------------------------------------------------------------------------------
1 | digraph automata_0 {
2 | size ="8.5, 11";
3 | node [shape = circle];
4 | 0 [ style = filled, color=lightgrey ];
5 | 2 [ shape = doublecircle ];
6 | 0 -> 2 [ label = "a " ];
7 | 0 -> 1 [ label = "other " ];
8 | 1 -> 2 [ label = "a " ];
9 | 1 -> 1 [ label = "other " ];
10 | 2 -> 2 [ label = "a " ];
11 | 2 -> 1 [ label = "other " ];
12 | "Machine: a" [ shape = plaintext ];
13 | }
14 |
--------------------------------------------------------------------------------
/testdata/directed/oldarrows.gv:
--------------------------------------------------------------------------------
1 | digraph G {
2 | // leave some space for the head/taillabels
3 | graph [ranksep=1.5 splines=true overlap=false]
4 |
5 | // to avoid confusion, remember this:
6 | // it's spelt tail/head, but it's read start/end
7 |
8 | // put head/tail labels farther from the node
9 | edge [labeldistance=3]
10 |
11 | // not interested in node labels
12 | node [shape=circle width=0.5 label=""]
13 |
14 | {
15 | edge [dir=back samehead=ahead samearrowhead=1]
16 | a->Z [arrowtail=none taillabel=none]
17 | b->Z [arrowtail=normal taillabel=normal]
18 | c->Z [arrowtail=inv taillabel=inv]
19 | d->Z [arrowtail=dot taillabel=dot]
20 | e->Z [arrowtail=odot taillabel=odot]
21 | f->Z [arrowtail=invdot taillabel=invdot]
22 | g->Z [arrowtail=invodot taillabel=invodot]
23 | h->Z [arrowtail=open taillabel=open]
24 | i->Z [arrowtail=halfopen taillabel=halfopen arrowhead=inv headlabel=samehead]
25 | j->Z [arrowtail=empty taillabel=empty]
26 | k->Z [arrowtail=invempty taillabel=invempty]
27 | l->Z [arrowtail=diamond taillabel=diamond]
28 | m->Z [arrowtail=odiamond taillabel=odiamond]
29 | n->Z [arrowtail=box taillabel=box]
30 | o->Z [arrowtail=obox taillabel=obox]
31 | p->Z [arrowtail=tee taillabel=tee]
32 | q->Z [arrowtail=crow taillabel=crow]
33 | }
34 | {
35 | edge [sametail=atail samearrowtail=1]
36 | Z->A [arrowhead=none headlabel=none]
37 | Z->B [arrowhead=normal headlabel=normal]
38 | Z->C [arrowhead=inv headlabel=inv]
39 | Z->D [arrowhead=dot headlabel=dot]
40 | Z->E [arrowhead=odot headlabel=odot]
41 | Z->F [arrowhead=invdot headlabel=invdot]
42 | Z->G [arrowhead=invodot headlabel=invodot]
43 | Z->H [arrowhead=open headlabel=open]
44 | Z->I [arrowhead=halfopen headlabel=halfopen arrowtail=inv taillabel=sametail]
45 | Z->J [arrowhead=empty headlabel=empty]
46 | Z->K [arrowhead=invempty headlabel=invempty]
47 | Z->L [arrowhead=diamond headlabel=diamond]
48 | Z->M [arrowhead=odiamond headlabel=odiamond]
49 | Z->N [arrowhead=box headlabel=box]
50 | Z->O [arrowhead=obox headlabel=obox]
51 | Z->P [arrowhead=tee headlabel=tee]
52 | Z->Q [arrowhead=crow headlabel=crow]
53 | }
54 | }
55 |
--------------------------------------------------------------------------------
/testdata/directed/pgram.gv:
--------------------------------------------------------------------------------
1 | digraph test {
2 |
3 | size="7,9.5";
4 | page="8,10.5";
5 | ratio=fill;
6 | rankdir=LR;
7 |
8 | { rank=same;
9 | node [shape=house];
10 | A;C;E;G;I;K;M;O;Q;S;U;W;Y;
11 | node [shape=invhouse];
12 | B;D;F;H;J;L;N;P;R;T;V;X;Z;
13 | }
14 |
15 | { rank=same;
16 | node [shape=parallelogram];
17 | "Parallelogram" [label="This is a test\nof a multiline\nlabel in an\nparallelogram with approx\nsquare aspect"];
18 | "a ----- long thin parallelogram";
19 | "xx" [label="m"];
20 | "yy" [label="a\nb\nc\nd\ne\nf"];
21 | node [shape=octagon];
22 | "Octagon" [label="This is a test\nof a multiline\nlabel in an\noctagon with approx\nsquare aspect"];
23 | node [shape=parallelogram];
24 | "Parallelogram" [label="This is a test\nof a multiline\nlabel in an\nparallelogram with approx\nsquare aspect"];
25 | "a ----- long thin parallelogram";
26 | "zz" [label="m"];
27 | "qq" [label="a\nb\nc\nd\ne\nf"];
28 | ordering=out;
29 | }
30 |
31 | Parallelogram -> A;
32 | Parallelogram -> B;
33 | Parallelogram -> C;
34 | Parallelogram -> D;
35 | Parallelogram -> E;
36 | Parallelogram -> F;
37 | Parallelogram -> G;
38 | Parallelogram -> H;
39 | Parallelogram -> I;
40 | Parallelogram -> J;
41 | Parallelogram -> K;
42 | Parallelogram -> L;
43 | Parallelogram -> M;
44 | Parallelogram -> N;
45 | Parallelogram -> O;
46 | Parallelogram -> P;
47 | Parallelogram -> Q;
48 | Parallelogram -> R;
49 | Parallelogram -> S;
50 | Parallelogram -> T;
51 | Parallelogram -> U;
52 | Parallelogram -> V;
53 | Parallelogram -> W;
54 | Parallelogram -> X;
55 | Parallelogram -> Y;
56 | Parallelogram -> Z;
57 |
58 | { rank=same;
59 | node [shape=triangle];
60 | a;c;e;g;i;k;m;o;q;s;u;w;y;
61 | node [shape=tripleoctagon];
62 | b;d;f;h;j;l;n;p;r;t;v;x;z;
63 | }
64 |
65 | a -> Parallelogram -> Octagon;
66 | b -> Parallelogram -> Octagon;
67 | c -> Parallelogram -> Octagon;
68 | d -> Parallelogram -> Octagon;
69 | e -> Parallelogram -> Octagon;
70 | f -> Parallelogram -> Octagon;
71 | g -> Parallelogram -> Octagon;
72 | h -> Parallelogram -> Octagon;
73 | i -> Parallelogram -> Octagon;
74 | j -> Parallelogram -> Octagon;
75 | k -> Parallelogram -> Octagon;
76 | l -> Parallelogram -> Octagon;
77 | m -> Parallelogram -> Octagon;
78 | n -> Parallelogram -> Octagon;
79 | o -> Parallelogram -> Octagon;
80 | p -> Parallelogram -> Octagon;
81 | q -> Parallelogram -> Octagon;
82 | r -> Parallelogram -> Octagon;
83 | s -> Parallelogram -> Octagon;
84 | t -> Parallelogram -> Octagon;
85 | u -> Parallelogram -> Octagon;
86 | v -> Parallelogram -> Octagon;
87 | w -> Parallelogram -> Octagon;
88 | x -> Parallelogram -> Octagon;
89 | y -> Parallelogram -> Octagon;
90 | z -> Parallelogram -> Octagon;
91 | }
92 |
--------------------------------------------------------------------------------
/testdata/directed/pm2way.gv:
--------------------------------------------------------------------------------
1 | digraph g {
2 | graph [
3 | ];
4 | node [
5 | fontsize = "14"
6 | fontname = "Times-Roman"
7 | fontcolor = "black"
8 | shape = "box"
9 | color = "black"
10 | width = "0.5"
11 | ];
12 | edge [
13 | fontsize = "14"
14 | fontname = "Times-Roman"
15 | fontcolor = "black"
16 | color = "black"
17 | ];
18 | "22690" [
19 | label = "22690\n?"
20 | pname = "?"
21 | kind = "proc"
22 | ];
23 | "22692" [
24 | label = "22692\ndotty"
25 | pname = "dotty"
26 | kind = "proc"
27 | ];
28 | "116842+2595" [
29 | label = "116842+2595\n/home/ek/work/sun4/bin/dotty"
30 | fname = "/home/ek/work/sun4/bin/dotty"
31 | shape = "ellipse"
32 | kind = "file"
33 | ];
34 | "22693" [
35 | label = "22693\nlefty"
36 | pname = "lefty"
37 | kind = "proc"
38 | ];
39 | "182440-1" [
40 | label = "182440-1\n182441-1\npipe"
41 | fontsize = "7"
42 | fname = "pipe"
43 | shape = "doublecircle"
44 | subkind = "pipe"
45 | kind = "file"
46 | ];
47 | "182442-1" [
48 | label = "182442-1\n182443-1\npipe"
49 | fontsize = "7"
50 | fname = "pipe"
51 | shape = "doublecircle"
52 | subkind = "pipe"
53 | kind = "file"
54 | ];
55 | "22694" [
56 | label = "22694\ndot"
57 | pname = "dot"
58 | kind = "proc"
59 | ];
60 | "4761+2595" [
61 | label = "4761+2595\n/home/ek/pm2.dot"
62 | fname = "/home/ek/pm2.dot"
63 | shape = "ellipse"
64 | kind = "file"
65 | ];
66 | "22690" -> "22692" [
67 | fontsize = "14"
68 | fontname = "Times-Roman"
69 | fontcolor = "black"
70 | color = "black"
71 | ];
72 | "22692" -> "116842+2595" [
73 | fontsize = "14"
74 | fontname = "Times-Roman"
75 | fontcolor = "black"
76 | dir = "back"
77 | color = "black"
78 | ];
79 | "22692" -> "22693" [
80 | fontsize = "14"
81 | fontname = "Times-Roman"
82 | fontcolor = "black"
83 | color = "black"
84 | ];
85 | "22693" -> "182440-1" [
86 | fontsize = "14"
87 | fontname = "Times-Roman"
88 | fontcolor = "black"
89 | dir = "back"
90 | color = "black"
91 | ];
92 | "22693" -> "182442-1" [
93 | fontsize = "14"
94 | fontname = "Times-Roman"
95 | fontcolor = "black"
96 | dir = "forward"
97 | color = "black"
98 | ];
99 | "22693" -> "22694" [
100 | fontsize = "14"
101 | fontname = "Times-Roman"
102 | fontcolor = "black"
103 | color = "black"
104 | ];
105 | "22694" -> "182440-1" [
106 | fontsize = "14"
107 | fontname = "Times-Roman"
108 | fontcolor = "black"
109 | dir = "forward"
110 | color = "black"
111 | ];
112 | "22694" -> "182442-1" [
113 | fontsize = "14"
114 | fontname = "Times-Roman"
115 | fontcolor = "black"
116 | dir = "back"
117 | color = "black"
118 | ];
119 | "22693" -> "4761+2595" [
120 | fontsize = "14"
121 | fontname = "Times-Roman"
122 | fontcolor = "black"
123 | dir = "back"
124 | color = "black"
125 | ];
126 | }
127 |
--------------------------------------------------------------------------------
/testdata/directed/pmpipe.gv:
--------------------------------------------------------------------------------
1 | digraph g {
2 | graph [
3 | ];
4 | node [
5 | fontsize = "14"
6 | fontname = "Times-Roman"
7 | fontcolor = "black"
8 | shape = "box"
9 | color = "black"
10 | width = "0.5"
11 | ];
12 | edge [
13 | fontsize = "14"
14 | fontname = "Times-Roman"
15 | fontcolor = "black"
16 | color = "black"
17 | ];
18 | "23296" [
19 | label = "23296\n?"
20 | pname = "?"
21 | kind = "proc"
22 | ];
23 | "182948-1" [
24 | label = "182948-1\n182949-1\npipe"
25 | fontsize = "7"
26 | fname = "pipe"
27 | shape = "doublecircle"
28 | subkind = "pipe"
29 | kind = "file"
30 | ];
31 | "23310" [
32 | label = "23310\ncat"
33 | pname = "cat"
34 | kind = "proc"
35 | ];
36 | "182950-1" [
37 | label = "182950-1\n182951-1\npipe"
38 | fontsize = "7"
39 | fname = "pipe"
40 | shape = "doublecircle"
41 | subkind = "pipe"
42 | kind = "file"
43 | ];
44 | "23311" [
45 | label = "23311\ncat"
46 | pname = "cat"
47 | kind = "proc"
48 | ];
49 | "182952-1" [
50 | label = "182952-1\n182953-1\npipe"
51 | fontsize = "7"
52 | fname = "pipe"
53 | shape = "doublecircle"
54 | subkind = "pipe"
55 | kind = "file"
56 | ];
57 | "23312" [
58 | label = "23312\ncat"
59 | pname = "cat"
60 | kind = "proc"
61 | ];
62 | "182954-1" [
63 | label = "182954-1\n182955-1\npipe"
64 | fontsize = "7"
65 | fname = "pipe"
66 | shape = "doublecircle"
67 | subkind = "pipe"
68 | kind = "file"
69 | ];
70 | "23313" [
71 | label = "23313\ncat"
72 | pname = "cat"
73 | kind = "proc"
74 | ];
75 | "79893+2568" [
76 | label = "79893+2568\n/usr/share/lib/termcap"
77 | fname = "/usr/share/lib/termcap"
78 | shape = "ellipse"
79 | kind = "file"
80 | ];
81 | "85+2560" [
82 | label = "85+2560\n?"
83 | fname = "?"
84 | shape = "ellipse"
85 | kind = "file"
86 | ];
87 | "23314" [
88 | label = "23314\ncat"
89 | pname = "cat"
90 | kind = "proc"
91 | ];
92 | "4151865284+0" [
93 | label = "4151865284+0\n/tmp/termcap"
94 | fname = "/tmp/termcap"
95 | shape = "ellipse"
96 | kind = "file"
97 | ];
98 | "23296" -> "23310" [
99 | fontsize = "14"
100 | fontname = "Times-Roman"
101 | fontcolor = "black"
102 | color = "black"
103 | ];
104 | "23296" -> "23311" [
105 | fontsize = "14"
106 | fontname = "Times-Roman"
107 | fontcolor = "black"
108 | color = "black"
109 | ];
110 | "23311" -> "182948-1" [
111 | fontsize = "14"
112 | fontname = "Times-Roman"
113 | fontcolor = "black"
114 | dir = "back"
115 | color = "black"
116 | ];
117 | "23310" -> "182948-1" [
118 | fontsize = "14"
119 | fontname = "Times-Roman"
120 | fontcolor = "black"
121 | dir = "forward"
122 | color = "black"
123 | ];
124 | "23296" -> "23312" [
125 | fontsize = "14"
126 | fontname = "Times-Roman"
127 | fontcolor = "black"
128 | color = "black"
129 | ];
130 | "23312" -> "182952-1" [
131 | fontsize = "14"
132 | fontname = "Times-Roman"
133 | fontcolor = "black"
134 | dir = "forward"
135 | color = "black"
136 | ];
137 | "23312" -> "182950-1" [
138 | fontsize = "14"
139 | fontname = "Times-Roman"
140 | fontcolor = "black"
141 | dir = "back"
142 | color = "black"
143 | ];
144 | "23296" -> "23313" [
145 | fontsize = "14"
146 | fontname = "Times-Roman"
147 | fontcolor = "black"
148 | color = "black"
149 | ];
150 | "23313" -> "182954-1" [
151 | fontsize = "14"
152 | fontname = "Times-Roman"
153 | fontcolor = "black"
154 | dir = "forward"
155 | color = "black"
156 | ];
157 | "23311" -> "182950-1" [
158 | fontsize = "14"
159 | fontname = "Times-Roman"
160 | fontcolor = "black"
161 | dir = "forward"
162 | color = "black"
163 | ];
164 | "23310" -> "79893+2568" [
165 | fontsize = "14"
166 | fontname = "Times-Roman"
167 | fontcolor = "black"
168 | dir = "back"
169 | color = "black"
170 | ];
171 | "23296" -> "85+2560" [
172 | fontsize = "14"
173 | fontname = "Times-Roman"
174 | fontcolor = "black"
175 | dir = "both"
176 | color = "black"
177 | ];
178 | "23296" -> "23314" [
179 | fontsize = "14"
180 | fontname = "Times-Roman"
181 | fontcolor = "black"
182 | color = "black"
183 | ];
184 | "23314" -> "85+2560" [
185 | fontsize = "14"
186 | fontname = "Times-Roman"
187 | fontcolor = "black"
188 | dir = "both"
189 | color = "black"
190 | ];
191 | "23314" -> "182954-1" [
192 | fontsize = "14"
193 | fontname = "Times-Roman"
194 | fontcolor = "black"
195 | dir = "back"
196 | color = "black"
197 | ];
198 | "23296" -> "85+2560" [
199 | fontsize = "14"
200 | fontname = "Times-Roman"
201 | fontcolor = "black"
202 | dir = "both"
203 | color = "black"
204 | ];
205 | "23314" -> "4151865284+0" [
206 | fontsize = "14"
207 | fontname = "Times-Roman"
208 | fontcolor = "black"
209 | dir = "forward"
210 | color = "black"
211 | ];
212 | "23313" -> "182952-1" [
213 | fontsize = "14"
214 | fontname = "Times-Roman"
215 | fontcolor = "black"
216 | dir = "back"
217 | color = "black"
218 | ];
219 | }
220 |
--------------------------------------------------------------------------------
/testdata/directed/polypoly.gv:
--------------------------------------------------------------------------------
1 | digraph polypoly {
2 |
3 | size="7,9.5";
4 | page="8.5,11";
5 | ratio=fill;
6 | node [shape=polygon];
7 |
8 | { rank=same;
9 | node [sides=0];
10 | node [peripheries=1];
11 | 0000 [label="M"];
12 | 0001 [label="MMMMMMMMMM"];
13 | 0002 [label="M\nM\nM\nM\nM\nM"];
14 | 0003 [label="MMMMMMMMMM\nMMMMMMMMMM\nMMMMMMMMMM\nMMMMMMMMMM\nMMMMMMMMMM\nMMMMMMMMMM"];
15 | node [peripheries=2];
16 | 0010 [label="M"];
17 | 0011 [label="MMMMMMMMMM"];
18 | 0012 [label="M\nM\nM\nM\nM\nM"];
19 | 0013 [label="MMMMMMMMMM\nMMMMMMMMMM\nMMMMMMMMMM\nMMMMMMMMMM\nMMMMMMMMMM\nMMMMMMMMMM"];
20 | node [distortion=-.3];
21 | 0110 [label="M"];
22 | 0111 [label="MMMMMMMMMM"];
23 | 0112 [label="M\nM\nM\nM\nM\nM"];
24 | 0113 [label="MMMMMMMMMM\nMMMMMMMMMM\nMMMMMMMMMM\nMMMMMMMMMM\nMMMMMMMMMM\nMMMMMMMMMM"];
25 | }
26 | { rank=same;
27 | node [sides=3];
28 | node [peripheries=1];
29 | node [orientation=0];
30 | 3000 [label="M"];
31 | 3001 [label="MMMMMMMMMM"];
32 | 3002 [label="M\nM\nM\nM\nM\nM"];
33 | 3003 [label="MMMMMMMMMM\nMMMMMMMMMM\nMMMMMMMMMM\nMMMMMMMMMM\nMMMMMMMMMM\nMMMMMMMMMM"];
34 | node [peripheries=2];
35 | node [orientation=60];
36 | 3110 [label="M"];
37 | 3111 [label="MMMMMMMMMM"];
38 | 3112 [label="M\nM\nM\nM\nM\nM"];
39 | 3113 [label="MMMMMMMMMM\nMMMMMMMMMM\nMMMMMMMMMM\nMMMMMMMMMM\nMMMMMMMMMM\nMMMMMMMMMM"];
40 | }
41 | 3000->0000;
42 | { rank=same;
43 | node [sides=4];
44 | node [peripheries=1];
45 | node [orientation=0];
46 | 4000 [label="M"];
47 | 4001 [label="MMMMMMMMMM"];
48 | 4002 [label="M\nM\nM\nM\nM\nM"];
49 | 4003 [label="MMMMMMMMMM\nMMMMMMMMMM\nMMMMMMMMMM\nMMMMMMMMMM\nMMMMMMMMMM\nMMMMMMMMMM"];
50 | node [peripheries=2];
51 | node [orientation=45];
52 | 4110 [label="M"];
53 | 4111 [label="MMMMMMMMMM"];
54 | 4112 [label="M\nM\nM\nM\nM\nM"];
55 | 4113 [label="MMMMMMMMMM\nMMMMMMMMMM\nMMMMMMMMMM\nMMMMMMMMMM\nMMMMMMMMMM\nMMMMMMMMMM"];
56 | }
57 | 4000->3000;
58 | { rank=same;
59 | node [sides=5];
60 | node [peripheries=1];
61 | node [orientation=0];
62 | 5000 [label="M"];
63 | 5001 [label="MMMMMMMMMM"];
64 | 5002 [label="M\nM\nM\nM\nM\nM"];
65 | 5003 [label="MMMMMMMMMM\nMMMMMMMMMM\nMMMMMMMMMM\nMMMMMMMMMM\nMMMMMMMMMM\nMMMMMMMMMM"];
66 | node [peripheries=2];
67 | node [orientation=36];
68 | 5110 [label="M"];
69 | 5111 [label="MMMMMMMMMM"];
70 | 5112 [label="M\nM\nM\nM\nM\nM"];
71 | 5113 [label="MMMMMMMMMM\nMMMMMMMMMM\nMMMMMMMMMM\nMMMMMMMMMM\nMMMMMMMMMM\nMMMMMMMMMM"];
72 | }
73 | 5000->4000;
74 | { rank=same;
75 | node [sides=6];
76 | node [peripheries=1];
77 | node [orientation=0];
78 | 6000 [label="M"];
79 | 6001 [label="MMMMMMMMMM"];
80 | 6002 [label="M\nM\nM\nM\nM\nM"];
81 | 6003 [label="MMMMMMMMMM\nMMMMMMMMMM\nMMMMMMMMMM\nMMMMMMMMMM\nMMMMMMMMMM\nMMMMMMMMMM"];
82 | node [peripheries=2];
83 | node [orientation=30];
84 | 6110 [label="M"];
85 | 6111 [label="MMMMMMMMMM"];
86 | 6112 [label="M\nM\nM\nM\nM\nM"];
87 | 6113 [label="MMMMMMMMMM\nMMMMMMMMMM\nMMMMMMMMMM\nMMMMMMMMMM\nMMMMMMMMMM\nMMMMMMMMMM"];
88 | }
89 | 6000->5000;
90 | { rank=same;
91 | node [sides=7];
92 | node [peripheries=1];
93 | node [orientation=0];
94 | 7000 [label="M"];
95 | 7001 [label="MMMMMMMMMM"];
96 | 7002 [label="M\nM\nM\nM\nM\nM"];
97 | 7003 [label="MMMMMMMMMM\nMMMMMMMMMM\nMMMMMMMMMM\nMMMMMMMMMM\nMMMMMMMMMM\nMMMMMMMMMM"];
98 | node [peripheries=2];
99 | node [orientation=25.7];
100 | 7110 [label="M"];
101 | 7111 [label="MMMMMMMMMM"];
102 | 7112 [label="M\nM\nM\nM\nM\nM"];
103 | 7113 [label="MMMMMMMMMM\nMMMMMMMMMM\nMMMMMMMMMM\nMMMMMMMMMM\nMMMMMMMMMM\nMMMMMMMMMM"];
104 | }
105 | 7000->6000;
106 | { rank=same;
107 | node [sides=8];
108 | node [peripheries=1];
109 | node [orientation=0];
110 | 8000 [label="M"];
111 | 8001 [label="MMMMMMMMMM"];
112 | 8002 [label="M\nM\nM\nM\nM\nM"];
113 | 8003 [label="MMMMMMMMMM\nMMMMMMMMMM\nMMMMMMMMMM\nMMMMMMMMMM\nMMMMMMMMMM\nMMMMMMMMMM"];
114 | node [peripheries=2];
115 | node [orientation=22.5];
116 | 8110 [label="M"];
117 | 8111 [label="MMMMMMMMMM"];
118 | 8112 [label="M\nM\nM\nM\nM\nM"];
119 | 8113 [label="MMMMMMMMMM\nMMMMMMMMMM\nMMMMMMMMMM\nMMMMMMMMMM\nMMMMMMMMMM\nMMMMMMMMMM"];
120 | }
121 | 8000->7000;
122 | { rank=same;
123 | node [sides=4];
124 | node [peripheries=1];
125 | node [regular=1];
126 | node [distortion=.5];
127 | node [orientation=0];
128 | 9000 [label="M"];
129 | node [orientation=45.];
130 | 9001 [label="M"];
131 | node [orientation=90.];
132 | 9002 [label="M"];
133 | node [orientation=135.];
134 | 9003 [label="M"];
135 | node [orientation=180.];
136 | 9004 [label="M"];
137 | node [orientation=225.];
138 | 9005 [label="M"];
139 | node [orientation=270.];
140 | 9006 [label="M"];
141 | node [orientation=315.];
142 | 9007 [label="M"];
143 | node [peripheries=2];
144 | node [orientation=0];
145 | 9010 [label="M"];
146 | node [orientation=45.];
147 | 9011 [label="M"];
148 | node [orientation=90.];
149 | 9012 [label="M"];
150 | node [orientation=135.];
151 | 9013 [label="M"];
152 | node [orientation=180.];
153 | 9014 [label="M"];
154 | node [orientation=225.];
155 | 9015 [label="M"];
156 | node [orientation=270.];
157 | 9016 [label="M"];
158 | node [orientation=315.];
159 | 9017 [label="M"];
160 | }
161 | 9000->8000;
162 | }
163 |
--------------------------------------------------------------------------------
/testdata/directed/proc3d.gv:
--------------------------------------------------------------------------------
1 | digraph g {
2 | graph [
3 | fontname=Courier,
4 | fontsize=24,
5 | ranksep = 1.0,
6 | size="10,7.5",
7 | orientation=land,
8 | style="setlinewidth(8)"
9 | page = "8.5,11",
10 | center=true
11 | ];
12 | node [
13 | shape = "box"
14 | width = "0.5"
15 | ];
16 | edge [
17 | ];
18 | subgraph cluster_0 {
19 | label="gryphon"
20 | "22342"
21 | "22343"
22 | "22346"
23 | "22347"
24 | "22351"
25 | "22344"
26 | "22345"
27 | "22348"
28 | "22350"
29 | "22357"
30 | }
31 | subgraph cluster_1 {
32 | label=toucan
33 | "22349"
34 | "22352"
35 | "22356"
36 | "22361"
37 | "22369"
38 | "22353"
39 | "22355"
40 | "22360"
41 | "22365"
42 | "22374"
43 | }
44 | subgraph cluster_2 {
45 | label=parker
46 | "22354"
47 | "22359"
48 | "22375"
49 | }
50 | subgraph cluster_3 {
51 | label=condor
52 | "22358"
53 | "22362"
54 | "22367"
55 | "22373"
56 | "22378"
57 | }
58 | subgraph cluster_4 {
59 | label=kite
60 | "22363"
61 | "22366"
62 | "22371"
63 | "22376"
64 | "22380"
65 | }
66 | subgraph cluster_5 {
67 | label=coot
68 | "22368"
69 | "22372"
70 | "22377"
71 | "22379"
72 | "22381"
73 | }
74 | "22316" [
75 | label = "22316\nksh"
76 | pname = "ksh"
77 | kind = "proc"
78 | ];
79 | "22324" [
80 | label = "22324\nnmake"
81 | pname = "nmake"
82 | kind = "proc"
83 | ];
84 | "22337" [
85 | label = "22337\nksh"
86 | pname = "ksh"
87 | kind = "proc"
88 | ];
89 | "22342" [
90 | label = "22342\nksh"
91 | pname = "ksh"
92 | kind = "proc"
93 | ];
94 | "22343" [
95 | label = "22343\ngcc"
96 | pname = "gcc"
97 | kind = "proc"
98 | ];
99 | "22344" [
100 | label = "22344\nksh"
101 | pname = "ksh"
102 | kind = "proc"
103 | ];
104 | "22345" [
105 | label = "22345\ngcc"
106 | pname = "gcc"
107 | kind = "proc"
108 | ];
109 | "22346" [
110 | label = "22346\ncpp"
111 | pname = "cpp"
112 | kind = "proc"
113 | ];
114 | "22347" [
115 | label = "22347\ncc1"
116 | pname = "cc1"
117 | kind = "proc"
118 | ];
119 | "22348" [
120 | label = "22348\ncpp"
121 | pname = "cpp"
122 | kind = "proc"
123 | ];
124 | "93736-32246" [
125 | label = "93736-32246\n/home/ek/work/src/lefty/lefty.c"
126 | fname = "/home/ek/work/src/lefty/lefty.c"
127 | shape = "ellipse"
128 | kind = "file"
129 | ];
130 | "22349" [
131 | label = "22349\nksh"
132 | pname = "ksh"
133 | kind = "proc"
134 | ];
135 | "22350" [
136 | label = "22350\ncc1"
137 | pname = "cc1"
138 | kind = "proc"
139 | ];
140 | "93627-32246" [
141 | label = "93627-32246\n/home/ek/work/src/lefty/gfxview.c"
142 | fname = "/home/ek/work/src/lefty/gfxview.c"
143 | shape = "ellipse"
144 | kind = "file"
145 | ];
146 | "22351" [
147 | label = "22351\nas"
148 | pname = "as"
149 | kind = "proc"
150 | ];
151 | "22352" [
152 | label = "22352\ngcc"
153 | pname = "gcc"
154 | kind = "proc"
155 | ];
156 | "22353" [
157 | label = "22353\nksh"
158 | pname = "ksh"
159 | kind = "proc"
160 | ];
161 | "22354" [
162 | label = "22354\nksh"
163 | pname = "ksh"
164 | kind = "proc"
165 | ];
166 | "22355" [
167 | label = "22355\ngcc"
168 | pname = "gcc"
169 | kind = "proc"
170 | ];
171 | "22356" [
172 | label = "22356\ncpp"
173 | pname = "cpp"
174 | kind = "proc"
175 | ];
176 | "22357" [
177 | label = "22357\nas"
178 | pname = "as"
179 | kind = "proc"
180 | ];
181 | "22358" [
182 | label = "22358\nksh"
183 | pname = "ksh"
184 | kind = "proc"
185 | ];
186 | "22359" [
187 | label = "22359\ngcc"
188 | pname = "gcc"
189 | kind = "proc"
190 | ];
191 | "22360" [
192 | label = "22360\ncpp"
193 | pname = "cpp"
194 | kind = "proc"
195 | ];
196 | "22361" [
197 | label = "22361\ncc1"
198 | pname = "cc1"
199 | kind = "proc"
200 | ];
201 | "93645-32246" [
202 | label = "93645-32246\n/home/ek/work/src/lefty/txtview.c"
203 | fname = "/home/ek/work/src/lefty/txtview.c"
204 | shape = "ellipse"
205 | kind = "file"
206 | ];
207 | "22362" [
208 | label = "22362\ngcc"
209 | pname = "gcc"
210 | kind = "proc"
211 | ];
212 | "22363" [
213 | label = "22363\nksh"
214 | pname = "ksh"
215 | kind = "proc"
216 | ];
217 | "22365" [
218 | label = "22365\ncc1"
219 | pname = "cc1"
220 | kind = "proc"
221 | ];
222 | "22366" [
223 | label = "22366\ngcc"
224 | pname = "gcc"
225 | kind = "proc"
226 | ];
227 | "93638-32246" [
228 | label = "93638-32246\n/home/ek/work/src/lefty/internal.c"
229 | fname = "/home/ek/work/src/lefty/internal.c"
230 | shape = "ellipse"
231 | kind = "file"
232 | ];
233 | "22367" [
234 | label = "22367\ncpp"
235 | pname = "cpp"
236 | kind = "proc"
237 | ];
238 | "22368" [
239 | label = "22368\nksh"
240 | pname = "ksh"
241 | kind = "proc"
242 | ];
243 | "22369" [
244 | label = "22369\nas"
245 | pname = "as"
246 | kind = "proc"
247 | ];
248 | "93642-32246" [
249 | label = "93642-32246\n/home/ek/work/src/lefty/lex.c"
250 | fname = "/home/ek/work/src/lefty/lex.c"
251 | shape = "ellipse"
252 | kind = "file"
253 | ];
254 | "22371" [
255 | label = "22371\ncpp"
256 | pname = "cpp"
257 | kind = "proc"
258 | ];
259 | "22372" [
260 | label = "22372\ngcc"
261 | pname = "gcc"
262 | kind = "proc"
263 | ];
264 | "22373" [
265 | label = "22373\ncc1"
266 | pname = "cc1"
267 | kind = "proc"
268 | ];
269 | "88860-32246" [
270 | label = "88860-32246\n/home/ek/dev/src/lefty/stringify.c"
271 | fname = "/home/ek/dev/src/lefty/stringify.c"
272 | shape = "ellipse"
273 | kind = "file"
274 | ];
275 | "22374" [
276 | label = "22374\nas"
277 | pname = "as"
278 | kind = "proc"
279 | ];
280 | "22375" [
281 | label = "22375\nas"
282 | pname = "as"
283 | kind = "proc"
284 | ];
285 | "22376" [
286 | label = "22376\ncc1"
287 | pname = "cc1"
288 | kind = "proc"
289 | ];
290 | "93626-32246" [
291 | label = "93626-32246\n/home/ek/work/src/lefty/exec.c"
292 | fname = "/home/ek/work/src/lefty/exec.c"
293 | shape = "ellipse"
294 | kind = "file"
295 | ];
296 | "22377" [
297 | label = "22377\ncpp"
298 | pname = "cpp"
299 | kind = "proc"
300 | ];
301 | "22378" [
302 | label = "22378\nas"
303 | pname = "as"
304 | kind = "proc"
305 | ];
306 | "22379" [
307 | label = "22379\ncc1"
308 | pname = "cc1"
309 | kind = "proc"
310 | ];
311 | "93643-32246" [
312 | label = "93643-32246\n/home/ek/work/src/lefty/parse.c"
313 | fname = "/home/ek/work/src/lefty/parse.c"
314 | shape = "ellipse"
315 | kind = "file"
316 | ];
317 | "22380" [
318 | label = "22380\nas"
319 | pname = "as"
320 | kind = "proc"
321 | ];
322 | "22381" [
323 | label = "22381\nas"
324 | pname = "as"
325 | kind = "proc"
326 | ];
327 | "37592-32246" [
328 | label = "37592-32246\n/home/ek/dev/src/lefty/exec.h"
329 | fname = "/home/ek/dev/src/lefty/exec.h"
330 | shape = "ellipse"
331 | kind = "file"
332 | ];
333 | "135504-32246" [
334 | label = "135504-32246\n/home/ek/work/sun4/lefty/display.o"
335 | fname = "/home/ek/work/sun4/lefty/display.o"
336 | shape = "ellipse"
337 | kind = "file"
338 | ];
339 | "22316" -> "22324" [
340 | ];
341 | "22324" -> "22337" [
342 | ];
343 | "22337" -> "22342" [
344 | ];
345 | "22342" -> "22343" [
346 | ];
347 | "22337" -> "22344" [
348 | ];
349 | "22344" -> "22345" [
350 | ];
351 | "22343" -> "22346" [
352 | ];
353 | "22343" -> "22347" [
354 | ];
355 | "22345" -> "22348" [
356 | ];
357 | "22346" -> "93736-32246" [
358 | ];
359 | "22337" -> "22349" [
360 | ];
361 | "22345" -> "22350" [
362 | ];
363 | "22348" -> "93627-32246" [
364 | ];
365 | "22343" -> "22351" [
366 | ];
367 | "22349" -> "22352" [
368 | ];
369 | "22337" -> "22353" [
370 | ];
371 | "22337" -> "22354" [
372 | ];
373 | "22353" -> "22355" [
374 | ];
375 | "22352" -> "22356" [
376 | ];
377 | "22345" -> "22357" [
378 | ];
379 | "22337" -> "22358" [
380 | ];
381 | "22354" -> "22359" [
382 | ];
383 | "22355" -> "22360" [
384 | ];
385 | "22352" -> "22361" [
386 | ];
387 | "22356" -> "93645-32246" [
388 | ];
389 | "22358" -> "22362" [
390 | ];
391 | "22337" -> "22363" [
392 | ];
393 | "22355" -> "22365" [
394 | ];
395 | "22363" -> "22366" [
396 | ];
397 | "22360" -> "93638-32246" [
398 | ];
399 | "22362" -> "22367" [
400 | ];
401 | "22337" -> "22368" [
402 | ];
403 | "22352" -> "22369" [
404 | ];
405 | "22324" -> "93642-32246" [
406 | ];
407 | "22366" -> "22371" [
408 | ];
409 | "22368" -> "22372" [
410 | ];
411 | "22362" -> "22373" [
412 | ];
413 | "22367" -> "88860-32246" [
414 | ];
415 | "22355" -> "22374" [
416 | ];
417 | "22359" -> "22375" [
418 | ];
419 | "22366" -> "22376" [
420 | ];
421 | "22371" -> "93626-32246" [
422 | ];
423 | "22372" -> "22377" [
424 | ];
425 | "22362" -> "22378" [
426 | ];
427 | "22372" -> "22379" [
428 | ];
429 | "22377" -> "93643-32246" [
430 | ];
431 | "22366" -> "22380" [
432 | ];
433 | "22372" -> "22381" [
434 | ];
435 | "22371" -> "37592-32246" [
436 | ];
437 | "22375" -> "135504-32246" [
438 | ];
439 |
440 | /* hack to increase node separation */
441 | { rank = same; "22337" -> "93642-32246" [style=invis,minlen=10]; }
442 |
443 | }
444 |
--------------------------------------------------------------------------------
/testdata/directed/psfonttest.gv:
--------------------------------------------------------------------------------
1 | digraph G {
2 | rankdir=LR
3 | nodesep=0
4 | node [shape=none margin=0]
5 | edge [color=white]
6 | "AvantGarde-Book" [fontname="AvantGarde-Book"]
7 | "AvantGarde-Demi" [fontname="AvantGarde-Demi"]
8 | "AvantGarde-BookOblique" [fontname="AvantGarde-BookOblique"]
9 | "AvantGarde-DemiOblique" [fontname="AvantGarde-DemiOblique"]
10 |
11 | "AvantGarde-Book" -> "AvantGarde-Demi" -> "AvantGarde-BookOblique" -> "AvantGarde-DemiOblique"
12 |
13 | "Bookman-Light" [fontname="Bookman-Light"]
14 | "Bookman-Demi" [fontname="Bookman-Demi"]
15 | "Bookman-LightItalic" [fontname="Bookman-LightItalic"]
16 | "Bookman-DemiItalic" [fontname="Bookman-DemiItalic"]
17 |
18 | "Bookman-Light" -> "Bookman-Demi" -> "Bookman-LightItalic" -> "Bookman-DemiItalic"
19 |
20 | "Courier" [fontname="Courier"]
21 | "Courier-Bold" [fontname="Courier-Bold"]
22 | "Courier-Oblique" [fontname="Courier-Oblique"]
23 | "Courier-BoldOblique" [fontname="Courier-BoldOblique"]
24 |
25 | "Courier" -> "Courier-Bold" -> "Courier-Oblique" -> "Courier-BoldOblique"
26 |
27 | "Helvetica" [fontname="Helvetica"]
28 | "Helvetica-Bold" [fontname="Helvetica-Bold"]
29 | "Helvetica-Oblique" [fontname="Helvetica-Oblique"]
30 | "Helvetica-BoldOblique" [fontname="Helvetica-BoldOblique"]
31 |
32 | "Helvetica-Narrow" [fontname="Helvetica-Narrow"]
33 | "Helvetica-Narrow-Bold" [fontname="Helvetica-Narrow-Bold"]
34 | "Helvetica-Narrow-Oblique" [fontname="Helvetica-Narrow-Oblique"]
35 | "Helvetica-Narrow-BoldOblique" [fontname="Helvetica-Narrow-BoldOblique"]
36 |
37 | "Helvetica" -> "Helvetica-Bold" -> "Helvetica-Oblique" -> "Helvetica-BoldOblique"
38 |
39 | "Helvetica-Narrow" -> "Helvetica-Narrow-Bold" -> "Helvetica-Narrow-Oblique" -> "Helvetica-Narrow-BoldOblique"
40 |
41 | "NewCenturySchlbk-Roman" [fontname="NewCenturySchlbk-Roman"]
42 | "NewCenturySchlbk-Bold" [fontname="NewCenturySchlbk-Bold"]
43 | "NewCenturySchlbk-Italic" [fontname="NewCenturySchlbk-Italic"]
44 | "NewCenturySchlbk-BoldItalic" [fontname="NewCenturySchlbk-BoldItalic"]
45 |
46 | "NewCenturySchlbk-Roman" -> "NewCenturySchlbk-Bold" -> "NewCenturySchlbk-Italic" -> "NewCenturySchlbk-BoldItalic"
47 |
48 | "Palatino-Roman" [fontname="Palatino-Roman"]
49 | "Palatino-Bold" [fontname="Palatino-Bold"]
50 | "Palatino-Italic" [fontname="Palatino-Italic"]
51 | "Palatino-BoldItalic" [fontname="Palatino-BoldItalic"]
52 |
53 | "Palatino-Roman" -> "Palatino-Bold" -> "Palatino-Italic" -> "Palatino-BoldItalic"
54 |
55 | "Times-Roman" [fontname="Times-Roman"]
56 | "Times-Bold" [fontname="Times-Bold"]
57 | "Times-Italic" [fontname="Times-Italic"]
58 | "Times-BoldItalic" [fontname="Times-BoldItalic"]
59 |
60 | "Times-Roman" -> "Times-Bold" -> "Times-Italic" -> "Times-BoldItalic"
61 |
62 | "ZapfChancery-MediumItalic" [fontname="ZapfChancery-MediumItalic"]
63 | "ZapfDingbats" [fontname="ZapfDingbats"]
64 | "Symbol" [fontname="Symbol"]
65 |
66 | "Symbol" -> "ZapfDingbats" -> "ZapfChancery-MediumItalic"
67 | }
68 |
--------------------------------------------------------------------------------
/testdata/directed/record2.gv:
--------------------------------------------------------------------------------
1 | digraph G {
2 | node [shape=record];
3 | a [label = " foo | x | bar"];
4 | b [label = "a | { foo | x | bar } | b"];
5 | a:f0 -> b:f1
6 | }
7 |
--------------------------------------------------------------------------------
/testdata/directed/records.gv:
--------------------------------------------------------------------------------
1 | digraph G {
2 | rankdir=LR;
3 | node [shape=record];
4 | a [ label =" Graphs can\lbe fun\l| mid| right\r"];
5 | b [ label =" | b | " ];
6 | c [ label =" | c | " ];
7 | x [ label =" | x | " ];
8 | y [ label =" | y | " ];
9 | z [ label =" | z | " ];
10 | a:bala -> b:left;
11 | a:f1 -> d;
12 | a:f2 -> y:"p1";
13 | c:"p1" -> d;
14 | b:mid -> x:"p1";
15 | c:"p2" -> y:"p2";
16 | b:left -> z:"p2";
17 | }
18 |
--------------------------------------------------------------------------------
/testdata/directed/rowe.gv:
--------------------------------------------------------------------------------
1 | digraph rowe {
2 | node [shape = box];
3 | size = "6,6";
4 | 1 -> 2;
5 | 1 -> 10;
6 | 10 -> 14;
7 | 10 -> 12;
8 | 10 -> 13;
9 | 10 -> 11;
10 | 2 -> 18;
11 | 2 -> 17;
12 | 2 -> 16;
13 | 2 -> 3;
14 | 11 -> 4;
15 | 16 -> 4;
16 | 3 -> 4;
17 | 4 -> 5;
18 | 13 -> 19;
19 | 17 -> 19;
20 | 5 -> 23;
21 | 5 -> 35;
22 | 5 -> 6;
23 | 37 -> 39;
24 | 37 -> 41;
25 | 37 -> 40;
26 | 37 -> 38;
27 | 19 -> 20;
28 | 19 -> 28;
29 | 19 -> 21;
30 | 12 -> 29;
31 | 18 -> 29;
32 | 41 -> 29;
33 | 28 -> 29;
34 | 29 -> 30;
35 | 30 -> 31;
36 | 30 -> 33;
37 | 31 -> 32;
38 | 21 -> 22;
39 | 32 -> 23;
40 | 22 -> 23;
41 | 6 -> 7;
42 | 23 -> 24;
43 | 7 -> 8;
44 | 24 -> 25;
45 | 24 -> 27;
46 | 35 -> 43;
47 | 35 -> 36;
48 | 8 -> 9;
49 | 14 -> 15;
50 | 39 -> 15;
51 | 20 -> 15;
52 | 33 -> 34;
53 | 43 -> 40;
54 | 43 -> 38;
55 | 25 -> 26;
56 | 9 -> 42;
57 | 10 -> 1;
58 | 15 -> 1;
59 | 23 -> 1;
60 | 31 -> 1;
61 | 2 -> 1;
62 | 25 -> 1;
63 | 9 -> 1;
64 | 38 -> 4;
65 | 26 -> 4;
66 | 42 -> 4;
67 | 40 -> 19;
68 | 36 -> 19;
69 | 34 -> 29;
70 | 33 -> 30;
71 | 27 -> 24;
72 | }
73 |
--------------------------------------------------------------------------------
/testdata/directed/russian.gv:
--------------------------------------------------------------------------------
1 | digraph G {
2 | Контрагенты -> БанковскиеСчета;
3 | Организации -> БанковскиеСчета;
4 | ВопросыДляАнкетирования -> ВариантыОтветовОпросов;
5 | Контрагенты -> ДоговорыВзаиморасчетов;
6 | Номенклатура -> ЕдиницыИзмерения;
7 | НоменклатурныеГруппы -> ЕдиницыИзмерения;
8 | СвойстваОбектов -> ЗначенияСвойствОбектов;
9 | }
--------------------------------------------------------------------------------
/testdata/directed/sdh.gv:
--------------------------------------------------------------------------------
1 | digraph G {
2 | graph [bgcolor=black]; /* set background */
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 | }
285 |
--------------------------------------------------------------------------------
/testdata/directed/shells.gv:
--------------------------------------------------------------------------------
1 | digraph shells {
2 | size="7,8";
3 | node [fontsize=24, shape = plaintext];
4 |
5 | 1972 -> 1976;
6 | 1976 -> 1978;
7 | 1978 -> 1980;
8 | 1980 -> 1982;
9 | 1982 -> 1984;
10 | 1984 -> 1986;
11 | 1986 -> 1988;
12 | 1988 -> 1990;
13 | 1990 -> future;
14 |
15 | node [fontsize=20, shape = box];
16 | { rank=same; 1976 Mashey Bourne; }
17 | { rank=same; 1978 Formshell csh; }
18 | { rank=same; 1980 esh vsh; }
19 | { rank=same; 1982 ksh "System-V"; }
20 | { rank=same; 1984 v9sh tcsh; }
21 | { rank=same; 1986 "ksh-i"; }
22 | { rank=same; 1988 KornShell Perl rc; }
23 | { rank=same; 1990 tcl Bash; }
24 | { rank=same; "future" POSIX "ksh-POSIX"; }
25 |
26 | Thompson -> Mashey;
27 | Thompson -> Bourne;
28 | Thompson -> csh;
29 | csh -> tcsh;
30 | Bourne -> ksh;
31 | Bourne -> esh;
32 | Bourne -> vsh;
33 | Bourne -> "System-V";
34 | Bourne -> v9sh;
35 | v9sh -> rc;
36 | Bourne -> Bash;
37 | "ksh-i" -> Bash;
38 | KornShell -> Bash;
39 | esh -> ksh;
40 | vsh -> ksh;
41 | Formshell -> ksh;
42 | csh -> ksh;
43 | KornShell -> POSIX;
44 | "System-V" -> POSIX;
45 | ksh -> "ksh-i";
46 | "ksh-i" -> KornShell;
47 | KornShell -> "ksh-POSIX";
48 | Bourne -> Formshell;
49 |
50 | edge [style=invis];
51 | 1984 -> v9sh -> tcsh ;
52 | 1988 -> rc -> KornShell;
53 | Formshell -> csh;
54 | KornShell -> Perl;
55 | }
56 |
--------------------------------------------------------------------------------
/testdata/directed/states.gv:
--------------------------------------------------------------------------------
1 | /*
2 | The command line is
3 |
4 | dot -Tps -Grankdir=LR states.gv > states.ps
5 |
6 | and the file is:
7 | */
8 | digraph states {
9 | size="3,2";
10 | rankdir=LR;
11 | node [shape=ellipse];
12 | empty [label = "Empty"];
13 | stolen [label = "Stolen"];
14 | waiting [label = "Waiting"];
15 | full [label = "Full"];
16 | empty -> full [label = "return"]
17 | empty -> stolen [label = "dispatch", wt=28]
18 | stolen -> full [label = "return"];
19 | stolen -> waiting [label = "touch"];
20 | waiting -> full [label = "return"];
21 | }
22 |
--------------------------------------------------------------------------------
/testdata/directed/structs.gv:
--------------------------------------------------------------------------------
1 | digraph structs {
2 | node [shape=record];
3 | struct1 [shape=record,label=" left| middle| right"];
4 | struct2 [shape=record,label=" one| two"];
5 | struct3 [shape=record,label="hello\nworld |{ b |{c| d|e}| f}| g | h"];
6 | struct1:f1 -> struct2:f0;
7 | struct1:f2 -> struct3:here;
8 | }
9 |
--------------------------------------------------------------------------------
/testdata/directed/switch.gv:
--------------------------------------------------------------------------------
1 | digraph G {
2 | graph [center=true rankdir=LR bgcolor="#808080"]
3 | edge [dir=none]
4 | node [width=0.3 height=0.3 label=""]
5 | { node [shape=circle style=invis]
6 | 1 2 3 4 5 6 7 8 10 20 30 40 50 60 70 80
7 | }
8 | { node [shape=circle]
9 | a b c d e f g h i j k l m n o p q r s t u v w x
10 | }
11 | { node [shape=diamond]
12 | A B C D E F G H I J K L M N O P Q R S T U V W X
13 | }
14 | 1 -> a -> {A B} [color="#0000ff"]
15 | 2 -> b -> {B A} [color="#ff0000"]
16 | 3 -> c -> {C D} [color="#ffff00"]
17 | 4 -> d -> {D C} [color="#00ff00"]
18 | 5 -> e -> {E F} [color="#000000"]
19 | 6 -> f -> {F E} [color="#00ffff"]
20 | 7 -> g -> {G H} [color="#ffffff"]
21 | 8 -> h -> {H G} [color="#ff00ff"]
22 | { edge [color="#ff0000:#0000ff"]
23 | A -> i -> {I K}
24 | B -> j -> {J L}
25 | }
26 | { edge [color="#00ff00:#ffff00"]
27 | C -> k -> {K I}
28 | D -> l -> {L J}
29 | }
30 | { edge [color="#00ffff:#000000"]
31 | E -> m -> {M O}
32 | F -> n -> {N P}
33 | }
34 | { edge [color="#ff00ff:#ffffff"]
35 | G -> o -> {O M}
36 | H -> p -> {P N}
37 | }
38 | { edge [color="#00ff00:#ffff00:#ff0000:#0000ff"]
39 | I -> q -> {Q U}
40 | J -> r -> {R V}
41 | K -> s -> {S W}
42 | L -> t -> {T X}
43 | }
44 | { edge [color="#ff00ff:#ffffff:#00ffff:#000000"]
45 | M -> u -> {U Q}
46 | N -> v -> {V R}
47 | O -> w -> {W S}
48 | P -> x -> {X T}
49 | }
50 | { edge [color="#ff00ff:#ffffff:#00ffff:#000000:#00ff00:#ffff00:#ff0000:#0000ff"]
51 | Q -> 10
52 | R -> 20
53 | S -> 30
54 | T -> 40
55 | U -> 50
56 | V -> 60
57 | W -> 70
58 | X -> 80
59 | }
60 | }
61 |
--------------------------------------------------------------------------------
/testdata/directed/table.gv:
--------------------------------------------------------------------------------
1 | digraph structs {
2 | node [shape=plaintext];
3 |
4 | struct1 [label=<
5 |
6 | a |
7 | b |
8 | c |
9 |
10 |
>];
11 |
12 | struct2 [label=<
13 |
14 | elefantel |
15 | two |
16 |
17 |
18 |
19 | buca |
20 |
21 | c |
22 |
23 | f |
24 |
25 | |
26 | patratos |
27 |
28 | 4 |
29 |
30 |
31 | >];
32 |
33 | struct3 [label=<
34 |
35 | Hello |
36 |
37 |
38 | b |
39 |
40 | a |
41 | dino |
42 | y |
43 |
44 | rhino |
45 |
46 | |
47 |
48 | climb |
49 | Up |
50 |
51 | low |
52 |
53 |
>];
54 |
55 | struct1 -> struct3;
56 | struct1 -> struct2;
57 | }
58 |
--------------------------------------------------------------------------------
/testdata/directed/train11.gv:
--------------------------------------------------------------------------------
1 | digraph G {
2 | size="6,6";
3 | node [shape=circle,fontsize=8];
4 | rankdir=LR;
5 | st9 -> st9 [label="11/1"];
6 | st9 -> st10 [label="10/1"];
7 | st8 -> st8 [label="10/1"];
8 | st8 -> st0 [label="00/-"];
9 | st7 -> st8 [label="10/1"];
10 | st7 -> st7 [label="00/1"];
11 | st6 -> st6 [label="01/1"];
12 | st6 -> st0 [label="00/-"];
13 | st5 -> st6 [label="01/1"];
14 | st5 -> st5 [label="11/1"];
15 | st4 -> st4 [label="01/1"];
16 | st4 -> st0 [label="00/-"];
17 | st3 -> st4 [label="01/1"];
18 | st3 -> st3 [label="00/1"];
19 | st2 -> st9 [label="11/1"];
20 | st2 -> st7 [label="00/1"];
21 | st2 -> st2 [label="01/1"];
22 | st10 -> st10 [label="10/1"];
23 | st10 -> st0 [label="00/-"];
24 | st1 -> st5 [label="11/1"];
25 | st1 -> st3 [label="00/1"];
26 | st1 -> st1 [label="10/1"];
27 | st0 -> st2 [label="01/-"];
28 | st0 -> st1 [label="10/-"];
29 | st0 -> st0 [label="00/0"];
30 | }
31 |
--------------------------------------------------------------------------------
/testdata/directed/trapeziumlr.gv:
--------------------------------------------------------------------------------
1 | digraph test {
2 |
3 | size="7,9.5";
4 | page="8,10.5";
5 | ratio=fill;
6 | rankdir=LR;
7 |
8 | { rank=same;
9 | node [shape=house];
10 | A;C;E;G;I;K;M;O;Q;S;U;W;Y;
11 | node [shape=invhouse];
12 | B;D;F;H;J;L;N;P;R;T;V;X;Z;
13 | }
14 |
15 | { rank=same;
16 | node [shape=trapezium];
17 | "Trapezium";
18 | ordering=out;
19 | }
20 |
21 | Trapezium -> A;
22 | Trapezium -> B;
23 | Trapezium -> C;
24 | Trapezium -> D;
25 | Trapezium -> E;
26 | Trapezium -> F;
27 | Trapezium -> G;
28 | Trapezium -> H;
29 | Trapezium -> I;
30 | Trapezium -> J;
31 | Trapezium -> K;
32 | Trapezium -> L;
33 | Trapezium -> M;
34 | Trapezium -> N;
35 | Trapezium -> O;
36 | Trapezium -> P;
37 | Trapezium -> Q;
38 | Trapezium -> R;
39 | Trapezium -> S;
40 | Trapezium -> T;
41 | Trapezium -> U;
42 | Trapezium -> V;
43 | Trapezium -> W;
44 | Trapezium -> X;
45 | Trapezium -> Y;
46 | Trapezium -> Z;
47 |
48 | { rank=same;
49 | node [shape=parallelogram];
50 | a;b;c;d;e;f;g;h;i;j;k;l;m;n;o;p;q;r;s;t;u;v;w;x;y;z;
51 | }
52 |
53 | a -> Trapezium;
54 | b -> Trapezium;
55 | c -> Trapezium;
56 | d -> Trapezium;
57 | e -> Trapezium;
58 | f -> Trapezium;
59 | g -> Trapezium;
60 | h -> Trapezium;
61 | i -> Trapezium;
62 | j -> Trapezium;
63 | k -> Trapezium;
64 | l -> Trapezium;
65 | m -> Trapezium;
66 | n -> Trapezium;
67 | o -> Trapezium;
68 | p -> Trapezium;
69 | q -> Trapezium;
70 | r -> Trapezium;
71 | s -> Trapezium;
72 | t -> Trapezium;
73 | u -> Trapezium;
74 | v -> Trapezium;
75 | w -> Trapezium;
76 | x -> Trapezium;
77 | y -> Trapezium;
78 | z -> Trapezium;
79 | }
80 |
--------------------------------------------------------------------------------
/testdata/directed/tree.gv:
--------------------------------------------------------------------------------
1 | digraph g {
2 | node [shape = record,height=.1];
3 | node0[label = " | G| "];
4 | node1[label = " | E| "];
5 | node2[label = " | B| "];
6 | node3[label = " | F| "];
7 | node4[label = " | R| "];
8 | node5[label = " | H| "];
9 | node6[label = " | Y| "];
10 | node7[label = " | A| "];
11 | node8[label = " | C| "];
12 | "node0":f2 -> "node4":f1;
13 | "node0":f0 -> "node1":f1;
14 | "node1":f0 -> "node2":f1;
15 | "node1":f2 -> "node3":f1;
16 | "node2":f2 -> "node8":f1;
17 | "node2":f0 -> "node7":f1;
18 | "node4":f2 -> "node6":f1;
19 | "node4":f0 -> "node5":f1;
20 | }
21 |
--------------------------------------------------------------------------------
/testdata/directed/triedds.gv:
--------------------------------------------------------------------------------
1 | digraph g {
2 | graph [
3 | rankdir = "LR"
4 | ];
5 | node [
6 | fontsize = "16"
7 | shape = "ellipse"
8 | ];
9 | edge [
10 | ];
11 | "node0" [
12 | label = " 0x10ba8| "
13 | shape = "record"
14 | ];
15 | "node1" [
16 | label = " 0xf7fc4380| | |-1"
17 | shape = "record"
18 | ];
19 | "node2" [
20 | label = " 0xf7fc44b8| | |2"
21 | shape = "record"
22 | ];
23 | "node3" [
24 | label = " 3.43322790286038071e-06|44.79998779296875|0"
25 | shape = "record"
26 | ];
27 | "node4" [
28 | label = " 0xf7fc4380| | |2"
29 | shape = "record"
30 | ];
31 | "node5" [
32 | label = " (nil)| | |-1"
33 | shape = "record"
34 | ];
35 | "node6" [
36 | label = " 0xf7fc4380| | |1"
37 | shape = "record"
38 | ];
39 | "node7" [
40 | label = " 0xf7fc4380| | |2"
41 | shape = "record"
42 | ];
43 | "node8" [
44 | label = " (nil)| | |-1"
45 | shape = "record"
46 | ];
47 | "node9" [
48 | label = " (nil)| | |-1"
49 | shape = "record"
50 | ];
51 | "node10" [
52 | label = " (nil)| | |-1"
53 | shape = "record"
54 | ];
55 | "node11" [
56 | label = " (nil)| | |-1"
57 | shape = "record"
58 | ];
59 | "node12" [
60 | label = " 0xf7fc43e0| | |1"
61 | shape = "record"
62 | ];
63 | "node0":f0 -> "node1":f0 [
64 | id = 0
65 | ];
66 | "node0":f1 -> "node2":f0 [
67 | id = 1
68 | ];
69 | "node1":f0 -> "node3":f0 [
70 | id = 2
71 | ];
72 | "node1":f1 -> "node4":f0 [
73 | id = 3
74 | ];
75 | "node1":f2 -> "node5":f0 [
76 | id = 4
77 | ];
78 | "node4":f0 -> "node3":f0 [
79 | id = 5
80 | ];
81 | "node4":f1 -> "node6":f0 [
82 | id = 6
83 | ];
84 | "node4":f2 -> "node10":f0 [
85 | id = 7
86 | ];
87 | "node6":f0 -> "node3":f0 [
88 | id = 8
89 | ];
90 | "node6":f1 -> "node7":f0 [
91 | id = 9
92 | ];
93 | "node6":f2 -> "node9":f0 [
94 | id = 10
95 | ];
96 | "node7":f0 -> "node3":f0 [
97 | id = 11
98 | ];
99 | "node7":f1 -> "node1":f0 [
100 | id = 12
101 | ];
102 | "node7":f2 -> "node8":f0 [
103 | id = 13
104 | ];
105 | "node10":f1 -> "node11":f0 [
106 | id = 14
107 | ];
108 | "node10":f2 -> "node12":f0 [
109 | id = 15
110 | ];
111 | "node11":f2 -> "node1":f0 [
112 | id = 16
113 | ];
114 | }
115 |
--------------------------------------------------------------------------------
/testdata/directed/try.gv:
--------------------------------------------------------------------------------
1 | digraph G {
2 | subgraph cluster_small {
3 | a -> b;
4 | label=small;
5 | }
6 |
7 | subgraph cluster_big {
8 | p -> q -> r -> s -> t;
9 | label=big;
10 | t -> p;
11 | }
12 |
13 | t -> a;
14 | b -> q;
15 | }
16 |
--------------------------------------------------------------------------------
/testdata/directed/unix.gv:
--------------------------------------------------------------------------------
1 | /* courtesy Ian Darwin and Geoff Collyer, Softquad Inc. */
2 | digraph unix {
3 | size="6,6";
4 | "5th Edition" -> "6th Edition";
5 | "5th Edition" -> "PWB 1.0";
6 | "6th Edition" -> "LSX";
7 | "6th Edition" -> "1 BSD";
8 | "6th Edition" -> "Mini Unix";
9 | "6th Edition" -> "Wollongong";
10 | "6th Edition" -> "Interdata";
11 | "Interdata" -> "Unix/TS 3.0";
12 | "Interdata" -> "PWB 2.0";
13 | "Interdata" -> "7th Edition";
14 | "7th Edition" -> "8th Edition";
15 | "7th Edition" -> "32V";
16 | "7th Edition" -> "V7M";
17 | "7th Edition" -> "Ultrix-11";
18 | "7th Edition" -> "Xenix";
19 | "7th Edition" -> "UniPlus+";
20 | "V7M" -> "Ultrix-11";
21 | "8th Edition" -> "9th Edition";
22 | "1 BSD" -> "2 BSD";
23 | "2 BSD" -> "2.8 BSD";
24 | "2.8 BSD" -> "Ultrix-11";
25 | "2.8 BSD" -> "2.9 BSD";
26 | "32V" -> "3 BSD";
27 | "3 BSD" -> "4 BSD";
28 | "4 BSD" -> "4.1 BSD";
29 | "4.1 BSD" -> "4.2 BSD";
30 | "4.1 BSD" -> "2.8 BSD";
31 | "4.1 BSD" -> "8th Edition";
32 | "4.2 BSD" -> "4.3 BSD";
33 | "4.2 BSD" -> "Ultrix-32";
34 | "PWB 1.0" -> "PWB 1.2";
35 | "PWB 1.0" -> "USG 1.0";
36 | "PWB 1.2" -> "PWB 2.0";
37 | "USG 1.0" -> "CB Unix 1";
38 | "USG 1.0" -> "USG 2.0";
39 | "CB Unix 1" -> "CB Unix 2";
40 | "CB Unix 2" -> "CB Unix 3";
41 | "CB Unix 3" -> "Unix/TS++";
42 | "CB Unix 3" -> "PDP-11 Sys V";
43 | "USG 2.0" -> "USG 3.0";
44 | "USG 3.0" -> "Unix/TS 3.0";
45 | "PWB 2.0" -> "Unix/TS 3.0";
46 | "Unix/TS 1.0" -> "Unix/TS 3.0";
47 | "Unix/TS 3.0" -> "TS 4.0";
48 | "Unix/TS++" -> "TS 4.0";
49 | "CB Unix 3" -> "TS 4.0";
50 | "TS 4.0" -> "System V.0";
51 | "System V.0" -> "System V.2";
52 | "System V.2" -> "System V.3";
53 | }
54 |
--------------------------------------------------------------------------------
/testdata/directed/unix2.gv:
--------------------------------------------------------------------------------
1 | /* Courtesy of Ian Darwin
2 | * and Geoff Collyer
3 | * Mildly updated by Ian Darwin in 2000.
4 | */
5 | digraph unix {
6 | size="6,6";
7 | node [color=lightblue2, style=filled];
8 | "5th Edition" -> "6th Edition";
9 | "5th Edition" -> "PWB 1.0";
10 | "6th Edition" -> "LSX";
11 | "6th Edition" -> "1 BSD";
12 | "6th Edition" -> "Mini Unix";
13 | "6th Edition" -> "Wollongong";
14 | "6th Edition" -> "Interdata";
15 | "Interdata" -> "Unix/TS 3.0";
16 | "Interdata" -> "PWB 2.0";
17 | "Interdata" -> "7th Edition";
18 | "7th Edition" -> "8th Edition";
19 | "7th Edition" -> "32V";
20 | "7th Edition" -> "V7M";
21 | "7th Edition" -> "Ultrix-11";
22 | "7th Edition" -> "Xenix";
23 | "7th Edition" -> "UniPlus+";
24 | "V7M" -> "Ultrix-11";
25 | "8th Edition" -> "9th Edition";
26 | "9th Edition" -> "10th Edition";
27 | "1 BSD" -> "2 BSD";
28 | "2 BSD" -> "2.8 BSD";
29 | "2.8 BSD" -> "Ultrix-11";
30 | "2.8 BSD" -> "2.9 BSD";
31 | "32V" -> "3 BSD";
32 | "3 BSD" -> "4 BSD";
33 | "4 BSD" -> "4.1 BSD";
34 | "4.1 BSD" -> "4.2 BSD";
35 | "4.1 BSD" -> "2.8 BSD";
36 | "4.1 BSD" -> "8th Edition";
37 | "4.2 BSD" -> "4.3 BSD";
38 | "4.2 BSD" -> "Ultrix-32";
39 | "4.3 BSD" -> "4.4 BSD";
40 | "4.4 BSD" -> "FreeBSD";
41 | "4.4 BSD" -> "NetBSD";
42 | "4.4 BSD" -> "OpenBSD";
43 | "PWB 1.0" -> "PWB 1.2";
44 | "PWB 1.0" -> "USG 1.0";
45 | "PWB 1.2" -> "PWB 2.0";
46 | "USG 1.0" -> "CB Unix 1";
47 | "USG 1.0" -> "USG 2.0";
48 | "CB Unix 1" -> "CB Unix 2";
49 | "CB Unix 2" -> "CB Unix 3";
50 | "CB Unix 3" -> "Unix/TS++";
51 | "CB Unix 3" -> "PDP-11 Sys V";
52 | "USG 2.0" -> "USG 3.0";
53 | "USG 3.0" -> "Unix/TS 3.0";
54 | "PWB 2.0" -> "Unix/TS 3.0";
55 | "Unix/TS 1.0" -> "Unix/TS 3.0";
56 | "Unix/TS 3.0" -> "TS 4.0";
57 | "Unix/TS++" -> "TS 4.0";
58 | "CB Unix 3" -> "TS 4.0";
59 | "TS 4.0" -> "System V.0";
60 | "System V.0" -> "System V.2";
61 | "System V.2" -> "System V.3";
62 | "System V.3" -> "System V.4";
63 | }
64 |
--------------------------------------------------------------------------------
/testdata/directed/viewfile.gv:
--------------------------------------------------------------------------------
1 | digraph Viewfile {
2 | node [ style = filled ];
3 | atoi [color=green];
4 | chkmalloc [color=green];
5 | close [color=green];
6 | error [color=blue];
7 | exit [color=blue];
8 | fclose [color=green];
9 | fgets [color=red];
10 | fopen [color=green];
11 | fprintf [color=blue];
12 | free [color=blue];
13 | free_list [color=blue];
14 | fstat [color=green];
15 | getopt [color=green];
16 | init_list [color=green];
17 | insert_list [color=green];
18 | main [color=green];
19 | makeargs [color=blue];
20 | makepairs [color=green];
21 | malloc [color=green];
22 | open [color=green];
23 | printf [color=red];
24 | read [color=green];
25 | rewind [color=green];
26 | viewline [color=green];
27 | viewlines [color=green];
28 | walk_list [color=green];
29 | write [color=green];
30 | fclose -> close [color=green];
31 | fgets -> fstat [color=green];
32 | fgets -> read [color=green];
33 | fopen -> open [color=green];
34 | printf -> write [color=green];
35 | main -> fgets [color=blue];
36 | main -> getopt [color=green];
37 | main -> makeargs [color=blue];
38 | main -> makepairs [color=green];
39 | main -> chkmalloc [color=green];
40 | main -> error [color=blue];
41 | main -> viewlines [color=green];
42 | makeargs -> chkmalloc [color=blue];
43 | makepairs -> atoi [color=green];
44 | makepairs -> init_list [color=green];
45 | makepairs -> insert_list [color=green];
46 | makepairs -> chkmalloc [color=green];
47 | free_list -> free [color=blue];
48 | init_list -> chkmalloc [color=green];
49 | insert_list -> chkmalloc [color=green];
50 | walk_list -> error [color=blue];
51 | walk_list -> viewline [color=green];
52 | chkmalloc -> malloc [color=green];
53 | chkmalloc -> error [color=blue];
54 | error -> exit [color=blue];
55 | error -> fprintf [color=blue];
56 | error -> error [color=blue];
57 | viewline -> fgets [color=red];
58 | viewline -> printf [color=red];
59 | viewline -> rewind [color=green];
60 | viewlines -> fclose [color=green];
61 | viewlines -> fopen [color=green];
62 | viewlines -> walk_list [color=green];
63 | viewlines -> viewline [color=blue];
64 | }
65 |
--------------------------------------------------------------------------------
/testdata/directed/world.gv:
--------------------------------------------------------------------------------
1 | digraph world {
2 | size="7,7";
3 | {rank=same; S8 S24 S1 S35 S30;}
4 | {rank=same; T8 T24 T1 T35 T30;}
5 | {rank=same; 43 37 36 10 2;}
6 | {rank=same; 25 9 38 40 13 17 12 18;}
7 | {rank=same; 26 42 11 3 33 19 39 14 16;}
8 | {rank=same; 4 31 34 21 41 28 20;}
9 | {rank=same; 27 5 22 32 29 15;}
10 | {rank=same; 6 23;}
11 | {rank=same; 7;}
12 |
13 | S8 -> 9;
14 | S24 -> 25;
15 | S24 -> 27;
16 | S1 -> 2;
17 | S1 -> 10;
18 | S35 -> 43;
19 | S35 -> 36;
20 | S30 -> 31;
21 | S30 -> 33;
22 | 9 -> 42;
23 | 9 -> T1;
24 | 25 -> T1;
25 | 25 -> 26;
26 | 27 -> T24;
27 | 2 -> {3 ; 16 ; 17 ; T1 ; 18}
28 | 10 -> { 11 ; 14 ; T1 ; 13; 12;}
29 | 31 -> T1;
30 | 31 -> 32;
31 | 33 -> T30;
32 | 33 -> 34;
33 | 42 -> 4;
34 | 26 -> 4;
35 | 3 -> 4;
36 | 16 -> 15;
37 | 17 -> 19;
38 | 18 -> 29;
39 | 11 -> 4;
40 | 14 -> 15;
41 | 37 -> {39 ; 41 ; 38 ; 40;}
42 | 13 -> 19;
43 | 12 -> 29;
44 | 43 -> 38;
45 | 43 -> 40;
46 | 36 -> 19;
47 | 32 -> 23;
48 | 34 -> 29;
49 | 39 -> 15;
50 | 41 -> 29;
51 | 38 -> 4;
52 | 40 -> 19;
53 | 4 -> 5;
54 | 19 -> {21 ; 20 ; 28;}
55 | 5 -> {6 ; T35 ; 23;}
56 | 21 -> 22;
57 | 20 -> 15;
58 | 28 -> 29;
59 | 6 -> 7;
60 | 15 -> T1;
61 | 22 -> T35;
62 | 22 -> 23;
63 | 29 -> T30;
64 | 7 -> T8;
65 | 23 -> T24;
66 | 23 -> T1;
67 | }
68 |
--------------------------------------------------------------------------------
/testdata/imagehash.json:
--------------------------------------------------------------------------------
1 | {"testdata/directed/KW91.gv":"IH8DAQEBRAH/gAABAgEESGFzaAEGAAEES2luZAEEAAAAD/+AAfgHJiooLCYmBwEGAA==","testdata/directed/Latin1.gv":"IH8DAQEBRAH/gAABAgEESGFzaAEGAAEES2luZAEEAAAAD/+AAfgOccAPK9BxDgEGAA==","testdata/directed/NaN.gv":"IH8DAQEBRAH/gAABAgEESGFzaAEGAAEES2luZAEEAAAAD/+AAfgBARFlIZiYGQEGAA==","testdata/directed/abstract.gv":"IH8DAQEBRAH/gAABAgEESGFzaAEGAAEES2luZAEEAAAAD/+AAfgSFksZSUlNDAEGAA==","testdata/directed/alf.gv":"IH8DAQEBRAH/gAABAgEESGFzaAEGAAEES2luZAEEAAAAD/+AAfg4GBY2GwsHBgEGAA==","testdata/directed/arrows.gv":"IH8DAQEBRAH/gAABAgEESGFzaAEGAAEES2luZAEEAAAAD/+AAfhSUlJSUnFSUgEGAA==","testdata/directed/awilliams.gv":"IH8DAQEBRAH/gAABAgEESGFzaAEGAAEES2luZAEEAAAAD/+AAfgCAgIMCBhcXAEGAA==","testdata/directed/biological.gv":"IH8DAQEBRAH/gAABAgEESGFzaAEGAAEES2luZAEEAAAAD/+AAfjY2dkxKSkSEgEGAA==","testdata/directed/clust.gv":"IH8DAQEBRAH/gAABAgEESGFzaAEGAAEES2luZAEEAAAAD/+AAfg6JicXFldVVQEGAA==","testdata/directed/clust1.gv":"IH8DAQEBRAH/gAABAgEESGFzaAEGAAEES2luZAEEAAAAD/+AAfgGipaUpDSWlAEGAA==","testdata/directed/clust2.gv":"IH8DAQEBRAH/gAABAgEESGFzaAEGAAEES2luZAEEAAAAD/+AAfgeHqOqqqoqAwEGAA==","testdata/directed/clust3.gv":"IH8DAQEBRAH/gAABAgEESGFzaAEGAAEES2luZAEEAAAAD/+AAfgOMnBwMmAyMgEGAA==","testdata/directed/clust4.gv":"IH8DAQEBRAH/gAABAgEESGFzaAEGAAEES2luZAEEAAAAD/+AAfgOU3NRcXNTDgEGAA==","testdata/directed/clust5.gv":"IH8DAQEBRAH/gAABAgEESGFzaAEGAAEES2luZAEEAAAAD/+AAfgGBycnU1ELAwEGAA==","testdata/directed/crazy.gv":"IH8DAQEBRAH/gAABAgEESGFzaAEGAAEES2luZAEEAAAAD/+AAfgPITHRGxtDDgEGAA==","testdata/directed/ctext.gv":"IH8DAQEBRAH/gAABAgEESGFzaAEGAAEES2luZAEEAAAAD/+AAfh8bGx2FhZVFQEGAA==","testdata/directed/dfa.gv":"IH8DAQEBRAH/gAABAgEESGFzaAEGAAEES2luZAEEAAAAD/+AAfgPDw8zMw4ODgEGAA==","testdata/directed/fig6.gv":"IH8DAQEBRAH/gAABAgEESGFzaAEGAAEES2luZAEEAAAAD/+AAfhKGxcdG5m5bgEGAA==","testdata/directed/fsm.gv":"IH8DAQEBRAH/gAABAgEESGFzaAEGAAEES2luZAEEAAAAD/+AAfgYGBoeBMNbGQEGAA==","testdata/directed/grammar.gv":"IH8DAQEBRAH/gAABAgEESGFzaAEGAAEES2luZAEEAAAAD/+AAfgaGiQmJpQAAgEGAA==","testdata/directed/hashtable.gv":"IH8DAQEBRAH/gAABAgEESGFzaAEGAAEES2luZAEEAAAAD/+AAfgcERmcmVEdnAEGAA==","testdata/directed/honda-tokoro.gv":"IH8DAQEBRAH/gAABAgEESGFzaAEGAAEES2luZAEEAAAAD/+AAfgnM9RCSVt5QAEGAA==","testdata/directed/japanese.gv":"IH8DAQEBRAH/gAABAgEESGFzaAEGAAEES2luZAEEAAAAD/+AAfgcDkhMBiYmDgEGAA==","testdata/directed/jcctree.gv":"IH8DAQEBRAH/gAABAgEESGFzaAEGAAEES2luZAEEAAAAD/+AAfgYLCZmZmxkZAEGAA==","testdata/directed/jsort.gv":"IH8DAQEBRAH/gAABAgEESGFzaAEGAAEES2luZAEEAAAAD/+AAfgDCw1RMzclUQEGAA==","testdata/directed/ldbxtried.gv":"IH8DAQEBRAH/gAABAgEESGFzaAEGAAEES2luZAEEAAAAD/+AAfgeFhsvDycfjgEGAA==","testdata/directed/longflat.gv":"IH8DAQEBRAH/gAABAgEESGFzaAEGAAEES2luZAEEAAAAD/+AAfgDBAEBYTHEMQEGAA==","testdata/directed/mike.gv":"IH8DAQEBRAH/gAABAgEESGFzaAEGAAEES2luZAEEAAAAD/+AAfgBITVGZ2YuPAEGAA==","testdata/directed/nhg.gv":"IH8DAQEBRAH/gAABAgEESGFzaAEGAAEES2luZAEEAAAAD/+AAfgTEzhuLngfBwEGAA==","testdata/directed/oldarrows.gv":"IH8DAQEBRAH/gAABAgEESGFzaAEGAAEES2luZAEEAAAAD/+AAfhSHg4ODg4GUAEGAA==","testdata/directed/pgram.gv":"IH8DAQEBRAH/gAABAgEESGFzaAEGAAEES2luZAEEAAAAD/+AAfjMbCkai+jg4AEGAA==","testdata/directed/pm2way.gv":"IH8DAQEBRAH/gAABAgEESGFzaAEGAAEES2luZAEEAAAAD/+AAfgYGB4mDg0GBgEGAA==","testdata/directed/pmpipe.gv":"IH8DAQEBRAH/gAABAgEESGFzaAEGAAEES2luZAEEAAAAD/+AAfgGBgIaDgRSRgEGAA==","testdata/directed/polypoly.gv":"IH8DAQEBRAH/gAABAgEESGFzaAEGAAEES2luZAEEAAAAD/+AAfguLCwubkwQCwEGAA==","testdata/directed/proc3d.gv":"IH8DAQEBRAH/gAABAgEESGFzaAEGAAEES2luZAEEAAAAD/+AAfgICRkZCRkZCQEGAA==","testdata/directed/psfonttest.gv":"IH8DAQEBRAH/gAABAgEESGFzaAEGAAEES2luZAEEAAAAD/+AAfiWlJSUlJSUhAEGAA==","testdata/directed/record2.gv":"IH8DAQEBRAH/gAABAgEESGFzaAEGAAEES2luZAEEAAAAD/+AAfgqCB4mmiq6HgEGAA==","testdata/directed/records.gv":"IH8DAQEBRAH/gAABAgEESGFzaAEGAAEES2luZAEEAAAADv+AAfkJW2l8Hg4eAQYA","testdata/directed/rowe.gv":"IH8DAQEBRAH/gAABAgEESGFzaAEGAAEES2luZAEEAAAAD/+AAfgGkzRnxaa0MQEGAA==","testdata/directed/russian.gv":"IH8DAQEBRAH/gAABAgEESGFzaAEGAAEES2luZAEEAAAAD/+AAfhTU1NS0lISEgEGAA==","testdata/directed/sdh.gv":"IH8DAQEBRAH/gAABAgEESGFzaAEGAAEES2luZAEEAAAAD/+AAfiLm5qYtKTESgEGAA==","testdata/directed/shells.gv":"IH8DAQEBRAH/gAABAgEESGFzaAEGAAEES2luZAEEAAAAD/+AAfjPjZPnpK2PzQEGAA==","testdata/directed/states.gv":"IH8DAQEBRAH/gAABAgEESGFzaAEGAAEES2luZAEEAAAAD/+AAfgDBwUZESne4AEGAA==","testdata/directed/structs.gv":"IH8DAQEBRAH/gAABAgEESGFzaAEGAAEES2luZAEEAAAAD/+AAfgcLCxMxkZKAAEGAA==","testdata/directed/switch.gv":"IH8DAQEBRAH/gAABAgEESGFzaAEGAAEES2luZAEEAAAAD/+AAfg5JRtRa2dLdQEGAA==","testdata/directed/table.gv":"IH8DAQEBRAH/gAABAgEESGFzaAEGAAEES2luZAEEAAAAD/+AAfgMDAcn5+fHxgEGAA==","testdata/directed/train11.gv":"IH8DAQEBRAH/gAABAgEESGFzaAEGAAEES2luZAEEAAAADv+AAfkBAwcIHmSHAQYA","testdata/directed/trapeziumlr.gv":"IH8DAQEBRAH/gAABAgEESGFzaAEGAAEES2luZAEEAAAAD/+AAfjgcTMPDzNxwAEGAA==","testdata/directed/tree.gv":"IH8DAQEBRAH/gAABAgEESGFzaAEGAAEES2luZAEEAAAAD/+AAfgGBhISMHI4uAEGAA==","testdata/directed/triedds.gv":"IH8DAQEBRAH/gAABAgEESGFzaAEGAAEES2luZAEEAAAAD/+AAfg4JGQuBhYWFgEGAA==","testdata/directed/try.gv":"IH8DAQEBRAH/gAABAgEESGFzaAEGAAEES2luZAEEAAAAD/+AAfiNqUtNjA8tKwEGAA==","testdata/directed/unix.gv":"IH8DAQEBRAH/gAABAgEESGFzaAEGAAEES2luZAEEAAAAD/+AAfgPGzEV0dtbAwEGAA==","testdata/directed/unix2.gv":"IH8DAQEBRAH/gAABAgEESGFzaAEGAAEES2luZAEEAAAAD/+AAfgPCzHR0xtLCwEGAA==","testdata/directed/viewfile.gv":"IH8DAQEBRAH/gAABAgEESGFzaAEGAAEES2luZAEEAAAAD/+AAfgc9vZzx8nJGAEGAA==","testdata/directed/world.gv":"IH8DAQEBRAH/gAABAgEESGFzaAEGAAEES2luZAEEAAAAD/+AAfgyNRUdhZU1JwEGAA==","testdata/undirected/ER.gv":"IH8DAQEBRAH/gAABAgEESGFzaAEGAAEES2luZAEEAAAAD/+AAfgCAwIGFAYUFgEGAA==","testdata/undirected/Heawood.gv":"IH8DAQEBRAH/gAABAgEESGFzaAEGAAEES2luZAEEAAAAD/+AAfgIiJRSVlYWFgEGAA==","testdata/undirected/Petersen.gv":"IH8DAQEBRAH/gAABAgEESGFzaAEGAAEES2luZAEEAAAAD/+AAfhObSsqKs7GQQEGAA==","testdata/undirected/ngk10_4.gv":"IH8DAQEBRAH/gAABAgEESGFzaAEGAAEES2luZAEEAAAAD/+AAfiBKi0qIzlYAQEGAA==","testdata/undirected/process.gv":"IH8DAQEBRAH/gAABAgEESGFzaAEGAAEES2luZAEEAAAAD/+AAfg9Z0tCAwMDAwEGAA=="}
--------------------------------------------------------------------------------
/testdata/logo.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/goccy/go-graphviz/4ceff9e58e1a67056b302f85d0b793404e7280ee/testdata/logo.png
--------------------------------------------------------------------------------
/testdata/undirected/ER.gv:
--------------------------------------------------------------------------------
1 | graph ER {
2 | node [shape=box]; course; institute; student;
3 | node [shape=ellipse]; {node [label="name"] name0; name1; name2;}
4 | code; grade; number;
5 | node [shape=diamond,style=filled,color=lightgrey]; "C-I"; "S-C"; "S-I";
6 |
7 | name0 -- course;
8 | code -- course;
9 | course -- "C-I" [label="n",len=1.00];
10 | "C-I" -- institute [label="1",len=1.00];
11 | institute -- name1;
12 | institute -- "S-I" [label="1",len=1.00];
13 | "S-I" -- student [label="n",len=1.00];
14 | student -- grade;
15 | student -- name2;
16 | student -- number;
17 | student -- "S-C" [label="m",len=1.00];
18 | "S-C" -- course [label="n",len=1.00];
19 |
20 | label = "\n\nEntity Relation Diagram\ndrawn by NEATO";
21 | fontsize=20;
22 | }
23 |
--------------------------------------------------------------------------------
/testdata/undirected/Heawood.gv:
--------------------------------------------------------------------------------
1 | /*
2 | * The transitive 6-net, also known as Heawood's graph,
3 | * can be used to test the "stability points" of the layout
4 | * algorithm.
5 |
6 | * The "ideal" layout occurs when len="2.5". The layout
7 | * loses the regularity when smaller values are used.
8 | */
9 | graph "Heawood" {
10 | node [
11 | fontname = "Arial"
12 | label = "\N"
13 | shape = "circle"
14 | width = "0.50000"
15 | height = "0.500000"
16 | color = "black"
17 | ]
18 | edge [
19 | color = "black"
20 | ]
21 | /* The outer wheel */
22 | "0" -- "1" -- "2" -- "3" -- "4" -- "5" -- "6" -- "7" -- "8" -- "9" -- "10" -- "11" -- "12" -- "13" -- "0";
23 | /* The internal edges. The len = makes them internal */
24 | "0" -- "5" [len = 2.5];
25 | "2" -- "7" [len = 2.5];
26 | "4" -- "9" [len = 2.5];
27 | "6" -- "11" [len = 2.5];
28 | "8" -- "13" [len = 2.5];
29 | "10" -- "1" [len = 2.5];
30 | "12" -- "3" [len = 2.5];
31 | }
32 |
--------------------------------------------------------------------------------
/testdata/undirected/Petersen.gv:
--------------------------------------------------------------------------------
1 | /*
2 | * The transitive 5-net, also known as Petersen's graph,
3 | * can be used to test the "stability points" of the layout
4 | * algorithm.
5 | *
6 | * The "ideal" layout is achieved for certain random seed
7 | * values when len=1.5. For len=2.5 or above, the layout
8 | * is stable. Sometimes, the graph is rendered "inside-out".
9 | */
10 | graph "Petersen" {
11 | node [
12 | fontname = "Arial"
13 | label = "\N"
14 | shape = "circle"
15 | width = "0.400000"
16 | height = "0.400000"
17 | color = "black"
18 | ]
19 | edge [
20 | color = "black"
21 | ]
22 | /* Outer wheel. The len= is what makes it outer */
23 | "0" -- "1" -- "2" -- "3" -- "4" -- "0" [
24 | color = "blue"
25 | len = 2.6
26 | ]
27 | "0" -- "5" [
28 | color = "red"
29 | weight = "5"
30 | ]
31 | "1" -- "6" [
32 | color = "red"
33 | weight = "5"
34 | ]
35 | "2" -- "7" [
36 | color = "red"
37 | weight = "5"
38 | ]
39 | "3" -- "8" [
40 | color = "red"
41 | weight = "5"
42 | ]
43 | "4" -- "9" [
44 | color = "red"
45 | weight = "5"
46 | ]
47 | "5" -- "7" -- "9" -- "6" -- "8" -- "5";
48 | }
49 |
--------------------------------------------------------------------------------
/testdata/undirected/ngk10_4.gv:
--------------------------------------------------------------------------------
1 | graph G {
2 | graph [splines=true overlap=false]
3 | 1 -- 30 [f=1];
4 | 1 -- 40 [f=14];
5 | 8 -- 46 [f=1];
6 | 8 -- 16 [f=18];
7 | 10 -- 25 [f=1];
8 | 10 -- 19 [f=5];
9 | 10 -- 33 [f=1];
10 | 12 -- 8 [f=1];
11 | 12 -- 36 [f=5];
12 | 12 -- 17 [f=16];
13 | 13 -- 38 [f=1];
14 | 13 -- 24 [f=19];
15 | 24 -- 49 [f=1];
16 | 24 -- 13 [f=1];
17 | 24 -- 47 [f=12];
18 | 24 -- 12 [f=19];
19 | 25 -- 27 [f=1];
20 | 25 -- 12 [f=1];
21 | 27 -- 12 [f=1];
22 | 27 -- 14 [f=8];
23 | 29 -- 10 [f=1];
24 | 29 -- 8 [f=17];
25 | 30 -- 24 [f=1];
26 | 30 -- 44 [f=15];
27 | 38 -- 29 [f=1];
28 | 38 -- 35 [f=15];
29 | 2 -- 42 [f=2];
30 | 2 -- 35 [f=3];
31 | 2 -- 11 [f=19];
32 | 14 -- 18 [f=2];
33 | 14 -- 24 [f=15];
34 | 14 -- 38 [f=18];
35 | 18 -- 49 [f=2];
36 | 18 -- 47 [f=20];
37 | 26 -- 41 [f=2];
38 | 26 -- 42 [f=15];
39 | 31 -- 39 [f=2];
40 | 31 -- 47 [f=17];
41 | 31 -- 25 [f=14];
42 | 37 -- 26 [f=2];
43 | 37 -- 16 [f=14];
44 | 39 -- 50 [f=2];
45 | 39 -- 14 [f=2];
46 | 39 -- 18 [f=17];
47 | 39 -- 47 [f=10];
48 | 41 -- 31 [f=2];
49 | 41 -- 8 [f=16];
50 | 42 -- 44 [f=2];
51 | 42 -- 29 [f=12];
52 | 44 -- 37 [f=2];
53 | 44 -- 32 [f=15];
54 | 3 -- 20 [f=2];
55 | 3 -- 28 [f=19];
56 | 6 -- 45 [f=2];
57 | 6 -- 28 [f=10];
58 | 9 -- 6 [f=2];
59 | 9 -- 16 [f=1];
60 | 15 -- 16 [f=2];
61 | 15 -- 48 [f=2];
62 | 16 -- 50 [f=2];
63 | 16 -- 32 [f=14];
64 | 16 -- 39 [f=8];
65 | 20 -- 33 [f=2];
66 | 33 -- 9 [f=2];
67 | 33 -- 46 [f=3];
68 | 33 -- 48 [f=17];
69 | 45 -- 15 [f=2];
70 | 4 -- 17 [f=4];
71 | 4 -- 15 [f=6];
72 | 4 -- 12 [f=16];
73 | 17 -- 21 [f=4];
74 | 19 -- 35 [f=4];
75 | 19 -- 15 [f=9];
76 | 19 -- 43 [f=4];
77 | 21 -- 19 [f=4];
78 | 21 -- 50 [f=4];
79 | 23 -- 36 [f=4];
80 | 34 -- 23 [f=4];
81 | 34 -- 24 [f=11];
82 | 35 -- 34 [f=4];
83 | 35 -- 16 [f=6];
84 | 35 -- 18 [f=16];
85 | 36 -- 46 [f=4];
86 | 5 -- 7 [f=1];
87 | 5 -- 36 [f=6];
88 | 7 -- 32 [f=1];
89 | 7 -- 11 [f=2];
90 | 7 -- 14 [f=17];
91 | 11 -- 40 [f=1];
92 | 11 -- 50 [f=1];
93 | 22 -- 46 [f=1];
94 | 28 -- 43 [f=1];
95 | 28 -- 8 [f=18];
96 | 32 -- 28 [f=1];
97 | 32 -- 39 [f=13];
98 | 32 -- 42 [f=15];
99 | 40 -- 22 [f=1];
100 | 40 -- 47 [f=1];
101 | 43 -- 11 [f=1];
102 | 43 -- 17 [f=19];
103 | }
104 |
--------------------------------------------------------------------------------
/testdata/undirected/process.gv:
--------------------------------------------------------------------------------
1 | graph G {
2 | run -- intr;
3 | intr -- runbl;
4 | runbl -- run;
5 | run -- kernel;
6 | kernel -- zombie;
7 | kernel -- sleep;
8 | kernel -- runmem;
9 | sleep -- swap;
10 | swap -- runswap;
11 | runswap -- new;
12 | runswap -- runmem;
13 | new -- runmem;
14 | sleep -- runmem;
15 | }
16 |
--------------------------------------------------------------------------------