Index of sample files created by GraphViz2::Marpa V 1.12.

All scripts, input files and output files required to generate these examples are shipped in the GraphViz2::Marpa distro.

Some sample data is deliberately faulty, and so does not produce an image, or produces a faulty one (e.g. data/42.*.gv)

The files with names like 90.*.gv are copies of the corresponding files *.gv from the Graphviz distro.

Result of GraphViz2::Marpa processing *.gvResult of dot processing the same file
Input file 1: data/01.gv (0 bytes). Lex result: Error:
Dot result: Error.
Input file 2: data/02.gv (1 byte). Lex result: Error:
Dot result: Error.
Input file 3: data/03.gv (7 bytes). Lex result: Error:
strict
Dot result: Error.
Input file 4: data/04.gv (8 bytes). Lex result: Error:
digraph
Dot result: Error.
Input file 5: data/05.gv (6 bytes). Lex result: Error:
graph
Dot result: Error.
Input file 6: data/06.gv (3 bytes). Lex result: Error:
{}
Dot result: Error.
Input file 7: data/07.gv (10 bytes). Lex result: OK:
graph
{
}

Output file 7: html/07.svg (567 bytes)
Input file 8: data/08.gv (11 bytes). Lex result: Error:
strict
{
}
Dot result: Error.
Input file 9: data/09.gv (28 bytes). Lex result: OK:
strict digraph graph_09
{
}

Output file 9: html/09.svg (579 bytes)
Input file 10: data/10.gv (21 bytes). Lex result: OK:
digraph graph_10
{
}

Output file 10: html/10.svg (579 bytes)
Input file 11: data/11.gv (26 bytes). Lex result: OK:
strict graph graph_11
{
}

Output file 11: html/11.svg (579 bytes)
Input file 12: data/12.gv (19 bytes). Lex result: OK:
graph graph_12
{
}

Output file 12: html/12.svg (579 bytes)
Input file 13: data/13.gv (19 bytes). Lex result: OK:
strict digraph
{
}

Output file 13: html/13.svg (567 bytes)
Input file 14: data/14.gv (30 bytes). Lex result: OK:
digraph graph_14
{
node_14
}

Output file 14: html/14.svg (839 bytes)
Input file 15: data/15.gv (261 bytes). Lex result: OK:
digraph graph_15
{
node
[
shape = "record"
]
edge
[
color = "red"
penwidth = 5
]
node_15_1
[
label = "<f0> left|<f1> middle|<f2> right"
]
node_15_2
[
label = "<f0> one|<f1> two"
]
node_15_1:f0 -> node_15_2:f1
[
arrowhead = "obox"
]
}

Output file 15: html/15.svg (1997 bytes)
Input file 16: data/16.gv (267 bytes). Lex result: OK:
digraph graph_16
{
node
[
shape = "record"
]
edge
[
color = "green"
penwidth = 5
]
node_16_1
[
label = "<f0> left|<f1> middle|<f2> right"
]
node_16_2
[
label = "<f0> one|<f1> two"
]
node_16_1:f0:n -> node_16_2:f1:s
[
arrowhead = "odot"
]
}

Output file 16: html/16.svg (2197 bytes)
Input file 17: data/17.gv (264 bytes). Lex result: OK:
digraph graph_17
{
node
[
shape = "record"
]
edge
[
color = "blue"
penwidth = 5
]
node_17_1
[
label = "<f0> left|<f1> middle|<f2> right"
]
node_17_2
[
label = "<f0> one|<f1> two"
]
node_17_1:n -> node_17_2:s
[
arrowhead = "odiamond"
]
}

Output file 17: html/17.svg (2190 bytes)
Input file 18: data/18.gv (49 bytes). Lex result: OK:
digraph graph_18
{
subgraph subgraph_18
{
}
}

Output file 18: html/18.svg (579 bytes)
Input file 19: data/19.gv (84 bytes). Lex result: OK:
digraph graph_19
{
subgraph subgraph_19_1
{
subgraph subgraph_19_2
{
}
}
}

Output file 19: html/19.svg (579 bytes)
Input file 20: data/20.gv (45 bytes). Lex result: OK:
digraph graph_20
{
node_20_1 -> node_20_2
}

Output file 20: html/20.svg (1422 bytes)
Input file 21: data/21.gv (46 bytes). Lex result: OK:
digraph graph_21
{
attribute_21 = value_21
}

Output file 21: html/21.svg (579 bytes)
Input file 22: data/22.gv (54 bytes). Lex result: OK:
digraph graph_22
{
node_22
[
fillcolor = red
]
}

Output file 22: html/22.svg (839 bytes)
Input file 23: data/23.gv (43 bytes). Lex result: OK:
digraph graph_23
{
node_23_1
node_23_2
}

Output file 23: html/23.svg (1108 bytes)
Input file 24: data/24.gv (85 bytes). Lex result: OK:
digraph graph_24
{
node_24_1
[
color = red
]
node_24_2
[
color = green
]
}

Output file 24: html/24.svg (1106 bytes)
Input file 25: data/25.gv (70 bytes). Lex result: OK:
digraph graph_25
{
node_25
[
color = red
fontcolor = green
]
}

Output file 25: html/25.svg (850 bytes)
Input file 26: data/26.gv (71 bytes). Lex result: OK:
digraph graph_26
{
node_26
[
color = red,
fontcolor = green
]
}

Output file 26: html/26.svg (850 bytes)
Input file 27: data/27.gv (147 bytes). Lex result: OK:
digraph graph_27
{
node_27_1
[
color = red
fontcolor = green
]
node_27_2
[
color = green
fontcolor = red
]
node_27_1 -> node_27_2
}

Output file 27: html/27.svg (1444 bytes)
Input file 28: data/28.gv (172 bytes). Lex result: OK:
digraph graph_28
{
edge
[
dir = both
]
node_28_1
[
color = red
fontcolor = green
]
node_28_2
[
color = green
fontcolor = red
]
node_28_1 -> node_28_2
}

Output file 28: html/28.svg (1555 bytes)
Input file 29: data/29.gv (110 bytes). Lex result: OK:
digraph graph_29
{
subgraph subgraph_29_1
{
subgraph subgraph_29_2
{
node_29_1 -> node_29_2
}
}
}

Output file 29: html/29.svg (1422 bytes)
Input file 30: data/30.gv (132 bytes). Lex result: OK:
digraph graph_30
{
node_30
[
color = red
fontcolor = green
label = <<table><tr><td>html-style label</td></tr></table>>
]
}

Output file 30: html/30.svg (1047 bytes)
Input file 31: data/31.gv (189 bytes). Lex result: OK:
digraph graph_31
{
node_31
[
color = red
fontcolor = green
label = <<table border='0'><tr><td>html-style label with literal &lt;br /&gt; and no table border</td></tr></table>>
]
}

Output file 31: html/31.svg (920 bytes)
Input file 32: data/32.gv (154 bytes). Lex result: OK:
digraph graph_32
{
node_32
[
color = red
fontcolor = green
label = <<table><tr><td>html-style label with literal &lt;&gt;</td></tr></table>>
]
}

Output file 32: html/32.svg (1060 bytes)
Input file 33: data/33.gv (374 bytes). Lex result: OK:
digraph graph_33
{
node_33_1
[
color = red
fontcolor = green
label = <<table><tr><td>html-style label for node_33_1</td></tr></table>>
]
node_33_2
[
color = green
fontcolor = red
label = <<table><tr><td>html-style label for node_33_2</td></tr></table>>
]
node_33_1 -> node_33_2
[
arrowhead = crow
arrowtail = diamond
color = blue
dir = both
]
}

Output file 33: html/33.svg (2035 bytes)
Input file 34: data/34.gv (171 bytes). Lex result: OK:
digraph graph_34
{
node_34
[
color = red
fontcolor = green
label = <<table><tr><td>html-style label with &lt;&gt; embedded angle brackets</td></tr></table>>
];
}

Output file 34: html/34.svg (1086 bytes)
Input file 35: data/35.gv (377 bytes). Lex result: OK:
digraph graph_35
{
node_35_1
[
color = red
fontcolor = green
label = <<table><tr><td>html-style label for node_35_1</td></tr></table>>
];
node_35_2
[
color = green
fontcolor = red
label = <<table><tr><td>html-style label for node_35_2</td></tr></table>>
];
node_35_1 -> node_35_2
[
arrowhead = crow
arrowtail = diamond
color = blue
dir = both
];
}

Output file 35: html/35.svg (2035 bytes)
Input file 36: data/36.gv (93 bytes). Lex result: OK:
digraph graph_36
{
// C++-style comment.
node_36
[
color = red
fontcolor = green
];
}

Output file 36: html/36.svg (850 bytes)
Input file 37: data/37.gv (93 bytes). Lex result: OK:
digraph graph_37
{
# Bash-style comment.
node_37
[
color = red
fontcolor = green
];
}

Output file 37: html/37.svg (850 bytes)
Input file 38: data/38.gv (250 bytes). Lex result: OK:
digraph graph_38
{
node_38
[
color = red
fontcolor = green
label = <<table border='0'><tr><td>html-style label with 2 <br align='center' /> &lt;br /&gt;s in the middle <br align='center' /> and without a table border.</td></tr></table>>
]
}

Output file 38: html/38.svg (1157 bytes)
Input file 39: data/39.gv (120 bytes). Lex result: OK:
digraph graph_39
{
node_39
[
color = red
fontcolor = green
label = "Quoted label with \n embedded newline"
]
}

Output file 39: html/39.svg (996 bytes)
Input file 40: data/40.gv (83 bytes). Lex result: OK:
digraph "graph_40"
{
"node_40"
[
"color" = "red",
"fontcolor" = "green"
]
}

Output file 40: html/40.svg (850 bytes)
Input file 41: data/41.gv (88 bytes). Lex result: OK:
digraph
{
node_41
[
color = red,
fontcolor = green
label = "ID-less graph"
]
}

Output file 41: html/41.svg (852 bytes)
Input file 42: data/42.01.gv (42 bytes). Lex result: OK:
digraph graph_42_01
{
node_42_01
[
]
}

Output file 42: html/42.01.svg (858 bytes)
Input file 43: data/42.02.gv (54 bytes). Lex result: OK:
digraph graph_42_02
{
node_42_02
[
fixedsize
]
}

Output file 43: html/42.02.svg (849 bytes)
Input file 44: data/42.03.gv (61 bytes). Lex result: OK:
digraph graph_42_03
{
node_42_03
[
fixedsize = true
]
}

Output file 44: html/42.03.svg (849 bytes)
Input file 45: data/42.04.gv (62 bytes). Lex result: OK:
digraph graph_42_04
{
node_42_04
[
fixedsize
width
]
}

Output file 45: html/42.04.svg (849 bytes)
Input file 46: data/42.05.gv (66 bytes). Lex result: OK:
digraph graph_42_05
{
node_42_05
[
fixedsize
width = 2
]
}

Output file 46: html/42.05.svg (853 bytes)
Input file 47: data/42.06.gv (69 bytes). Lex result: OK:
digraph graph_42_06
{
node_42_06
[
fixedsize = true
width
]
}

Output file 47: html/42.06.svg (849 bytes)
Input file 48: data/42.07.gv (73 bytes). Lex result: OK:
digraph graph_42_07
{
node_42_07
[
fixedsize = true
width = 2
]
}

Output file 48: html/42.07.svg (853 bytes)
Input file 49: data/42.08.gv (71 bytes). Lex result: OK:
digraph graph_42_08
{
node_42_08
[
fixedsize
height
width
]
}

Output file 49: html/42.08.svg (849 bytes)
Input file 50: data/42.09.gv (75 bytes). Lex result: OK:
digraph graph_42_09
{
node_42_09
[
fixedsize
height
width = 2
]
}

Output file 50: html/42.09.svg (853 bytes)
Input file 51: data/42.10.gv (79 bytes). Lex result: OK:
digraph graph_42_10
{
node_42_10
[
fixedsize
height = 2
width = 2
]
}

Output file 51: html/42.10.svg (858 bytes)
Input file 52: data/42.11.gv (82 bytes). Lex result: OK:
digraph graph_42_11
{
node_42_11
[
fixedsize = true
height
width = 2
]
}

Output file 52: html/42.11.svg (853 bytes)
Input file 53: data/42.12.gv (75 bytes). Lex result: OK:
digraph graph_42_12
{
node_42_12
[
fixedsize
height = 2
width
]
}

Output file 53: html/42.12.svg (854 bytes)
Input file 54: data/43.gv (134 bytes). Lex result: OK:
digraph graph_43
{
node_43_1
[
color = red
fontcolor = green
shape = box
]
node_43_2
[
fixedsize = true
width = 2
]
}

Output file 54: html/43.svg (1133 bytes)
Input file 55: data/44.gv (76 bytes). Lex result: OK:
graph graph_44
{
node
[
shape = box
]
course;
institute;
student;
}

Output file 55: html/44.svg (1388 bytes)
Input file 56: data/45.gv (159 bytes). Lex result: OK:
graph graph_45
{
node
[
shape = box
]
course;
institute;
student;
node
[
shape = ellipse
]
node
[
label = "name"
]
name0;
name1;
name2;
}

Output file 56: html/45.svg (2126 bytes)
Input file 57: data/46.gv (172 bytes). Lex result: OK:
graph graph_46
{
node
[
shape = box
]
course;
institute;
student;
node
[
shape = ellipse
]
{
node
[
label = "name"
]
name0;
name1;
name2;
}
}

Output file 57: html/46.svg (2126 bytes)
Input file 58: data/47.gv (104 bytes). Lex result: OK:
# Oops. We can't handle this case yet.

digraph graph_47
{
big ->
{
small
smaller
smallest
}
}

Output file 58: html/47.svg (2517 bytes)
Input file 59: data/48.gv (187 bytes). Lex result: OK:
graph graph_49
{
node
[
shape = box
]
course;
institute;
student;
node
[
shape = ellipse
]
{
}
code;
grade;
number;
name0 -- course;
code -- course;
fontsize = 20;
}

Output file 59: html/48.svg (2805 bytes)
Input file 60: data/49.gv (247 bytes). Lex result: OK:
graph graph_49
{
node
[
shape = box
]
course;
institute;
student;
node
[
shape = ellipse
]
{
node
[
label = "name"
]
name0;
name1;
name2;
}
code;
grade;
number;
name0 -- course;
code -- course;
fontsize = 20;
}

Output file 60: html/49.svg (3297 bytes)
Input file 61: data/50.gv (63 bytes). Lex result: OK:
digraph graph_50
{
# A node whose name is 0. Can we cope?
0
}

Output file 61: html/50.svg (816 bytes)
Input file 62: data/51.gv (177 bytes). Lex result: OK:
digraph graph_51
{
edge [color = blue]

node [shape = Mdiamond]

node_51_01

node [shape = Msquare]

node_51_02

graph [label = "Class Demo"]

node_51_01 -> node_51_02
}

Output file 62: html/51.svg (2223 bytes)
Input file 63: data/52.gv (183 bytes). Lex result: OK:
# In V 1.04 this would output a node called 'node_52_2node_52_3'.
# This bug is fixed in V 1.05. See notes in the CHANGES file.

digraph graph_52
{
node_52_1 -> node_52_2
node_52_3
}

Output file 63: html/52.svg (1681 bytes)
Input file 64: data/53.gv (672 bytes). Lex result: OK:
strict digraph graph_53
{
label = "Complex Syntax Test"
rankdir = TB

A [shape = oval]

node [shape = house]
edge [color = purple]

{
rank = same
B
C
node [shape = oval]
D
ordering = out
A -> B
C -> D
}

node [color = green style = filled]
E
F
E -> F [label = "e->f", dir = both, arrowhead = dot, arrowtail = odot]

subgraph cluster_outer
{
G -> H
node [shape = hexagon]
node [color = red]
label = Outer
subgraph cluster_inner
{
node [shape = triangle]
edge [color = blue]
I [color = pink shape = square]
I -> J
label = Inner
}
}
graph [rankdir = TB]
node [color = orange]
K
L
K -> L [label = "k->l"]
}

Output file 64: html/53.svg (6432 bytes)
Input file 65: data/54.gv (115 bytes). Lex result: OK:
# V 1.05 would mis-parse 'A [] B' as 'A'.
# Node B would be lost because [] is empty.

digraph graph_54
{
A [] B
}

Output file 65: html/54.svg (1048 bytes)
Input file 66: data/55.gv (1009 bytes). Lex result: OK:
strict digraph graph_55
{
label = "Complex Syntax Test"

A [color = blue]

node [shape = house]
edge [color = purple]

{
rank = same
C
node [fillcolor = goldenrod shape = circle style = filled]
A -> B
B [color = mediumseagreen]
C [color = firebrick1]
B -> C [color = orange penwidth = 5]
node [fillcolor = turquoise4]
C -> D [arrowtail = obox arrowhead = crow dir = both minlen = 2]
D -> E [arrowtail = odot arrowhead = dot dir = both minlen = 2 penwidth = 5]
{
node [fillcolor = darkorchid shape = pentagon]
F [color = darkorchid fillcolor = yellow penwidth = 5 shape = hexagon]
G [color = crimson penwidth = 7]
F -> G
}
}

B [shape = square]

node [fillcolor = lightblue fontsize = 20 style = filled]

subgraph cluster_outer
{
label = Outer
H -> I

subgraph cluster_inner
{
label = Inner
node [fillcolor = magenta fontsize = 26 shape = triangle]
edge [color = blue]
J [color = yellow shape = square]
J -> K
}
}
graph [rankdir = TB]
}

Output file 66: html/55.svg (6529 bytes)
Input file 67: data/56.gv (1353 bytes). Lex result: OK:
digraph g {
rankdir=LR;

node [shape=rpromoter colorscheme=rdbu5 color=1 style=filled fontcolor=3]; Hef1a; TRE; UAS; Hef1aLacOid;
Hef1aLacOid [label="Hef1a-LacOid"];
node [shape=rarrow colorscheme=rdbu5 color=5 style=filled fontcolor=3]; Gal4VP16; LacI; rtTA3; DeltamCherry;
Gal4VP16 [label="Gal4-VP16"];
product [shape=oval style=filled colorscheme=rdbu5 color=2 label=""];
repression [shape=oval label="LacI repression" fontcolor=black style=dotted];
node [shape=oval style=filled colorscheme=rdbu5 color=4 fontcolor=5];
combination [label="rtTA3 + Doxycycline"];
LacIprotein [label="LacI"];
rtTA3protein [label="rtTA3"];
Gal4VP16protein [label="Gal4-VP16"];


subgraph cluster_0 {
colorscheme=rdbu5;
color=3;
node [colorscheme=rdbu5 fontcolor=3];
Hef1a -> Gal4VP16 [arrowhead=none];
Gal4VP16 -> UAS [arrowhead=none];
UAS -> LacI [arrowhead=none];
LacI -> Hef1aLacOid [arrowhead=none];
Hef1aLacOid -> rtTA3 [arrowhead=none];
rtTA3 -> TRE [arrowhead=none];
TRE -> DeltamCherry [arrowhead=none]
}

Gal4VP16 -> Gal4VP16protein;
Gal4VP16protein -> UAS;
LacI -> LacIprotein;
LacIprotein -> repression;
repression -> Hef1aLacOid [arrowhead=tee];
IPTG -> repression [arrowhead=tee];
rtTA3 -> rtTA3protein;
rtTA3protein -> combination;
combination -> TRE;
Doxycycline -> combination;
DeltamCherry -> product;



}

Output file 67: html/56.svg (11225 bytes)
Input file 68: data/57.gv (4389 bytes). Lex result: OK:
digraph G {
graph [rankdir=LR nodesep=0]
node [shape=point label=""]
edge [fontsize=10]
_box -> box [arrowhead=box label=box]
box -> boxbox [arrowhead=boxbox label=boxbox]
_box -> lbox [arrowhead=lbox label=lbox]
lbox -> lboxlbox [arrowhead=lboxlbox label=lboxlbox]
_box -> rbox [arrowhead=rbox label=rbox]
rbox -> rboxrbox [arrowhead=rboxrbox label=rboxrbox]
_box -> olbox [arrowhead=olbox label=olbox]
olbox -> olboxolbox [arrowhead=olboxolbox label=olboxolbox]
_box -> orbox [arrowhead=orbox label=orbox]
orbox -> orboxorbox [arrowhead=orboxorbox label=orboxorbox]
_box -> obox [arrowhead=obox label=obox]
obox -> oboxobox [arrowhead=oboxobox label=oboxobox]
_crow -> crow [arrowhead=crow label=crow]
crow -> crowcrow [arrowhead=crowcrow label=crowcrow]
_crow -> lcrow [arrowhead=lcrow label=lcrow]
lcrow -> lcrowlcrow [arrowhead=lcrowlcrow label=lcrowlcrow]
_crow -> rcrow [arrowhead=rcrow label=rcrow]
rcrow -> rcrowrcrow [arrowhead=rcrowrcrow label=rcrowrcrow]
_diamond -> diamond [arrowhead=diamond label=diamond]
diamond -> diamonddiamond [arrowhead=diamonddiamond label=diamonddiamond]
_diamond -> ldiamond [arrowhead=ldiamond label=ldiamond]
ldiamond -> ldiamondldiamond [arrowhead=ldiamondldiamond label=ldiamondldiamond]
_diamond -> rdiamond [arrowhead=rdiamond label=rdiamond]
rdiamond -> rdiamondrdiamond [arrowhead=rdiamondrdiamond label=rdiamondrdiamond]
_diamond -> oldiamond [arrowhead=oldiamond label=oldiamond]
oldiamond -> oldiamondoldiamond [arrowhead=oldiamondoldiamond label=oldiamondoldiamond]
_diamond -> ordiamond [arrowhead=ordiamond label=ordiamond]
ordiamond -> ordiamondordiamond [arrowhead=ordiamondordiamond label=ordiamondordiamond]
_diamond -> odiamond [arrowhead=odiamond label=odiamond]
odiamond -> odiamondodiamond [arrowhead=odiamondodiamond label=odiamondodiamond]
_dot -> dot [arrowhead=dot label=dot]
dot -> dotdot [arrowhead=dotdot label=dotdot]
_dot -> odot [arrowhead=odot label=odot]
odot -> odotodot [arrowhead=odotodot label=odotodot]
_inv -> inv [arrowhead=inv label=inv]
inv -> invinv [arrowhead=invinv label=invinv]
_inv -> linv [arrowhead=linv label=linv]
linv -> linvlinv [arrowhead=linvlinv label=linvlinv]
_inv -> rinv [arrowhead=rinv label=rinv]
rinv -> rinvrinv [arrowhead=rinvrinv label=rinvrinv]
_inv -> olinv [arrowhead=olinv label=olinv]
olinv -> olinvolinv [arrowhead=olinvolinv label=olinvolinv]
_inv -> orinv [arrowhead=orinv label=orinv]
orinv -> orinvorinv [arrowhead=orinvorinv label=orinvorinv]
_inv -> oinv [arrowhead=oinv label=oinv]
oinv -> oinvoinv [arrowhead=oinvoinv label=oinvoinv]
_none -> none [arrowhead=none label=none]
none -> nonenone [arrowhead=nonenone label=nonenone]
_normal -> normal [arrowhead=normal label=normal]
normal -> normalnormal [arrowhead=normalnormal label=normalnormal]
_normal -> lnormal [arrowhead=lnormal label=lnormal]
lnormal -> lnormallnormal [arrowhead=lnormallnormal label=lnormallnormal]
_normal -> rnormal [arrowhead=rnormal label=rnormal]
rnormal -> rnormalrnormal [arrowhead=rnormalrnormal label=rnormalrnormal]
_normal -> olnormal [arrowhead=olnormal label=olnormal]
olnormal -> olnormalolnormal [arrowhead=olnormalolnormal label=olnormalolnormal]
_normal -> ornormal [arrowhead=ornormal label=ornormal]
ornormal -> ornormalornormal [arrowhead=ornormalornormal label=ornormalornormal]
_normal -> onormal [arrowhead=onormal label=onormal]
onormal -> onormalonormal [arrowhead=onormalonormal label=onormalonormal]
_tee -> tee [arrowhead=tee label=tee]
tee -> teetee [arrowhead=teetee label=teetee]
_tee -> ltee [arrowhead=ltee label=ltee]
ltee -> lteeltee [arrowhead=lteeltee label=lteeltee]
_tee -> rtee [arrowhead=rtee label=rtee]
rtee -> rteertee [arrowhead=rteertee label=rteertee]
_vee -> vee [arrowhead=vee label=vee]
vee -> veevee [arrowhead=veevee label=veevee]
_vee -> lvee [arrowhead=lvee label=lvee]
lvee -> lveelvee [arrowhead=lveelvee label=lveelvee]
_vee -> rvee [arrowhead=rvee label=rvee]
rvee -> rveervee [arrowhead=rveervee label=rveervee]
_curve -> curve [arrowhead=curve label=curve]
curve -> curvecurve [arrowhead=curvecurve label=curvecurve]
_curve -> lcurve [arrowhead=lcurve label=lcurve]
lcurve -> lcurvelcurve [arrowhead=lcurvelcurve label=lcurvelcurve]
_curve -> rcurve [arrowhead=rcurve label=rcurve]
rcurve -> rcurvercurve [arrowhead=rcurvercurve label=rcurvercurve]
}

Output file 68: html/57.svg (58352 bytes)
Input file 69: data/58.gv (410 bytes). Lex result: OK:
# Test of href as a clickable label attribute.
# Note the use of single quotes in the label.
# Double quotes are used for output *.csv files.

digraph href_test
{
edge [color = blue]
node_1 [color = red]
node_2 [color = green]

node_1 -> node_2
[
label =
<<table border='0'>
<tr>
<td href='http://savage.net.au' title='Tool tip'>Hover over label, then click it</td>
</tr>
</table>>
]
}

Output file 69: html/58.svg (1603 bytes)
Input file 70: data/90.ER.gv (650 bytes). Lex result: OK:
graph ER {
node [shape=box]; course; institute; student;
node [shape=ellipse]; {node [label="name"] name0; name1; name2;}
code; grade; number;
node [shape=diamond,style=filled,color=lightgrey]; "C-I"; "S-C"; "S-I";

name0 -- course;
code -- course;
course -- "C-I" [label="n",len=1.00];
"C-I" -- institute [label="1",len=1.00];
institute -- name1;
institute -- "S-I" [label="1",len=1.00];
"S-I" -- student [label="n",len=1.00];
student -- grade;
student -- name2;
student -- number;
student -- "S-C" [label="m",len=1.00];
"S-C" -- course [label="n",len=1.00];

label = "\n\nEntity Relation Diagram\ndrawn by NEATO";
fontsize=20;
}

Output file 70: html/90.ER.svg (7131 bytes)
Input file 71: data/90.KW91.gv (416 bytes). Lex result: OK:
digraph G {
style=bold;
subgraph cluster_outer {
Act_1 -> Act_21;
Act_1 -> Act_23;
Act_25 -> Act_3;
subgraph cluster_inner {
label = " Act_2";
{Act_21 -> Act_22 [minlen=2]; rank=same;}
Act_22 -> Act_23;
Act_22 -> Act_24;
{Act_23 -> Act_24 [minlen=2]; rank=same;}
Act_23 -> Act_25;
Act_24 -> Act_25;
}
}
Ext_1 -> Act_1;
Act_3 -> Ext_2;
Ext_3 -> Act_24;
}

Output file 71: html/90.KW91.svg (7465 bytes)
Input file 72: data/90.Petersen.gv (902 bytes). Lex result: OK:
/*
* The transitive 5-net, also known as Petersen's graph,
* can be used to test the "stability points" of the layout
* algorithm.
*
* The "ideal" layout is achieved for certain random seed
* values when len=1.5. For len=2.5 or above, the layout
* is stable. Sometimes, the graph is rendered "inside-out".
*/
graph "Petersen" {
node [
fontname = "Arial"
label = "\N"
shape = "circle"
width = "0.400000"
height = "0.400000"
color = "black"
]
edge [
color = "black"
]
/* Outer wheel. The len= is what makes it outer */
"0" -- "1" -- "2" -- "3" -- "4" -- "0" [
color = "blue"
len = 2.6
]
"0" -- "5" [
color = "red"
weight = "5"
]
"1" -- "6" [
color = "red"
weight = "5"
]
"2" -- "7" [
color = "red"
weight = "5"
]
"3" -- "8" [
color = "red"
weight = "5"
]
"4" -- "9" [
color = "red"
weight = "5"
]
"5" -- "7" -- "9" -- "6" -- "8" -- "5";
}

Output file 72: html/90.Petersen.svg (5995 bytes)
Input file 73: data/90.abstract.gv (770 bytes). Lex result: OK:
digraph abstract {
size="6,6";
S24 -> 27;
S24 -> 25;
S1 -> 10;
S1 -> 2;
S35 -> 36;
S35 -> 43;
S30 -> 31;
S30 -> 33;
9 -> 42;
9 -> T1;
25 -> T1;
25 -> 26;
27 -> T24;
2 -> 3;
2 -> 16;
2 -> 17;
2 -> T1;
2 -> 18;
10 -> 11;
10 -> 14;
10 -> T1;
10 -> 13;
10 -> 12;
31 -> T1;
31 -> 32;
33 -> T30;
33 -> 34;
42 -> 4;
26 -> 4;
3 -> 4;
16 -> 15;
17 -> 19;
18 -> 29;
11 -> 4;
14 -> 15;
37 -> 39;
37 -> 41;
37 -> 38;
37 -> 40;
13 -> 19;
12 -> 29;
43 -> 38;
43 -> 40;
36 -> 19;
32 -> 23;
34 -> 29;
39 -> 15;
41 -> 29;
38 -> 4;
40 -> 19;
4 -> 5;
19 -> 21;
19 -> 20;
19 -> 28;
5 -> 6;
5 -> T35;
5 -> 23;
21 -> 22;
20 -> 15;
28 -> 29;
6 -> 7;
15 -> T1;
22 -> 23;
22 -> T35;
29 -> T30;
7 -> T8;
23 -> T24;
23 -> T1;
}

Output file 73: html/90.abstract.svg (34028 bytes)
Input file 74: data/90.alf.gv (958 bytes). Lex result: OK:
digraph Alf {
size = "6,9";
node [ shape = record ];
Decl [ label = "\n\nDecl|{name|access|decl_flags|extern_c_linkage}"];
Nontype_decl [ label = "Nontype_decl|{type}"];
Defined_decl [ label = "Defined_decl|{linkage}"];
Data_decl [ label = "Data_decl|{storage_class}"];
Function_decl [ label = "Function_decl|{formals|defaults}"];
Data [ label = "Data|{initializer}"];
Function [ label = "Function|{body}"];
Constructor [ label = "Constructor|{member_initializers}"];
Aggregate -> Type_decl ;
Class -> Aggregate;
Union -> Aggregate;
Data -> Data_decl;
Data -> Defn;
Data_decl -> Defined_decl;
Data_member -> Nontype_decl ;
Defined_decl -> Nontype_decl;
Defn -> Defined_decl;
Enum -> Type_decl ;
Enumerator -> Nontype_decl ;
Function -> Defn;
Function -> Function_decl;
Constructor -> Function;
Destructor -> Function;
Function_decl -> Defined_decl;
Nontype_decl -> Decl ;
Template_type_arg -> Type_decl ;
Type_decl -> Decl ;
Typedef -> Type_decl ;
}

Output file 74: html/90.alf.svg (14616 bytes)
Input file 75: data/90.clust.gv (255 bytes). Lex result: OK:
digraph G {
subgraph cluster_0 {
label = "hello world";
a -> b;
a -> c;
color = hotpink;
}

subgraph cluster_1 {
label = "MSDOT";
style= "dashed";
color=purple;
x -> y;
x -> z;
y -> z;
y -> q;
}

top -> a;
top -> y;
y -> b;
}

Output file 75: html/90.clust.svg (5671 bytes)
Input file 76: data/90.clust1.gv (146 bytes). Lex result: OK:
digraph G {
subgraph cluster_c0 {a0 -> a1 -> a2 -> a3;}
subgraph cluster_c1 {b0 -> b1 -> b2 -> b3;}
x -> a0;
x -> b0;
a1 -> a3;
a3 -> a0;
}

Output file 76: html/90.clust1.svg (6041 bytes)
Input file 77: data/90.clust2.gv (146 bytes). Lex result: OK:
digraph G {
subgraph cluster_c0 {a0 -> a1 -> a2 -> a3;}
subgraph cluster_c1 {b0 -> b1 -> b2 -> b3;}
x -> a0;
x -> b0;
a1 -> b3;
b3 -> a1;
}

Output file 77: html/90.clust2.svg (5887 bytes)
Input file 78: data/90.clust3.gv (146 bytes). Lex result: OK:
digraph G {
subgraph cluster_c0 {a0 -> a1 -> a2 -> a3;}
subgraph cluster_c1 {b0 -> b1 -> b2 -> b3;}
x -> a0;
x -> b0;
a1 -> b3;
b1 -> a3;
}

Output file 78: html/90.clust3.svg (5889 bytes)
Input file 79: data/90.clust4.gv (401 bytes). Lex result: OK:
digraph G {

subgraph cluster_0 {
style=filled;
color=lightgrey;
node [style=filled,color=white];
a0 -> a1 -> a2 -> a3;
label = "process #1";
}

subgraph cluster_1 {
node [style=filled];
b0 -> b1 -> b2 -> b3;
label = "process #2";
color=blue
}
start -> a0;
start -> b0;
a1 -> b3;
b2 -> a3;
a3 -> a0;
a3 -> end;
b3 -> end;

start [shape=Mdiamond];
end [shape=Msquare];
}

Output file 79: html/90.clust4.svg (8112 bytes)
Input file 80: data/90.clust5.gv (238 bytes). Lex result: OK:
digraph G {
size="6,6";
a -> b -> c;

subgraph cluster0 {
x0 -> y0;
x0 -> z0;
}

subgraph cluster1 {
x1 -> y1;
x1 -> z1;
}

subgraph cluster2 {
x2 -> y2;
x2 -> z2;
}

a -> x0;
b -> x1;
b -> x2;
a -> z2;
c -> z1;
}

Output file 80: html/90.clust5.svg (7833 bytes)
Input file 81: data/90.ctext.gv (425 bytes). Lex result: OK:
digraph G {
xyz [label = "hello\nworld",color="slateblue",fontsize=24,fontname="Palatino-Italic",style=filled,fontcolor="hotpink"];
node [style=filled];
red [color=red];
green [color=green];
blue [color=blue,fontcolor=black];
cyan [color=cyan];
magenta [color=magenta];
yellow [color=yellow];
orange [color=orange];
red -> green;
red -> blue;
blue -> cyan;
blue -> magenta;
green -> yellow;
green -> orange;
}

Output file 81: html/90.ctext.svg (4617 bytes)
Input file 82: data/90.dfa.gv (959 bytes). Lex result: OK:
digraph g {
"start" [ label = "MWGC-" ];
"n1" [ label = "WC-MG" ];
"n2" [ label = "MWC-G" ];
"n3" [ label = "C-MWG" ];
"n4" [ label = "W-MGC" ];
"n5" [ label = "MGC-W" ];
"n6" [ label = "MWG-C" ];
"n7" [ label = "G-MWC" ];
"n8" [ label = "MG-WC" ];
"n9" [ label = "-MWGC" ];
"start" -> "n1" [ label = "g" ];
"n1" -> "start" [ label = "g" ];
subgraph l { rank = same; "n3" "n4" }
subgraph r { rank = same; "n5" "n6" }
"n1" -> "n2" [ label = "m" ];
"n2" -> "n1" [ label = "m" ];
"n2" -> "n3" [ label = "w" ];
"n3" -> "n2" [ label = "w" ];
"n2" -> "n4" [ label = "c" ];
"n4" -> "n2" [ label = "c" ];
"n3" -> "n5" [ label = "g" ];
"n5" -> "n3" [ label = "g" ];
"n4" -> "n6" [ label = "g" ];
"n6" -> "n4" [ label = "g" ];
"n5" -> "n7" [ label = "c" ];
"n7" -> "n5" [ label = "c" ];
"n6" -> "n7" [ label = "w" ];
"n7" -> "n6" [ label = "w" ];
"n7" -> "n8" [ label = "m" ];
"n8" -> "n7" [ label = "m" ];
"n8" -> "n9" [ label = "g" ];
"n9" -> "n8" [ label = "g" ];
}

Output file 82: html/90.dfa.svg (11770 bytes)
Input file 83: data/90.hashtable.gv (629 bytes). Lex result: OK:
digraph G {
nodesep=.05;
rankdir=LR;
node [shape=record,width=.1,height=.1];

node0 [label = "<f0> |<f1> |<f2> |<f3> |<f4> |<f5> |<f6> | ",height=2.0];
node [width = 1.5];
node1 [label = "{<n> n14 | 719 |<p> }"];
node2 [label = "{<n> a1 | 805 |<p> }"];
node3 [label = "{<n> i9 | 718 |<p> }"];
node4 [label = "{<n> e5 | 989 |<p> }"];
node5 [label = "{<n> t20 | 959 |<p> }"] ;
node6 [label = "{<n> o15 | 794 |<p> }"] ;
node7 [label = "{<n> s19 | 659 |<p> }"] ;

node0:f0 -> node1:n;
node0:f1 -> node2:n;
node0:f2 -> node3:n;
node0:f5 -> node4:n;
node0:f6 -> node5:n;
node2:p -> node6:n;
node4:p -> node7:n;
}

Output file 83: html/90.hashtable.svg (8199 bytes)
Input file 84: data/90.longflat.gv (86 bytes). Lex result: OK:
digraph if
{
rankdir=LR;
{rank=same;b;c;}
a->b;
c->b[label="long long long"];
}

Output file 84: html/90.longflat.svg (1940 bytes)
Input file 85: data/90.mike.gv (381 bytes). Lex result: OK:
digraph mike{
size = "8,8";
a -> A;
a -> m;
a -> E;
t -> O;
r -> V;
r -> Q;
p -> B;
m -> R;
l -> C;
c -> C;
W -> X;
W -> D;
V -> W;
T -> U;
Q -> T;
Q -> H;
Q -> A;
O -> K;
L -> U;
K -> L;
K -> J;
K -> E;
J -> I;
R -> B;
P -> F;
H -> R;
H -> P;
U -> H;
G -> U;
E -> G;
C -> Z;
C -> D;
S -> D;
B -> N;
B -> D;
B -> S;
M -> B;
A -> M;
N -> Y;
}

Output file 85: html/90.mike.svg (20674 bytes)
Input file 86: data/90.nhg.gv (339 bytes). Lex result: OK:
digraph automata_0 {
size ="8.5, 11";
node [shape = circle];
0 [ style = filled, color=lightgrey ];
2 [ shape = doublecircle ];
0 -> 2 [ label = "a " ];
0 -> 1 [ label = "other " ];
1 -> 2 [ label = "a " ];
1 -> 1 [ label = "other " ];
2 -> 2 [ label = "a " ];
2 -> 1 [ label = "other " ];
"Machine: a" [ shape = plaintext ];
}

Output file 86: html/90.nhg.svg (4171 bytes)
Input file 87: data/90.process.gv (234 bytes). Lex result: OK:
graph G {
run -- intr;
intr -- runbl;
runbl -- run;
run -- kernel;
kernel -- zombie;
kernel -- sleep;
kernel -- runmem;
sleep -- swap;
swap -- runswap;
runswap -- new;
runswap -- runmem;
new -- runmem;
sleep -- runmem;
}

Output file 87: html/90.process.svg (6036 bytes)
Input file 88: data/90.record2.gv (155 bytes). Lex result: OK:
digraph G {
node [shape=record];
a [label = "<f0> foo | x | <f1> bar"];
b [label = "a | { <f0> foo | x | <f1> bar } | b"];
a:f0 -> b:f1
}

Output file 88: html/90.record2.svg (2533 bytes)
Input file 89: data/90.records.gv (417 bytes). Lex result: OK:
digraph G {
rankdir=LR;
node [shape=record];
a [ label ="<bala> Graphs can\lbe fun\l|<f1> mid|<f2> right\r"];
b [ label ="<left> |<mid> b | " ];
c [ label ="<p1> | c |<p2> " ];
x [ label ="<p1> | x |<p2> " ];
y [ label ="<p1> | y |<p2> " ];
z [ label =" | z |<p2> " ];
a:bala -> b:left;
a:f1 -> d;
a:f2 -> y:"p1";
c:"p1" -> d;
b:mid -> x:"p1";
c:"p2" -> y:"p2";
b:left -> z:"p2";
}

Output file 89: html/90.records.svg (6470 bytes)
Input file 90: data/90.states.gv (493 bytes). Lex result: OK:
/*
The command line is

dot -Tps -Grankdir=LR states.dot > states.ps

and the file is:
*/
digraph states {
size="3,2";
rankdir=LR;
node [shape=ellipse];
empty [label = "Empty"];
stolen [label = "Stolen"];
waiting [label = "Waiting"];
full [label = "Full"];
empty -> full [label = "return"]
empty -> stolen [label = "dispatch", wt=28]
stolen -> full [label = "return"];
stolen -> waiting [label = "touch"];
waiting -> full [label = "return"];
}

Output file 90: html/90.states.svg (3713 bytes)
Input file 91: data/90.structs.gv (307 bytes). Lex result: OK:
digraph structs {
node [shape=record];
struct1 [shape=record,label="<f0> left|<f1> middle|<f2> right"];
struct2 [shape=record,label="<f0> one|<f1> two"];
struct3 [shape=record,label="hello\nworld |{ b |{c|<here> d|e}| f}| g | h"];
struct1:f1 -> struct2:f0;
struct1:f2 -> struct3:here;
}

Output file 91: html/90.structs.svg (3831 bytes)
Input file 92: data/90.train11.gv (777 bytes). Lex result: OK:
digraph G {
size="6,6";
node [shape=circle,fontsize=8];
rankdir=LR;
st9 -> st9 [label="11/1"];
st9 -> st10 [label="10/1"];
st8 -> st8 [label="10/1"];
st8 -> st0 [label="00/-"];
st7 -> st8 [label="10/1"];
st7 -> st7 [label="00/1"];
st6 -> st6 [label="01/1"];
st6 -> st0 [label="00/-"];
st5 -> st6 [label="01/1"];
st5 -> st5 [label="11/1"];
st4 -> st4 [label="01/1"];
st4 -> st0 [label="00/-"];
st3 -> st4 [label="01/1"];
st3 -> st3 [label="00/1"];
st2 -> st9 [label="11/1"];
st2 -> st7 [label="00/1"];
st2 -> st2 [label="01/1"];
st10 -> st10 [label="10/1"];
st10 -> st0 [label="00/-"];
st1 -> st5 [label="11/1"];
st1 -> st3 [label="00/1"];
st1 -> st1 [label="10/1"];
st0 -> st2 [label="01/-"];
st0 -> st1 [label="10/-"];
st0 -> st0 [label="00/0"];
}

Output file 92: html/90.train11.svg (14011 bytes)
Input file 93: data/90.tree.gv (588 bytes). Lex result: OK:
digraph g {
node [shape = record,height=.1];
node0[label = "<f0> |<f1> G|<f2> "];
node1[label = "<f0> |<f1> E|<f2> "];
node2[label = "<f0> |<f1> B|<f2> "];
node3[label = "<f0> |<f1> F|<f2> "];
node4[label = "<f0> |<f1> R|<f2> "];
node5[label = "<f0> |<f1> H|<f2> "];
node6[label = "<f0> |<f1> Y|<f2> "];
node7[label = "<f0> |<f1> A|<f2> "];
node8[label = "<f0> |<f1> C|<f2> "];
"node0":f2 -> "node4":f1;
"node0":f0 -> "node1":f1;
"node1":f0 -> "node2":f1;
"node1":f2 -> "node3":f1;
"node2":f2 -> "node8":f1;
"node2":f0 -> "node7":f1;
"node4":f2 -> "node6":f1;
"node4":f0 -> "node5":f1;
}

Output file 93: html/90.tree.svg (8321 bytes)
Input file 94: data/90.try.gv (163 bytes). Lex result: OK:
digraph G {
subgraph cluster_small {
a -> b;
label=small;
}

subgraph cluster_big {
p -> q -> r -> s -> t;
label=big;
t -> p;
}

t -> a;
b -> q;
}

Output file 94: html/90.try.svg (5213 bytes)

Links

Index page for all graph module demos

Module and Script Attributes

State transition table


Environment

Author
Date
2013-11-29
OS
Debian V 7
Perl
5.14.2