Index of sample files created by GraphViz2::Marpa

# Index of sample files created by GraphViz2::Marpa V 1.09.

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 *.gv | Result 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 (579 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 (591 bytes)
Input file 10: data/10.gv (21 bytes). Lex result: OK: digraph graph_10 { } | Output file 10: html/10.svg (591 bytes)
Input file 11: data/11.gv (26 bytes). Lex result: OK: strict graph graph_11 { } | Output file 11: html/11.svg (591 bytes)
Input file 12: data/12.gv (19 bytes). Lex result: OK: graph graph_12 { } | Output file 12: html/12.svg (591 bytes)
Input file 13: data/13.gv (19 bytes). Lex result: OK: strict digraph { } | Output file 13: html/13.svg (579 bytes)
Input file 14: data/14.gv (30 bytes). Lex result: OK: digraph graph_14 { node_14 } | Output file 14: html/14.svg (851 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 (2009 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 (2209 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 (2202 bytes)
Input file 18: data/18.gv (49 bytes). Lex result: OK: digraph graph_18 { subgraph subgraph_18 { } } | Output file 18: html/18.svg (591 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 (591 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 (1434 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 (591 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 (851 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 (1120 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 (1118 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 (862 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 (862 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 (1456 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 (1567 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 (1434 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 (1064 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 (932 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 (1077 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 (2045 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 (1103 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 (2045 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 (862 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 (862 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 (1169 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 (1008 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 (862 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 (864 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 (870 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 (861 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 (861 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 (861 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 (865 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 (861 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 (865 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 (861 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 (865 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 (870 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 (865 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 (866 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 (1145 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 (1400 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 (2138 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 (2138 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 (2529 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 (2817 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 (3309 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 (828 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 (2235 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 (1693 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 (6444 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 (1060 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 (6541 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 (10711 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 (58115 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 (1615 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 (7143 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 (7477 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 (6007 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 (34308 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 (14628 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 (5683 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 (6053 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 (5899 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 (5901 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 (8124 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 (7845 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 (4629 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 (11782 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 (8211 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 (1952 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 (20294 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 (4183 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 (5854 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 (2545 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 (6482 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 (4005 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 (3843 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 (14023 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 (8333 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 (5225 bytes)

### Links

## Index page for all graph module demos

## Module and Script Attributes

## State transition table

### Environment

Author | Ron Savage
Date | 2013-05-31
OS | Debian V 6
Perl | 5.14.2