diff --git a/Graph Lambda Part.dot b/Graph Lambda Part.dot new file mode 100755 index 0000000..f26c4a7 --- /dev/null +++ b/Graph Lambda Part.dot @@ -0,0 +1,69 @@ +digraph G { + rankdir="TB" + subgraph cluster_7 { + margin=32 + ordering="in" + Application11 -> "λ Bool0"[label="Bool -> IrisClass"]; + label = "Variablendefinition Bool0"; + color=red + {rank="same"; Application11;"λ Bool0";} + } + + subgraph cluster_8 { + margin=32 + ordering="in" + Application16 -> Application17 [label="Float ->\n Float"]; + Application17 -> "2 *"[label="Float ->\n Float ->\n Float"]; + label = "Funktion *"; + color=blue + {rank="same"; Application16;Application17;"2 *";} + } + + subgraph cluster_9 { + margin=32 + ordering="in" + Application15 -> "2 FloatToBool0"[label="Float ->\n Bool"]; + label = "Funktion FloatToBool0"; + color=green + {rank="same"; Application15;"2 FloatToBool0";} + } + + subgraph cluster_10 { + margin=32 + ordering="in" + + Application12 -> Application13 [label="IrisClass ->\n IrisClass"]; + Application13 -> Application14 [label="IrisClass ->\n IrisClass ->\n IrisClass"]; + Application14 -> "2 if'"[label="Bool ->\n IrisClass ->\n IrisClass ->\n IrisClass"]; + label = "Funktion if'"; + color=blue + {rank="same"; Application12;Application13;Application14;"2 if'";} + } + + subgraph cluster_11 { + margin=32 + ordering="in" + "Bool0" + label = "Variable Bool0'"; + color=green + } + "λ Bool0"-> Application12 [label="IrisClass"]; + Application14 -> "Bool0"[label="Bool"]; + Application13 -> "Const: Virginica"[label="IrisClass"]; + Application12 -> "Const: Versicolor"[label="IrisClass"]; + Application11 -> Application15 [label="Bool"]; + Application15 -> Application16 [label="Float"]; + Application17 -> "Const: 2.4138098"[label="Float"]; + Application16 -> "Const: 8.027873"[label="Float"]; + + Application11 [label = Application]; + Application12 [label = Application]; + Application13 [label = Application]; + Application14 [label = Application]; + Application15 [label = Application]; + Application16 [label = Application]; + Application17 [label = Application]; + "2 *"[label = "*"]; + "2 FloatToBool0"[label = "FloatToBool0"]; + "2 if'"[label = "if'"]; +} diff --git a/Graph Lambda.dot b/Graph Lambda.dot new file mode 100755 index 0000000..b56bef1 --- /dev/null +++ b/Graph Lambda.dot @@ -0,0 +1,177 @@ +digraph G { + rankdir="LR" + //graph [ fontname=Arial, fontsize=24 ]; + //node [ fontname=Arial, fontsize=22]; + //edge [ fontname=Helvetica, fontsize=20 ]; + edge [constraint=false] + edge [labelfloat=true] + margin=0 + pad=0.2 + nodesep=0.4; + ranksep=0.02; + subgraph cluster_0 { + //margin=32 + App1 -> "λ lFloatToBool0" [xlabel="(Float ->\nBool) ->\nIrisClass"]; + label = "Var. Def. FloatToBool0"; + color=red + {rank="same"; App1; "λ lFloatToBool0";} + } + subgraph cluster_2 { + //margin=32 + App6 -> ">" [xlabel="Float ->\nFloat ->\nBool"]; + label = "Funktion >"; + color=blue + {rank="same"; App6; ">";} + } + subgraph cluster_3 { + //margin=32 + App9 -> App10 [xlabel="Float ->\nFloat"]; + App10 -> "+" [xlabel="Float ->\nFloat ->\nFloat"]; + label = "Funktion +"; + color=blue + {rank="same"; App9;App10; "+";} + } + subgraph cluster_4 { + //margin=32 + App7 -> App8 [xlabel="Float ->\nFloat"]; + App8 -> "*" [xlabel="Float ->\nFloat ->\nFloat"]; + label = "Funktion *"; + color=blue + {rank="same"; App7;App8; "*";} + } + + subgraph cluster_5 { + //margin=32 + App2 -> App3 [xlabel="IrisClass ->\nIrisClass"]; + App3 -> App4 [xlabel="IrisClass ->\nIrisClass ->\nIrisClass"]; + App4 -> "if'" [xlabel="Bool ->\nIrisClass ->\nIrisClass ->\nIrisClass"]; + label = "Funktion if'"; + color=blue + {rank="same"; App2;App3;App4 "if'";} + } + + subgraph cluster_6 { + //margin=32 + App5 ->"FloatToBool0" [xlabel="Float ->\nBool"]; + label = "Funktion FloatToBool0"; + color=green + {rank="same"; App5;"FloatToBool0";} + } + + subgraph cluster_7 { + //margin=32 + App11 -> "λ Bool0" [xlabel="Bool ->\nIrisClass"]; + label = "Var. Def. Bool0"; + color=red + {rank="same"; App11;"λ Bool0";} + } + + subgraph cluster_8 { + //margin=32 + App16 -> App17 [xlabel="Float ->\nFloat"]; + App17 -> "2 *" [xlabel="Float ->\nFloat ->\nFloat"]; + label = "Funktion *"; + color=blue + {rank="same"; App16;App17;"2 *";} + } + + subgraph cluster_9 { + //margin=32 + App15 -> "2 FloatToBool0" [xlabel="Float ->\nBool"]; + label = "Funktion FloatToBool0"; + color=green + {rank="same"; App15;"2 FloatToBool0";} + } + + subgraph cluster_10 { + //margin=32 + + App12 -> App13 [xlabel="IrisClass ->\nIrisClass"]; + App13 -> App14 [xlabel="IrisClass ->\nIrisClass ->\nIrisClass"]; + App14 -> "2 if'" [xlabel="Bool ->\nIrisClass ->\nIrisClass ->\nIrisClass"]; + label = "Funktion if'"; + color=blue + {rank="same"; App12;App13;App14;"2 if'";} + } + subgraph cluster_11 { + //margin=32 + "Bool0" + label = "Var Bool0'"; + color=green + } + subgraph cluster_12 { + //margin=32 + "Float0" + label = "Var Float0'"; + color=green + } + subgraph cluster_13 { + //margin=32 + "Float2" + label = "Var Float2'"; + color=green + } + subgraph cluster_14 { + //margin=32 + "Float3" + label = "Var Float3'"; + color=green + } + + //((\lFloat0 -> ((\lFloat1 ->\n((\lFloat2 ->\n((\lFloat3 ->\n)))))))) + //((\lFloatToBool0 ->\n(if' (lFloatToBool0 (7.5471354)) ((\lBool0 ->\n(if' (lBool0 ) (Virginica) (Versicolor))) (lFloatToBool0 ((*) (2.4138098) (8.027873)))) (Setosa))) ((>) ((*) ((+) (lFloat0 ) (lFloat2 )) (lFloat3 )))) + "λ Float0"-> "λ Float1" [xlabel="Float ->\nFloat ->\nFloat ->\nIrisClass"]; + "λ Float1"-> "λ Float2" [xlabel="Float ->\nFloat ->\nIrisClass"]; + "λ Float2"-> "λ Float3" [xlabel="Float ->\nIrisClass"]; + //edge [labelfloat=true] + edge [minlen=1, weight=1,constraint=true] + "λ Float3"-> "App1" [label="IrisClass"]; + "λ lFloatToBool0"-> App2 [taillabel="IrisClass", labeldistance=5]; + + //((>) ((*) ((+) (lFloat0 ) (lFloat2 )) (lFloat3 ))) + App1 -> App6 [taillabel="Float ->\nBool", labeldistance=7]; + App6 -> App7 [headlabel="Float", labeldistance=5]; + App7 -> "Float3" [label="Float"]; + App8 -> App9 [label="Float"]; + App9 -> "Float2" [label="Float"]; + App10 -> "Float0" [label="Float"]; + + //(if' (lFloatToBool0 (7.5471354)) ((\lBool0 ->\n(if' (lBool0 ) (Virginica) (Versicolor))) (lFloatToBool0 ((*) (2.4138098) (8.027873)))) (Setosa)) + App2 -> "Con1: Setosa" [label="IrisClass"]; + + //((\lBool0 -> (if' (lBool0 ) (Virginica) (Versicolor))) (lFloatToBool0 ((*) (2.4138098) (8.027873)))) + App3 -> App11 [label="IrisClass"]; + "λ Bool0"-> App12 [label="IrisClass"]; + App14 -> "Bool0" [label="Bool"]; + App13 -> "Con: Virginica" [label="IrisClass"]; + App12 -> "Con: Versicolor" [label="IrisClass"]; + App11 -> App15 [label="Bool"]; + App15 -> App16 [label="Float"]; + App17 -> "Con: 2.41" [label="Float"]; + App16 -> "Con: 8.03" [label="Float"]; + + //(lFloatToBool0 (7.5471354)) + App4 -> App5 [headlabel="Bool", labeldistance=9]; + App5 -> "Con: 7.55" [label="Float"]; + + App1 [label = App]; + App2 [label = App]; + App3 [label = App]; + App4 [label = App]; + App5 [label = App]; + App6 [label = App]; + App7 [label = App]; + App8 [label = App]; + App9 [label = App]; + App10 [label = App]; + App11 [label = App]; + App12 [label = App]; + App13 [label = App]; + App14 [label = App]; + App15 [label = App]; + App16 [label = App]; + App17 [label = App]; + "2 *" [label = "*"]; + "2 FloatToBool0" [label = "FloatToBool0"]; + "2 if'" [label = "if'"]; +}