GoldDot Samples
ParseTree Sample
WorldMaker.Util.GoldDot { #ParseTree { TrimReductions = true; TrimNodes = true; } } Rules { #Rule0 { color = "\"red\""; } }
// Generated by GoldDot.ParseTree by Max Battcher // Language Grammar: Generic Style Sheet [v0.1] digraph "Generic Style Sheet ParseTree" { "<Rules> ::= <Rule> <Rules> " [ color = "\"red\"" label = "<Rules> ::= <Rule> <Rules> " shape = polygon sides = 4 ] "<Rule> ::= <Object> { <Properties> } " [ label = "<Rule> ::= <Object> { <Properties> } " shape = polygon sides = 4 ] "<Object> ::= Identifier . <Object> " [ label = "<Object> ::= Identifier . <Object> " shape = polygon sides = 4 ] "WorldMaker" [ label = "WorldMaker" ] "<Object> ::= Identifier . <Object> " -> "WorldMaker" "." [ label = "." ] "<Object> ::= Identifier . <Object> " -> "." "<Object> ::= Identifier . <Object> " [ label = "<Object> ::= Identifier . <Object> " shape = polygon sides = 4 ] "Util" [ label = "Util" ] "<Object> ::= Identifier . <Object> " -> "Util" "." [ label = "." ] "<Object> ::= Identifier . <Object> " -> "." "<Object> ::= Identifier " [ label = "<Object> ::= Identifier " shape = polygon sides = 4 ] "GoldDot" [ label = "GoldDot" ] "<Object> ::= Identifier " -> "GoldDot" "<Object> ::= Identifier . <Object> " -> "<Object> ::= Identifier " "<Object> ::= Identifier . <Object> " -> "<Object> ::= Identifier . <Object> " "<Rule> ::= <Object> { <Properties> } " -> "<Object> ::= Identifier . <Object> " "{" [ label = "{" ] "<Rule> ::= <Object> { <Properties> } " -> "{" "<Rule> ::= <Object> { <Properties> } " [ label = "<Rule> ::= <Object> { <Properties> } " shape = polygon sides = 4 ] "<Object> ::= # Identifier " [ label = "<Object> ::= # Identifier " shape = polygon sides = 4 ] "#" [ label = "#" ] "<Object> ::= # Identifier " -> "#" "ParseTree" [ label = "ParseTree" ] "<Object> ::= # Identifier " -> "ParseTree" "<Rule> ::= <Object> { <Properties> } " -> "<Object> ::= # Identifier " "{" [ label = "{" ] "<Rule> ::= <Object> { <Properties> } " -> "{" "<Properties> ::= <Property> <Properties> " [ label = "<Properties> ::= <Property> <Properties> " shape = polygon sides = 4 ] "<Property> ::= Identifier = <Valuelist> ; " [ label = "<Property> ::= Identifier = <Valuelist> ; " shape = polygon sides = 4 ] "TrimReductions" [ label = "TrimReductions" ] "<Property> ::= Identifier = <Valuelist> ; " -> "TrimReductions" "=" [ label = "=" ] "<Property> ::= Identifier = <Valuelist> ; " -> "=" "<Object> ::= Identifier " [ label = "<Object> ::= Identifier " shape = polygon sides = 4 ] "true" [ label = "true" ] "<Object> ::= Identifier " -> "true" "<Property> ::= Identifier = <Valuelist> ; " -> "<Object> ::= Identifier " ";" [ label = ";" ] "<Property> ::= Identifier = <Valuelist> ; " -> ";" "<Properties> ::= <Property> <Properties> " -> "<Property> ::= Identifier = <Valuelist> ; " "<Property> ::= Identifier = <Valuelist> ; " [ label = "<Property> ::= Identifier = <Valuelist> ; " shape = polygon sides = 4 ] "TrimNodes" [ label = "TrimNodes" ] "<Property> ::= Identifier = <Valuelist> ; " -> "TrimNodes" "=" [ label = "=" ] "<Property> ::= Identifier = <Valuelist> ; " -> "=" "<Object> ::= Identifier " [ label = "<Object> ::= Identifier " shape = polygon sides = 4 ] "true" [ label = "true" ] "<Object> ::= Identifier " -> "true" "<Property> ::= Identifier = <Valuelist> ; " -> "<Object> ::= Identifier " ";" [ label = ";" ] "<Property> ::= Identifier = <Valuelist> ; " -> ";" "<Properties> ::= <Property> <Properties> " -> "<Property> ::= Identifier = <Valuelist> ; " "<Rule> ::= <Object> { <Properties> } " -> "<Properties> ::= <Property> <Properties> " "}" [ label = "}" ] "<Rule> ::= <Object> { <Properties> } " -> "}" "<Rule> ::= <Object> { <Properties> } " -> "<Rule> ::= <Object> { <Properties> } " "}" [ label = "}" ] "<Rule> ::= <Object> { <Properties> } " -> "}" "<Rules> ::= <Rule> <Rules> " -> "<Rule> ::= <Object> { <Properties> } " "<Rule> ::= <Object> { <Properties> } " [ label = "<Rule> ::= <Object> { <Properties> } " shape = polygon sides = 4 ] "<Object> ::= Identifier " [ label = "<Object> ::= Identifier " shape = polygon sides = 4 ] "Rules" [ label = "Rules" ] "<Object> ::= Identifier " -> "Rules" "<Rule> ::= <Object> { <Properties> } " -> "<Object> ::= Identifier " "{" [ label = "{" ] "<Rule> ::= <Object> { <Properties> } " -> "{" "<Rule> ::= <Object> { <Properties> } " [ label = "<Rule> ::= <Object> { <Properties> } " shape = polygon sides = 4 ] "<Object> ::= # Identifier " [ label = "<Object> ::= # Identifier " shape = polygon sides = 4 ] "#" [ label = "#" ] "<Object> ::= # Identifier " -> "#" "Rule0" [ label = "Rule0" ] "<Object> ::= # Identifier " -> "Rule0" "<Rule> ::= <Object> { <Properties> } " -> "<Object> ::= # Identifier " "{" [ label = "{" ] "<Rule> ::= <Object> { <Properties> } " -> "{" "<Property> ::= Identifier = <Valuelist> ; " [ label = "<Property> ::= Identifier = <Valuelist> ; " shape = polygon sides = 4 ] "color" [ label = "color" ] "<Property> ::= Identifier = <Valuelist> ; " -> "color" "=" [ label = "=" ] "<Property> ::= Identifier = <Valuelist> ; " -> "=" "<Value> ::= StringLiteral " [ label = "<Value> ::= StringLiteral " shape = polygon sides = 4 ] "\"\\\"red\\\"\"" [ label = "\"\\\"red\\\"\"" ] "<Value> ::= StringLiteral " -> "\"\\\"red\\\"\"" "<Property> ::= Identifier = <Valuelist> ; " -> "<Value> ::= StringLiteral " ";" [ label = ";" ] "<Property> ::= Identifier = <Valuelist> ; " -> ";" "<Rule> ::= <Object> { <Properties> } " -> "<Property> ::= Identifier = <Valuelist> ; " "}" [ label = "}" ] "<Rule> ::= <Object> { <Properties> } " -> "}" "<Rule> ::= <Object> { <Properties> } " -> "<Rule> ::= <Object> { <Properties> } " "}" [ label = "}" ] "<Rule> ::= <Object> { <Properties> } " -> "}" "<Rules> ::= <Rule> <Rules> " -> "<Rule> ::= <Object> { <Properties> } " } // Generated: 1/3/2004 00:17:42
DfaGraph Example
// GSS file for DFA Test DfaGraph { Accepts { label = ""; color = "\"red\""; } Edges { color = "\"blue\""; label = ""; } }
// Generated by GoldDot.DfaGraph by Max Battcher // Language Grammar: Generic Style Sheet [v0.1] digraph "Generic Style Sheet DfaGraph" { state0 [ label = "0" color = "red" ] state0 -> state1 [ color = "\"blue\"" label = "" ] state1 [ label = "1" ] state1 -> state1 [ color = "\"blue\"" label = "" ] symbol0 [ label = "(Whitespace)" ] state1 -> symbol0 [ label = "" color = "\"red\"" ] state0 -> state2 [ color = "\"blue\"" label = "" ] state2 [ label = "2" ] state2 -> state3 [ color = "\"blue\"" label = "" ] state3 [ label = "3" ] state3 -> state3 [ color = "\"blue\"" label = "" ] state3 -> state4 [ color = "\"blue\"" label = "" ] state4 [ label = "4" ] symbol1 [ label = "StringLiteral" ] state4 -> symbol1 [ label = "" color = "\"red\"" ] state3 -> state5 [ color = "\"blue\"" label = "" ] state5 [ label = "5" ] state5 -> state6 [ color = "\"blue\"" label = "" ] state6 [ label = "6" ] state6 -> state3 [ color = "\"blue\"" label = "" ] state6 -> state4 [ color = "\"blue\"" label = "" ] state6 -> state5 [ color = "\"blue\"" label = "" ] state2 -> state4 [ color = "\"blue\"" label = "" ] state2 -> state5 [ color = "\"blue\"" label = "" ] state0 -> state7 [ color = "\"blue\"" label = "" ] state7 [ label = "7" ] symbol2 [ label = "#" ] state7 -> symbol2 [ label = "" color = "\"red\"" ] state0 -> state8 [ color = "\"blue\"" label = "" ] state8 [ label = "8" ] symbol3 [ label = "(" ] state8 -> symbol3 [ label = "" color = "\"red\"" ] state0 -> state9 [ color = "\"blue\"" label = "" ] state9 [ label = "9" ] symbol4 [ label = ")" ] state9 -> symbol4 [ label = "" color = "\"red\"" ] state0 -> state10 [ color = "\"blue\"" label = "" ] state10 [ label = "10" ] state10 -> state11 [ color = "\"blue\"" label = "" ] state11 [ label = "11" ] symbol5 [ label = "(Comment End)" ] state11 -> symbol5 [ label = "" color = "\"red\"" ] state0 -> state12 [ color = "\"blue\"" label = "" ] state12 [ label = "12" ] symbol6 [ label = "," ] state12 -> symbol6 [ label = "" color = "\"red\"" ] state0 -> state13 [ color = "\"blue\"" label = "" ] state13 [ label = "13" ] symbol7 [ label = "." ] state13 -> symbol7 [ label = "" color = "\"red\"" ] state0 -> state14 [ color = "\"blue\"" label = "" ] state14 [ label = "14" ] state14 -> state15 [ color = "\"blue\"" label = "" ] state15 [ label = "15" ] symbol8 [ label = "(Comment Start)" ] state15 -> symbol8 [ label = "" color = "\"red\"" ] state14 -> state16 [ color = "\"blue\"" label = "" ] state16 [ label = "16" ] symbol9 [ label = "(Comment Line)" ] state16 -> symbol9 [ label = "" color = "\"red\"" ] state0 -> state17 [ color = "\"blue\"" label = "" ] state17 [ label = "17" ] state17 -> state18 [ color = "\"blue\"" label = "" ] state18 [ label = "18" ] state18 -> state19 [ color = "\"blue\"" label = "" ] state19 [ label = "19" ] state19 -> state19 [ color = "\"blue\"" label = "" ] symbol10 [ label = "FloatLiteral" ] state19 -> symbol10 [ label = "" color = "\"red\"" ] state17 -> state17 [ color = "\"blue\"" label = "" ] symbol11 [ label = "IntegerLiteral" ] state17 -> symbol11 [ label = "" color = "\"red\"" ] state0 -> state20 [ color = "\"blue\"" label = "" ] state20 [ label = "20" ] symbol12 [ label = ";" ] state20 -> symbol12 [ label = "" color = "\"red\"" ] state0 -> state21 [ color = "\"blue\"" label = "" ] state21 [ label = "21" ] symbol13 [ label = "=" ] state21 -> symbol13 [ label = "" color = "\"red\"" ] state0 -> state22 [ color = "\"blue\"" label = "" ] state22 [ label = "22" ] state22 -> state23 [ color = "\"blue\"" label = "" ] state23 [ label = "23" ] state23 -> state23 [ color = "\"blue\"" label = "" ] symbol14 [ label = "Identifier" ] state23 -> symbol14 [ label = "" color = "\"red\"" ] symbol15 [ label = "Identifier" ] state22 -> symbol15 [ label = "" color = "\"red\"" ] state0 -> state24 [ color = "\"blue\"" label = "" ] state24 [ label = "24" ] symbol16 [ label = "{" ] state24 -> symbol16 [ label = "" color = "\"red\"" ] state0 -> state25 [ color = "\"blue\"" label = "" ] state25 [ label = "25" ] symbol17 [ label = "}" ] state25 -> symbol17 [ label = "" color = "\"red\"" ] } // Generated: 1/3/2004 03:12:52
LalrGraph Sample
LALR graphs get large fairly quickly, and while GoldDot doesn't seem to have much trouble with it, DOT can.
WorldMaker.Util.GoldDot.LalrGraph { ShortRuleLabels = true; TrimRules = true; } LalrGraph { Gotos { label = "\"\""; color = "\"black\""; } Reduces { label = "\"\""; color = "\"magenta\""; } Shifts { label = "\"\""; color = "\"blue\""; } Accept { label = "\"\""; color = "\"green\""; } }
// Generated by GoldDot.LalrGraph by Max Battcher // Language Grammar: Generic Style Sheet [v0.1] digraph "Generic Style Sheet LalrGraph" { graph [ nodesep = 100 ] state0 [ label = "0" color = "red" ] state0 -> state1 [ label = "" color = "blue" ] state1 [ label = "1" ] state1 -> state2 [ label = "" color = "blue" ] state2 [ label = "2" ] state2 -> rule18 [ label = "" color = "magenta" ] rule18 [ label = "18" shape = polygon sides = 4 ] state2 -> rule18 [ label = "" color = "magenta" ] rule18 [ label = "18" shape = polygon sides = 4 ] state2 -> rule18 [ label = "" color = "magenta" ] rule18 [ label = "18" shape = polygon sides = 4 ] state2 -> rule18 [ label = "" color = "magenta" ] rule18 [ label = "18" shape = polygon sides = 4 ] state2 -> rule18 [ label = "" color = "magenta" ] rule18 [ label = "18" shape = polygon sides = 4 ] state0 -> state3 [ label = "" color = "blue" ] state3 [ label = "3" ] state3 -> state4 [ label = "" color = "blue" ] state4 [ label = "4" ] state4 -> state1 [ label = "" color = "blue" ] state4 -> state3 [ label = "" color = "blue" ] state4 -> state5 [ label = "" color = "black" ] state5 [ label = "5" ] state5 -> rule16 [ label = "" color = "magenta" ] rule16 [ label = "16" shape = polygon sides = 4 ] state5 -> rule16 [ label = "" color = "magenta" ] rule16 [ label = "16" shape = polygon sides = 4 ] state5 -> rule16 [ label = "" color = "magenta" ] rule16 [ label = "16" shape = polygon sides = 4 ] state5 -> rule16 [ label = "" color = "magenta" ] rule16 [ label = "16" shape = polygon sides = 4 ] state5 -> rule16 [ label = "" color = "magenta" ] rule16 [ label = "16" shape = polygon sides = 4 ] state3 -> rule17 [ label = "" color = "magenta" ] rule17 [ label = "17" shape = polygon sides = 4 ] state3 -> rule17 [ label = "" color = "magenta" ] rule17 [ label = "17" shape = polygon sides = 4 ] state3 -> rule17 [ label = "" color = "magenta" ] rule17 [ label = "17" shape = polygon sides = 4 ] state3 -> rule17 [ label = "" color = "magenta" ] rule17 [ label = "17" shape = polygon sides = 4 ] state3 -> rule17 [ label = "" color = "magenta" ] rule17 [ label = "17" shape = polygon sides = 4 ] state0 -> state6 [ label = "" color = "black" ] state6 [ label = "6" ] state6 -> state7 [ label = "" color = "blue" ] state7 [ label = "7" ] state7 -> state1 [ label = "" color = "blue" ] state7 -> state8 [ label = "" color = "blue" ] state8 [ label = "8" ] state8 -> state4 [ label = "" color = "blue" ] state8 -> state9 [ label = "" color = "blue" ] state9 [ label = "9" ] state9 -> state1 [ label = "" color = "blue" ] state9 -> state10 [ label = "" color = "blue" ] state10 [ label = "10" ] state10 -> rule13 [ label = "" color = "magenta" ] rule13 [ label = "13" shape = polygon sides = 4 ] state10 -> rule13 [ label = "" color = "magenta" ] rule13 [ label = "13" shape = polygon sides = 4 ] state10 -> rule13 [ label = "" color = "magenta" ] rule13 [ label = "13" shape = polygon sides = 4 ] state9 -> state3 [ label = "" color = "blue" ] state9 -> state11 [ label = "" color = "blue" ] state11 [ label = "11" ] state11 -> rule12 [ label = "" color = "magenta" ] rule12 [ label = "12" shape = polygon sides = 4 ] state11 -> rule12 [ label = "" color = "magenta" ] rule12 [ label = "12" shape = polygon sides = 4 ] state11 -> rule12 [ label = "" color = "magenta" ] rule12 [ label = "12" shape = polygon sides = 4 ] state9 -> state12 [ label = "" color = "blue" ] state12 [ label = "12" ] state12 -> rule11 [ label = "" color = "magenta" ] rule11 [ label = "11" shape = polygon sides = 4 ] state12 -> rule11 [ label = "" color = "magenta" ] rule11 [ label = "11" shape = polygon sides = 4 ] state12 -> rule11 [ label = "" color = "magenta" ] rule11 [ label = "11" shape = polygon sides = 4 ] state9 -> state13 [ label = "" color = "black" ] state13 [ label = "13" ] state13 -> state14 [ label = "" color = "blue" ] state14 [ label = "14" ] state14 -> state1 [ label = "" color = "blue" ] state14 -> state15 [ label = "" color = "blue" ] state15 [ label = "15" ] state15 -> rule15 [ label = "" color = "magenta" ] rule15 [ label = "15" shape = polygon sides = 4 ] state15 -> rule15 [ label = "" color = "magenta" ] rule15 [ label = "15" shape = polygon sides = 4 ] state15 -> rule15 [ label = "" color = "magenta" ] rule15 [ label = "15" shape = polygon sides = 4 ] state14 -> state10 [ label = "" color = "blue" ] state14 -> state3 [ label = "" color = "blue" ] state14 -> state11 [ label = "" color = "blue" ] state14 -> state12 [ label = "" color = "blue" ] state14 -> state13 [ label = "" color = "black" ] state14 -> state16 [ label = "" color = "black" ] state16 [ label = "16" ] state16 -> state17 [ label = "" color = "blue" ] state17 [ label = "17" ] state17 -> state1 [ label = "" color = "blue" ] state17 -> state10 [ label = "" color = "blue" ] state17 -> state3 [ label = "" color = "blue" ] state17 -> state11 [ label = "" color = "blue" ] state17 -> state12 [ label = "" color = "blue" ] state17 -> state13 [ label = "" color = "black" ] state17 -> state16 [ label = "" color = "black" ] state17 -> state18 [ label = "" color = "black" ] state18 [ label = "18" ] state18 -> rule8 [ label = "" color = "magenta" ] rule8 [ label = "8" shape = polygon sides = 4 ] state18 -> rule8 [ label = "" color = "magenta" ] rule8 [ label = "8" shape = polygon sides = 4 ] state16 -> rule9 [ label = "" color = "magenta" ] rule9 [ label = "9" shape = polygon sides = 4 ] state16 -> rule9 [ label = "" color = "magenta" ] rule9 [ label = "9" shape = polygon sides = 4 ] state14 -> state19 [ label = "" color = "black" ] state19 [ label = "19" ] state19 -> state20 [ label = "" color = "blue" ] state20 [ label = "20" ] state20 -> rule14 [ label = "" color = "magenta" ] rule14 [ label = "14" shape = polygon sides = 4 ] state20 -> rule14 [ label = "" color = "magenta" ] rule14 [ label = "14" shape = polygon sides = 4 ] state20 -> rule14 [ label = "" color = "magenta" ] rule14 [ label = "14" shape = polygon sides = 4 ] state13 -> rule10 [ label = "" color = "magenta" ] rule10 [ label = "10" shape = polygon sides = 4 ] state13 -> rule10 [ label = "" color = "magenta" ] rule10 [ label = "10" shape = polygon sides = 4 ] state13 -> rule10 [ label = "" color = "magenta" ] rule10 [ label = "10" shape = polygon sides = 4 ] state9 -> state16 [ label = "" color = "black" ] state9 -> state21 [ label = "" color = "black" ] state21 [ label = "21" ] state21 -> state22 [ label = "" color = "blue" ] state22 [ label = "22" ] state22 -> rule7 [ label = "" color = "magenta" ] rule7 [ label = "7" shape = polygon sides = 4 ] state22 -> rule7 [ label = "" color = "magenta" ] rule7 [ label = "7" shape = polygon sides = 4 ] state22 -> rule7 [ label = "" color = "magenta" ] rule7 [ label = "7" shape = polygon sides = 4 ] state8 -> rule17 [ label = "" color = "magenta" ] rule17 [ label = "17" shape = polygon sides = 4 ] state7 -> state6 [ label = "" color = "black" ] state7 -> state23 [ label = "" color = "black" ] state23 [ label = "23" ] state23 -> state24 [ label = "" color = "blue" ] state24 [ label = "24" ] state24 -> rule2 [ label = "" color = "magenta" ] rule2 [ label = "2" shape = polygon sides = 4 ] state24 -> rule2 [ label = "" color = "magenta" ] rule2 [ label = "2" shape = polygon sides = 4 ] state24 -> rule2 [ label = "" color = "magenta" ] rule2 [ label = "2" shape = polygon sides = 4 ] state24 -> rule2 [ label = "" color = "magenta" ] rule2 [ label = "2" shape = polygon sides = 4 ] state7 -> state25 [ label = "" color = "black" ] state25 [ label = "25" ] state25 -> state1 [ label = "" color = "blue" ] state25 -> state8 [ label = "" color = "blue" ] state25 -> state6 [ label = "" color = "black" ] state25 -> state26 [ label = "" color = "black" ] state26 [ label = "26" ] state26 -> rule3 [ label = "" color = "magenta" ] rule3 [ label = "3" shape = polygon sides = 4 ] state25 -> state25 [ label = "" color = "black" ] state25 -> state27 [ label = "" color = "black" ] state27 [ label = "27" ] state27 -> state1 [ label = "" color = "blue" ] state27 -> state8 [ label = "" color = "blue" ] state27 -> state6 [ label = "" color = "black" ] state27 -> state28 [ label = "" color = "black" ] state28 [ label = "28" ] state28 -> rule5 [ label = "" color = "magenta" ] rule5 [ label = "5" shape = polygon sides = 4 ] state27 -> state25 [ label = "" color = "black" ] state27 -> state27 [ label = "" color = "black" ] state27 -> rule6 [ label = "" color = "magenta" ] rule6 [ label = "6" shape = polygon sides = 4 ] state25 -> rule4 [ label = "" color = "magenta" ] rule4 [ label = "4" shape = polygon sides = 4 ] state7 -> state27 [ label = "" color = "black" ] state0 -> state29 [ label = "" color = "black" ] state29 [ label = "29" ] state29 -> state1 [ label = "" color = "blue" ] state29 -> state3 [ label = "" color = "blue" ] state29 -> state6 [ label = "" color = "black" ] state29 -> state29 [ label = "" color = "black" ] state29 -> state30 [ label = "" color = "black" ] state30 [ label = "30" ] state30 -> rule0 [ label = "" color = "magenta" ] rule0 [ label = "0" shape = polygon sides = 4 ] state29 -> rule1 [ label = "" color = "magenta" ] rule1 [ label = "1" shape = polygon sides = 4 ] state0 -> state31 [ label = "" color = "black" ] state31 [ label = "31" ] state31 -> accept [ label = "" color = "green" ] accept [ label = "" color = "green" ] } // Generated: 1/4/2004 04:00:11