From e4dc3273f201ae741637b626998637cce973546b Mon Sep 17 00:00:00 2001 From: Cliff Click Date: Fri, 2 Oct 2026 13:04:34 -0700 Subject: First pass README updates --- chapter05/docs/05-graph1.json | 25 ++ chapter05/docs/05-graph1.svg | 348 ++++++++---------------- chapter05/docs/05-graph2.json | 27 ++ chapter05/docs/05-graph2.svg | 354 +++++++++--------------- chapter05/docs/05-graph3.json | 28 ++ chapter05/docs/05-graph3.svg | 343 +++++++++-------------- chapter05/docs/05-graph4.json | 28 ++ chapter05/docs/05-graph4.svg | 343 +++++++++-------------- chapter05/docs/05-graph5.json | 27 ++ chapter05/docs/05-graph5.svg | 318 +++++++++------------- chapter05/docs/05-graph6.json | 26 ++ chapter05/docs/05-graph6.svg | 293 ++++++++------------ chapter05/docs/05-graph7.json | 31 +++ chapter05/docs/05-graph7.svg | 409 ++++++++++------------------ chapter05/docs/05-graph8.json | 45 +++ chapter05/docs/05-graph8.svg | 618 +++++++++++++----------------------------- chapter05/docs/05-graph9.json | 26 ++ chapter05/docs/05-graph9.svg | 291 ++++++++------------ chapter05/docs/Makefile | 13 +- 19 files changed, 1447 insertions(+), 2146 deletions(-) create mode 100644 chapter05/docs/05-graph1.json create mode 100644 chapter05/docs/05-graph2.json create mode 100644 chapter05/docs/05-graph3.json create mode 100644 chapter05/docs/05-graph4.json create mode 100644 chapter05/docs/05-graph5.json create mode 100644 chapter05/docs/05-graph6.json create mode 100644 chapter05/docs/05-graph7.json create mode 100644 chapter05/docs/05-graph8.json create mode 100644 chapter05/docs/05-graph9.json (limited to 'chapter05/docs') diff --git a/chapter05/docs/05-graph1.json b/chapter05/docs/05-graph1.json new file mode 100644 index 00000000..a2b4a7bd --- /dev/null +++ b/chapter05/docs/05-graph1.json @@ -0,0 +1,25 @@ +{ + "ver": 1, + "comp": "chapter05/docs/05-graph1.svg", + "step": 1, + "roots": [], + "scope": 0, + "nodes": [ + {"id": 1, "label": "Scope", "type": null, "kind": "SCOPE", "edges": [{"idx": 0, "def": 11, "role": "ASSOC", "label": "0: $ctrl"}, {"idx": 1, "def": 10, "role": "ASSOC", "label": "0: arg"}, {"idx": 2, "def": 14, "role": "ASSOC", "label": "1: a"}], "proj": null}, + {"id": 2, "label": "Start", "type": null, "kind": "CTRL", "edges": [], "proj": null}, + {"id": 4, "label": "Scope", "type": null, "kind": "SCOPE", "edges": [{"idx": 0, "def": 12, "role": "ASSOC", "label": "0: $ctrl"}, {"idx": 1, "def": 10, "role": "ASSOC", "label": "0: arg"}, {"idx": 2, "def": 16, "role": "ASSOC", "label": "1: a"}], "proj": null}, + {"id": 6, "label": "$ctrl", "type": null, "kind": "CTRL", "edges": [{"idx": 0, "def": 2, "role": "CTRL", "label": null}], "proj": {"par": 2, "idx": 0}}, + {"id": 7, "label": "#1", "type": null, "kind": "DATA", "edges": [], "proj": null}, + {"id": 8, "label": "==", "type": null, "kind": "DATA", "edges": [{"idx": 0, "def": 0, "role": "DATA", "label": null}, {"idx": 1, "def": 10, "role": "DATA", "label": null}, {"idx": 2, "def": 7, "role": "DATA", "label": null}], "proj": null}, + {"id": 9, "label": "If", "type": null, "kind": "CTRL", "edges": [{"idx": 0, "def": 6, "role": "CTRL", "label": null}, {"idx": 1, "def": 8, "role": "DATA", "label": null}], "proj": null}, + {"id": 10, "label": "arg", "type": null, "kind": "DATA", "edges": [{"idx": 0, "def": 2, "role": "DATA", "label": null}], "proj": {"par": 2, "idx": 1}}, + {"id": 11, "label": "True", "type": null, "kind": "CTRL", "edges": [{"idx": 0, "def": 9, "role": "CTRL", "label": null}], "proj": {"par": 9, "idx": 0}}, + {"id": 12, "label": "False", "type": null, "kind": "CTRL", "edges": [{"idx": 0, "def": 9, "role": "CTRL", "label": null}], "proj": {"par": 9, "idx": 1}}, + {"id": 13, "label": "#2", "type": null, "kind": "DATA", "edges": [], "proj": null}, + {"id": 14, "label": "+", "type": null, "kind": "DATA", "edges": [{"idx": 0, "def": 0, "role": "DATA", "label": null}, {"idx": 1, "def": 10, "role": "DATA", "label": null}, {"idx": 2, "def": 13, "role": "DATA", "label": null}], "proj": null}, + {"id": 15, "label": "#3", "type": null, "kind": "DATA", "edges": [], "proj": null}, + {"id": 16, "label": "-", "type": null, "kind": "DATA", "edges": [{"idx": 0, "def": 0, "role": "DATA", "label": null}, {"idx": 1, "def": 10, "role": "DATA", "label": null}, {"idx": 2, "def": 15, "role": "DATA", "label": null}], "proj": null} + ], + "groups": [ + ] +} diff --git a/chapter05/docs/05-graph1.svg b/chapter05/docs/05-graph1.svg index efe0a0e8..97813974 100644 --- a/chapter05/docs/05-graph1.svg +++ b/chapter05/docs/05-graph1.svg @@ -1,228 +1,120 @@ - - - - - - -chapter05 - - -cluster_Nodes - - - -cluster_Scope1_0 - - - -cluster_Scope1_1 - - - -cluster_Scope12_0 - - - -cluster_Scope12_1 - - - - -Start2 - - -Start - - - -$ctrl - -arg - - - -Con_7 - -#1 - - - -EQNode8 - -== - - - -EQNode8->Start2:p1 - - -1 - - - -EQNode8->Con_7 - - -2 - - - -If9 - - -If - - - -True - - -False - - - -If9->Start2:p0 - - -0 - - - -If9->EQNode8 - - -1 - - - -Con_13 - -#2 - - - -Add14 - -+ - - - -Add14->Start2:p1 - - -1 - - - -Add14->Con_13 - - -2 - - - -Con_15 - -#3 - - - -Sub16 - -- - - - -Sub16->Start2:p1 - - -1 - - - -Sub16->Con_15 - - -2 - - - -Scope1_0 - - -0 - -$ctrl - -arg - - - -Scope1_0:Scope1_0_arg->Start2:p1 - - - - - -Scope1_0:Scope1_0_$ctrl->If9:p0 - - - - - -Scope1_1 - - -1 - -a - - - -Scope1_1:Scope1_1_a->Add14 - - - - - -Scope12_0 - - -0 - -$ctrl - -arg - - - -Scope12_0:Scope12_0_arg->Start2:p1 - - - - - -Scope12_0:Scope12_0_$ctrl->If9:p1 - - - - - -Scope12_1 - - -1 - -a - - - -Scope12_1:Scope12_1_a->Sub16 - - - - - +#1[0] → #11 · ASSOC · 0: $ctrl#1[1] → #10 · ASSOC · 0: arg#1[2] → #14 · ASSOC · 1: a#4[0] → #12 · ASSOC · 0: $ctrl#4[1] → #10 · ASSOC · 0: arg#4[2] → #16 · ASSOC · 1: a#8[1] → #10 · DATA#8[2] → #7 · DATA#9[0] → #6 · CTRL#9[1] → #8 · DATA#14[1] → #10 · DATA#14[2] → #13 · DATA#16[1] → #10 · DATA#16[2] → #15 · DATAScope  #1#1 Scope +Type not computed + +[0] → #11 ASSOC 0: $ctrl +[1] → #10 ASSOC 0: arg +[2] → #14 ASSOC 1: a0: $ctrl0: arg1: a012Start  #2#2 Start +Type not computed + +Scope  #4#4 Scope +Type not computed + +[0] → #12 ASSOC 0: $ctrl +[1] → #10 ASSOC 0: arg +[2] → #16 ASSOC 1: a0: $ctrl0: arg1: a012$ctrl  #6/0#6 $ctrl +Projection 0 of #2 +Type not computed + +[0] → #2 CTRL#1  #7#7 #1 +Type not computed + +==  #8#8 == +Type not computed + +[0] → — DATA +[1] → #10 DATA +[2] → #7 DATA012If  #9#9 If +Type not computed + +[0] → #6 CTRL +[1] → #8 DATA01arg  #10/1#10 arg +Projection 1 of #2 +Type not computed + +[0] → #2 DATATrue  #11/0#11 True +Projection 0 of #9 +Type not computed + +[0] → #9 CTRLFalse  #12/1#12 False +Projection 1 of #9 +Type not computed + +[0] → #9 CTRL#2  #13#13 #2 +Type not computed + ++  #14#14 + +Type not computed + +[0] → — DATA +[1] → #10 DATA +[2] → #13 DATA012#3  #15#15 #3 +Type not computed + +-  #16#16 - +Type not computed + +[0] → — DATA +[1] → #10 DATA +[2] → #15 DATA012 diff --git a/chapter05/docs/05-graph2.json b/chapter05/docs/05-graph2.json new file mode 100644 index 00000000..5980da2b --- /dev/null +++ b/chapter05/docs/05-graph2.json @@ -0,0 +1,27 @@ +{ + "ver": 1, + "comp": "chapter05/docs/05-graph2.svg", + "step": 1, + "roots": [], + "scope": 0, + "nodes": [ + {"id": 1, "label": "Scope", "type": null, "kind": "SCOPE", "edges": [{"idx": 0, "def": 17, "role": "ASSOC", "label": "0: $ctrl"}, {"idx": 1, "def": 5, "role": "ASSOC", "label": "0: arg"}, {"idx": 2, "def": 18, "role": "ASSOC", "label": "1: a"}], "proj": null}, + {"id": 2, "label": "Start", "type": null, "kind": "CTRL", "edges": [], "proj": null}, + {"id": 4, "label": "$ctrl", "type": null, "kind": "CTRL", "edges": [{"idx": 0, "def": 2, "role": "CTRL", "label": null}], "proj": {"par": 2, "idx": 0}}, + {"id": 5, "label": "arg", "type": null, "kind": "DATA", "edges": [{"idx": 0, "def": 2, "role": "DATA", "label": null}], "proj": {"par": 2, "idx": 1}}, + {"id": 6, "label": "True", "type": null, "kind": "CTRL", "edges": [{"idx": 0, "def": 9, "role": "CTRL", "label": null}], "proj": {"par": 9, "idx": 0}}, + {"id": 7, "label": "#1", "type": null, "kind": "DATA", "edges": [], "proj": null}, + {"id": 8, "label": "==", "type": null, "kind": "DATA", "edges": [{"idx": 0, "def": 0, "role": "DATA", "label": null}, {"idx": 1, "def": 5, "role": "DATA", "label": null}, {"idx": 2, "def": 7, "role": "DATA", "label": null}], "proj": null}, + {"id": 9, "label": "If", "type": null, "kind": "CTRL", "edges": [{"idx": 0, "def": 4, "role": "CTRL", "label": null}, {"idx": 1, "def": 8, "role": "DATA", "label": null}], "proj": null}, + {"id": 10, "label": "False", "type": null, "kind": "CTRL", "edges": [{"idx": 0, "def": 9, "role": "CTRL", "label": null}], "proj": {"par": 9, "idx": 1}}, + {"id": 13, "label": "#2", "type": null, "kind": "DATA", "edges": [], "proj": null}, + {"id": 14, "label": "+", "type": null, "kind": "DATA", "edges": [{"idx": 0, "def": 0, "role": "DATA", "label": null}, {"idx": 1, "def": 5, "role": "DATA", "label": null}, {"idx": 2, "def": 13, "role": "DATA", "label": null}], "proj": null}, + {"id": 15, "label": "#3", "type": null, "kind": "DATA", "edges": [], "proj": null}, + {"id": 16, "label": "-", "type": null, "kind": "DATA", "edges": [{"idx": 0, "def": 0, "role": "DATA", "label": null}, {"idx": 1, "def": 5, "role": "DATA", "label": null}, {"idx": 2, "def": 15, "role": "DATA", "label": null}], "proj": null}, + {"id": 17, "label": "Region", "type": null, "kind": "REGION", "edges": [{"idx": 0, "def": 0, "role": "DATA", "label": null}, {"idx": 1, "def": 6, "role": "CTRL", "label": null}, {"idx": 2, "def": 10, "role": "CTRL", "label": null}], "proj": null}, + {"id": 18, "label": "φ_a", "type": null, "kind": "PHI", "edges": [{"idx": 0, "def": 17, "role": "ASSOC", "label": null}, {"idx": 1, "def": 14, "role": "DATA", "label": null}, {"idx": 2, "def": 16, "role": "DATA", "label": null}], "proj": null} + ], + "groups": [ + {"id": 9, "par": 0, "nodes": [6, 8, 9, 10, 14, 16, 17, 18]} + ] +} diff --git a/chapter05/docs/05-graph2.svg b/chapter05/docs/05-graph2.svg index d5e48a9e..bd06978a 100644 --- a/chapter05/docs/05-graph2.svg +++ b/chapter05/docs/05-graph2.svg @@ -1,229 +1,125 @@ - - - - - - -chapter05 - - -cluster_Nodes - - - -cluster_Scope1_0 - - - -cluster_Scope1_1 - - - - -Start2 - - -Start - - - -$ctrl - -arg - - - -Con_7 - -#1 - - - -EQNode8 - -== - - - -EQNode8->Start2:p1 - - -1 - - - -EQNode8->Con_7 - - -2 - - - -If9 - - -If - - - -True - - -False - - - -If9->Start2:p0 - - -0 - - - -If9->EQNode8 - - -1 - - - -Con_13 - -#2 - - - -Add14 - -+ - - - -Add14->Start2:p1 - - -1 - - - -Add14->Con_13 - - -2 - - - -Con_15 - -#3 - - - -Sub16 - -- - - - -Sub16->Start2:p1 - - -1 - - - -Sub16->Con_15 - - -2 - - - -Region17 - -Region - - - -Region17->If9:p0 - - -1 - - - -Region17->If9:p1 - - -2 - - - -Phi_a18 - -φ_a - - - -Phi_a18->Add14 - - -1 - - - -Phi_a18->Sub16 - - -2 - - - -Phi_a18->Region17 - - -0 - - - -Scope1_0 - - -0 - -$ctrl - -arg - - - -Scope1_0:Scope1_0_arg->Start2:p1 - - - - - -Scope1_0:Scope1_0_$ctrl->Region17 - - - - - -Scope1_1 - - -1 - -a - - - -Scope1_1:Scope1_1_a->Phi_a18 - - - - - +#1[0] → #17 · ASSOC · 0: $ctrl#1[1] → #5 · ASSOC · 0: arg#1[2] → #18 · ASSOC · 1: a#8[1] → #5 · DATA#8[2] → #7 · DATA#9[0] → #4 · CTRL#9[1] → #8 · DATA#14[1] → #5 · DATA#14[2] → #13 · DATA#16[1] → #5 · DATA#16[2] → #15 · DATA#17[1] → #6 · CTRL#17[2] → #10 · CTRL#18[1] → #14 · DATA#18[2] → #16 · DATAScope  #1#1 Scope +Type not computed + +[0] → #17 ASSOC 0: $ctrl +[1] → #5 ASSOC 0: arg +[2] → #18 ASSOC 1: a0: $ctrl0: arg1: a012Start  #2#2 Start +Type not computed + +$ctrl  #4/0#4 $ctrl +Projection 0 of #2 +Type not computed + +[0] → #2 CTRLarg  #5/1#5 arg +Projection 1 of #2 +Type not computed + +[0] → #2 DATATrue  #6/0#6 True +Projection 0 of #9 +Type not computed + +[0] → #9 CTRL#1  #7#7 #1 +Type not computed + +==  #8#8 == +Type not computed + +[0] → — DATA +[1] → #5 DATA +[2] → #7 DATA012If  #9#9 If +Type not computed + +[0] → #4 CTRL +[1] → #8 DATA01False  #10/1#10 False +Projection 1 of #9 +Type not computed + +[0] → #9 CTRL#2  #13#13 #2 +Type not computed + ++  #14#14 + +Type not computed + +[0] → — DATA +[1] → #5 DATA +[2] → #13 DATA012#3  #15#15 #3 +Type not computed + +-  #16#16 - +Type not computed + +[0] → — DATA +[1] → #5 DATA +[2] → #15 DATA012Region  #17#17 Region +Type not computed + +[0] → — DATA +[1] → #6 CTRL +[2] → #10 CTRL012φ_a  #18#18 φ_a +Type not computed + +[0] → #17 ASSOC +[1] → #14 DATA +[2] → #16 DATA[0] → #17012If  #9If · 8 nodes−Fold region diff --git a/chapter05/docs/05-graph3.json b/chapter05/docs/05-graph3.json new file mode 100644 index 00000000..16d74821 --- /dev/null +++ b/chapter05/docs/05-graph3.json @@ -0,0 +1,28 @@ +{ + "ver": 1, + "comp": "chapter05/docs/05-graph3.svg", + "step": 1, + "roots": [], + "scope": 0, + "nodes": [ + {"id": 1, "label": "$ctrl", "type": null, "kind": "CTRL", "edges": [{"idx": 0, "def": 2, "role": "CTRL", "label": null}], "proj": {"par": 2, "idx": 0}}, + {"id": 2, "label": "Start", "type": null, "kind": "CTRL", "edges": [], "proj": null}, + {"id": 3, "label": "Stop", "type": null, "kind": "STOP", "edges": [{"idx": 0, "def": 19, "role": "CTRL", "label": null}], "proj": null}, + {"id": 4, "label": "arg", "type": null, "kind": "DATA", "edges": [{"idx": 0, "def": 2, "role": "DATA", "label": null}], "proj": {"par": 2, "idx": 1}}, + {"id": 5, "label": "True", "type": null, "kind": "CTRL", "edges": [{"idx": 0, "def": 9, "role": "CTRL", "label": null}], "proj": {"par": 9, "idx": 0}}, + {"id": 6, "label": "False", "type": null, "kind": "CTRL", "edges": [{"idx": 0, "def": 9, "role": "CTRL", "label": null}], "proj": {"par": 9, "idx": 1}}, + {"id": 7, "label": "#1", "type": null, "kind": "DATA", "edges": [], "proj": null}, + {"id": 8, "label": "==", "type": null, "kind": "DATA", "edges": [{"idx": 0, "def": 0, "role": "DATA", "label": null}, {"idx": 1, "def": 4, "role": "DATA", "label": null}, {"idx": 2, "def": 7, "role": "DATA", "label": null}], "proj": null}, + {"id": 9, "label": "If", "type": null, "kind": "CTRL", "edges": [{"idx": 0, "def": 1, "role": "CTRL", "label": null}, {"idx": 1, "def": 8, "role": "DATA", "label": null}], "proj": null}, + {"id": 13, "label": "#2", "type": null, "kind": "DATA", "edges": [], "proj": null}, + {"id": 14, "label": "+", "type": null, "kind": "DATA", "edges": [{"idx": 0, "def": 0, "role": "DATA", "label": null}, {"idx": 1, "def": 4, "role": "DATA", "label": null}, {"idx": 2, "def": 13, "role": "DATA", "label": null}], "proj": null}, + {"id": 15, "label": "#3", "type": null, "kind": "DATA", "edges": [], "proj": null}, + {"id": 16, "label": "-", "type": null, "kind": "DATA", "edges": [{"idx": 0, "def": 0, "role": "DATA", "label": null}, {"idx": 1, "def": 4, "role": "DATA", "label": null}, {"idx": 2, "def": 15, "role": "DATA", "label": null}], "proj": null}, + {"id": 17, "label": "Region", "type": null, "kind": "REGION", "edges": [{"idx": 0, "def": 0, "role": "DATA", "label": null}, {"idx": 1, "def": 5, "role": "CTRL", "label": null}, {"idx": 2, "def": 6, "role": "CTRL", "label": null}], "proj": null}, + {"id": 18, "label": "φ_a", "type": null, "kind": "PHI", "edges": [{"idx": 0, "def": 17, "role": "ASSOC", "label": null}, {"idx": 1, "def": 14, "role": "DATA", "label": null}, {"idx": 2, "def": 16, "role": "DATA", "label": null}], "proj": null}, + {"id": 19, "label": "Return", "type": null, "kind": "CTRL", "edges": [{"idx": 0, "def": 17, "role": "CTRL", "label": null}, {"idx": 1, "def": 18, "role": "DATA", "label": null}], "proj": null} + ], + "groups": [ + {"id": 9, "par": 0, "nodes": [5, 6, 8, 9, 14, 16, 17, 18]} + ] +} diff --git a/chapter05/docs/05-graph3.svg b/chapter05/docs/05-graph3.svg index 855fdc2c..50255072 100644 --- a/chapter05/docs/05-graph3.svg +++ b/chapter05/docs/05-graph3.svg @@ -1,216 +1,127 @@ - - - - - - -chapter05 - - -cluster_Nodes - - - - -Start2 - - -Start - - - -$ctrl - -arg - - - -Stop3 - -Stop - - - -Return19 - -Return - - - -Stop3->Return19 - - -0 - - - -Con_7 - -#1 - - - -EQNode8 - -== - - - -EQNode8->Start2:p1 - - -1 - - - -EQNode8->Con_7 - - -2 - - - -If9 - - -If - - - -True - - -False - - - -If9->Start2:p0 - - -0 - - - -If9->EQNode8 - - -1 - - - -Con_13 - -#2 - - - -Add14 - -+ - - - -Add14->Start2:p1 - - -1 - - - -Add14->Con_13 - - -2 - - - -Con_15 - -#3 - - - -Sub16 - -- - - - -Sub16->Start2:p1 - - -1 - - - -Sub16->Con_15 - - -2 - - - -Region17 - -Region - - - -Region17->If9:p0 - - -1 - - - -Region17->If9:p1 - - -2 - - - -Phi_a18 - -φ_a - - - -Phi_a18->Add14 - - -1 - - - -Phi_a18->Sub16 - - -2 - - - -Phi_a18->Region17 - - -0 - - - -Return19->Region17 - - -0 - - - -Return19->Phi_a18 - - -1 - - - +#3[0] → #19 · CTRL#8[1] → #4 · DATA#8[2] → #7 · DATA#9[0] → #1 · CTRL#9[1] → #8 · DATA#14[1] → #4 · DATA#14[2] → #13 · DATA#16[1] → #4 · DATA#16[2] → #15 · DATA#17[1] → #5 · CTRL#17[2] → #6 · CTRL#18[1] → #14 · DATA#18[2] → #16 · DATA#19[0] → #17 · CTRL#19[1] → #18 · DATA$ctrl  #1/0#1 $ctrl +Projection 0 of #2 +Type not computed + +[0] → #2 CTRLStart  #2#2 Start +Type not computed + +Stop  #3#3 Stop +Type not computed + +[0] → #19 CTRL0arg  #4/1#4 arg +Projection 1 of #2 +Type not computed + +[0] → #2 DATATrue  #5/0#5 True +Projection 0 of #9 +Type not computed + +[0] → #9 CTRLFalse  #6/1#6 False +Projection 1 of #9 +Type not computed + +[0] → #9 CTRL#1  #7#7 #1 +Type not computed + +==  #8#8 == +Type not computed + +[0] → — DATA +[1] → #4 DATA +[2] → #7 DATA012If  #9#9 If +Type not computed + +[0] → #1 CTRL +[1] → #8 DATA01#2  #13#13 #2 +Type not computed + ++  #14#14 + +Type not computed + +[0] → — DATA +[1] → #4 DATA +[2] → #13 DATA012#3  #15#15 #3 +Type not computed + +-  #16#16 - +Type not computed + +[0] → — DATA +[1] → #4 DATA +[2] → #15 DATA012Region  #17#17 Region +Type not computed + +[0] → — DATA +[1] → #5 CTRL +[2] → #6 CTRL012φ_a  #18#18 φ_a +Type not computed + +[0] → #17 ASSOC +[1] → #14 DATA +[2] → #16 DATA[0] → #17012Return  #19#19 Return +Type not computed + +[0] → #17 CTRL +[1] → #18 DATA01If  #9If · 8 nodes−Fold region diff --git a/chapter05/docs/05-graph4.json b/chapter05/docs/05-graph4.json new file mode 100644 index 00000000..36527f8d --- /dev/null +++ b/chapter05/docs/05-graph4.json @@ -0,0 +1,28 @@ +{ + "ver": 1, + "comp": "chapter05/docs/05-graph4.svg", + "step": 1, + "roots": [], + "scope": 0, + "nodes": [ + {"id": 1, "label": "$ctrl", "type": null, "kind": "CTRL", "edges": [{"idx": 0, "def": 2, "role": "CTRL", "label": null}], "proj": {"par": 2, "idx": 0}}, + {"id": 2, "label": "Start", "type": null, "kind": "CTRL", "edges": [], "proj": null}, + {"id": 3, "label": "Stop", "type": null, "kind": "STOP", "edges": [{"idx": 0, "def": 18, "role": "CTRL", "label": null}], "proj": null}, + {"id": 4, "label": "arg", "type": null, "kind": "DATA", "edges": [{"idx": 0, "def": 2, "role": "DATA", "label": null}], "proj": {"par": 2, "idx": 1}}, + {"id": 5, "label": "True", "type": null, "kind": "CTRL", "edges": [{"idx": 0, "def": 10, "role": "CTRL", "label": null}], "proj": {"par": 10, "idx": 0}}, + {"id": 6, "label": "#2", "type": null, "kind": "DATA", "edges": [], "proj": null}, + {"id": 7, "label": "==", "type": null, "kind": "DATA", "edges": [{"idx": 0, "def": 0, "role": "DATA", "label": null}, {"idx": 1, "def": 4, "role": "DATA", "label": null}, {"idx": 2, "def": 6, "role": "DATA", "label": null}], "proj": null}, + {"id": 8, "label": "#1", "type": null, "kind": "DATA", "edges": [], "proj": null}, + {"id": 9, "label": "==", "type": null, "kind": "DATA", "edges": [{"idx": 0, "def": 0, "role": "DATA", "label": null}, {"idx": 1, "def": 4, "role": "DATA", "label": null}, {"idx": 2, "def": 8, "role": "DATA", "label": null}], "proj": null}, + {"id": 10, "label": "If", "type": null, "kind": "CTRL", "edges": [{"idx": 0, "def": 1, "role": "CTRL", "label": null}, {"idx": 1, "def": 9, "role": "DATA", "label": null}], "proj": null}, + {"id": 11, "label": "False", "type": null, "kind": "CTRL", "edges": [{"idx": 0, "def": 10, "role": "CTRL", "label": null}], "proj": {"par": 10, "idx": 1}}, + {"id": 14, "label": "#3", "type": null, "kind": "DATA", "edges": [], "proj": null}, + {"id": 15, "label": "==", "type": null, "kind": "DATA", "edges": [{"idx": 0, "def": 0, "role": "DATA", "label": null}, {"idx": 1, "def": 4, "role": "DATA", "label": null}, {"idx": 2, "def": 14, "role": "DATA", "label": null}], "proj": null}, + {"id": 16, "label": "Region", "type": null, "kind": "REGION", "edges": [{"idx": 0, "def": 0, "role": "DATA", "label": null}, {"idx": 1, "def": 5, "role": "CTRL", "label": null}, {"idx": 2, "def": 11, "role": "CTRL", "label": null}], "proj": null}, + {"id": 17, "label": "φ_a", "type": null, "kind": "PHI", "edges": [{"idx": 0, "def": 16, "role": "ASSOC", "label": null}, {"idx": 1, "def": 15, "role": "DATA", "label": null}, {"idx": 2, "def": 7, "role": "DATA", "label": null}], "proj": null}, + {"id": 18, "label": "Return", "type": null, "kind": "CTRL", "edges": [{"idx": 0, "def": 16, "role": "CTRL", "label": null}, {"idx": 1, "def": 17, "role": "DATA", "label": null}], "proj": null} + ], + "groups": [ + {"id": 10, "par": 0, "nodes": [5, 7, 9, 10, 11, 15, 16, 17]} + ] +} diff --git a/chapter05/docs/05-graph4.svg b/chapter05/docs/05-graph4.svg index 3fcee500..58f0cb18 100644 --- a/chapter05/docs/05-graph4.svg +++ b/chapter05/docs/05-graph4.svg @@ -1,216 +1,127 @@ - - - - - - -chapter05 - - -cluster_Nodes - - - - -Start2 - - -Start - - - -$ctrl - -arg - - - -Stop3 - -Stop - - - -Return18 - -Return - - - -Stop3->Return18 - - -0 - - - -Con_6 - -#2 - - - -EQNode7 - -== - - - -EQNode7->Start2:p1 - - -1 - - - -EQNode7->Con_6 - - -2 - - - -Con_8 - -#1 - - - -EQNode9 - -== - - - -EQNode9->Start2:p1 - - -1 - - - -EQNode9->Con_8 - - -2 - - - -If10 - - -If - - - -True - - -False - - - -If10->Start2:p0 - - -0 - - - -If10->EQNode9 - - -1 - - - -Con_14 - -#3 - - - -EQNode15 - -== - - - -EQNode15->Start2:p1 - - -1 - - - -EQNode15->Con_14 - - -2 - - - -Region16 - -Region - - - -Region16->If10:p0 - - -1 - - - -Region16->If10:p1 - - -2 - - - -Phi_a17 - -φ_a - - - -Phi_a17->EQNode7 - - -2 - - - -Phi_a17->EQNode15 - - -1 - - - -Phi_a17->Region16 - - -0 - - - -Return18->Region16 - - -0 - - - -Return18->Phi_a17 - - -1 - - - +#3[0] → #18 · CTRL#7[1] → #4 · DATA#7[2] → #6 · DATA#9[1] → #4 · DATA#9[2] → #8 · DATA#10[0] → #1 · CTRL#10[1] → #9 · DATA#15[1] → #4 · DATA#15[2] → #14 · DATA#16[1] → #5 · CTRL#16[2] → #11 · CTRL#17[1] → #15 · DATA#17[2] → #7 · DATA#18[0] → #16 · CTRL#18[1] → #17 · DATA$ctrl  #1/0#1 $ctrl +Projection 0 of #2 +Type not computed + +[0] → #2 CTRLStart  #2#2 Start +Type not computed + +Stop  #3#3 Stop +Type not computed + +[0] → #18 CTRL0arg  #4/1#4 arg +Projection 1 of #2 +Type not computed + +[0] → #2 DATATrue  #5/0#5 True +Projection 0 of #10 +Type not computed + +[0] → #10 CTRL#2  #6#6 #2 +Type not computed + +==  #7#7 == +Type not computed + +[0] → — DATA +[1] → #4 DATA +[2] → #6 DATA012#1  #8#8 #1 +Type not computed + +==  #9#9 == +Type not computed + +[0] → — DATA +[1] → #4 DATA +[2] → #8 DATA012If  #10#10 If +Type not computed + +[0] → #1 CTRL +[1] → #9 DATA01False  #11/1#11 False +Projection 1 of #10 +Type not computed + +[0] → #10 CTRL#3  #14#14 #3 +Type not computed + +==  #15#15 == +Type not computed + +[0] → — DATA +[1] → #4 DATA +[2] → #14 DATA012Region  #16#16 Region +Type not computed + +[0] → — DATA +[1] → #5 CTRL +[2] → #11 CTRL012φ_a  #17#17 φ_a +Type not computed + +[0] → #16 ASSOC +[1] → #15 DATA +[2] → #7 DATA[0] → #16012Return  #18#18 Return +Type not computed + +[0] → #16 CTRL +[1] → #17 DATA01If  #10If · 8 nodes−Fold region diff --git a/chapter05/docs/05-graph5.json b/chapter05/docs/05-graph5.json new file mode 100644 index 00000000..b9dc070b --- /dev/null +++ b/chapter05/docs/05-graph5.json @@ -0,0 +1,27 @@ +{ + "ver": 1, + "comp": "chapter05/docs/05-graph5.svg", + "step": 1, + "roots": [], + "scope": 0, + "nodes": [ + {"id": 1, "label": "$ctrl", "type": null, "kind": "CTRL", "edges": [{"idx": 0, "def": 2, "role": "CTRL", "label": null}], "proj": {"par": 2, "idx": 0}}, + {"id": 2, "label": "Start", "type": null, "kind": "CTRL", "edges": [], "proj": null}, + {"id": 3, "label": "Stop", "type": null, "kind": "STOP", "edges": [{"idx": 0, "def": 21, "role": "CTRL", "label": null}], "proj": null}, + {"id": 4, "label": "arg", "type": null, "kind": "DATA", "edges": [{"idx": 0, "def": 2, "role": "DATA", "label": null}], "proj": {"par": 2, "idx": 1}}, + {"id": 5, "label": "True", "type": null, "kind": "CTRL", "edges": [{"idx": 0, "def": 10, "role": "CTRL", "label": null}], "proj": {"par": 10, "idx": 0}}, + {"id": 6, "label": "#2", "type": null, "kind": "DATA", "edges": [], "proj": null}, + {"id": 7, "label": "False", "type": null, "kind": "CTRL", "edges": [{"idx": 0, "def": 10, "role": "CTRL", "label": null}], "proj": {"par": 10, "idx": 1}}, + {"id": 8, "label": "#1", "type": null, "kind": "DATA", "edges": [], "proj": null}, + {"id": 9, "label": "==", "type": null, "kind": "DATA", "edges": [{"idx": 0, "def": 0, "role": "DATA", "label": null}, {"idx": 1, "def": 4, "role": "DATA", "label": null}, {"idx": 2, "def": 8, "role": "DATA", "label": null}], "proj": null}, + {"id": 10, "label": "If", "type": null, "kind": "CTRL", "edges": [{"idx": 0, "def": 1, "role": "CTRL", "label": null}, {"idx": 1, "def": 9, "role": "DATA", "label": null}], "proj": null}, + {"id": 14, "label": "#3", "type": null, "kind": "DATA", "edges": [], "proj": null}, + {"id": 16, "label": "Region", "type": null, "kind": "REGION", "edges": [{"idx": 0, "def": 0, "role": "DATA", "label": null}, {"idx": 1, "def": 5, "role": "CTRL", "label": null}, {"idx": 2, "def": 7, "role": "CTRL", "label": null}], "proj": null}, + {"id": 19, "label": "φ_a", "type": null, "kind": "PHI", "edges": [{"idx": 0, "def": 16, "role": "ASSOC", "label": null}, {"idx": 1, "def": 14, "role": "DATA", "label": null}, {"idx": 2, "def": 6, "role": "DATA", "label": null}], "proj": null}, + {"id": 20, "label": "==", "type": null, "kind": "DATA", "edges": [{"idx": 0, "def": 0, "role": "DATA", "label": null}, {"idx": 1, "def": 4, "role": "DATA", "label": null}, {"idx": 2, "def": 19, "role": "DATA", "label": null}], "proj": null}, + {"id": 21, "label": "Return", "type": null, "kind": "CTRL", "edges": [{"idx": 0, "def": 16, "role": "CTRL", "label": null}, {"idx": 1, "def": 20, "role": "DATA", "label": null}], "proj": null} + ], + "groups": [ + {"id": 10, "par": 0, "nodes": [5, 7, 9, 10, 16, 19]} + ] +} diff --git a/chapter05/docs/05-graph5.svg b/chapter05/docs/05-graph5.svg index 4f6fa4bd..4d137bda 100644 --- a/chapter05/docs/05-graph5.svg +++ b/chapter05/docs/05-graph5.svg @@ -1,196 +1,122 @@ - - - - - - -chapter05 - - -cluster_Nodes - - - - -Start2 - - -Start - - - -$ctrl - -arg - - - -Stop3 - -Stop - - - -Return21 - -Return - - - -Stop3->Return21 - - -0 - - - -Con_6 - -#2 - - - -Con_8 - -#1 - - - -EQNode9 - -== - - - -EQNode9->Start2:p1 - - -1 - - - -EQNode9->Con_8 - - -2 - - - -If10 - - -If - - - -True - - -False - - - -If10->Start2:p0 - - -0 - - - -If10->EQNode9 - - -1 - - - -Con_14 - -#3 - - - -Region16 - -Region - - - -Region16->If10:p0 - - -1 - - - -Region16->If10:p1 - - -2 - - - -Phi_a19 - -φ_a - - - -Phi_a19->Con_6 - - -2 - - - -Phi_a19->Con_14 - - -1 - - - -Phi_a19->Region16 - - -0 - - - -EQNode20 - -== - - - -EQNode20->Start2:p1 - - -1 - - - -EQNode20->Phi_a19 - - -2 - - - -Return21->Region16 - - -0 - - - -Return21->EQNode20 - - -1 - - - +#3[0] → #21 · CTRL#9[1] → #4 · DATA#9[2] → #8 · DATA#10[0] → #1 · CTRL#10[1] → #9 · DATA#16[1] → #5 · CTRL#16[2] → #7 · CTRL#19[1] → #14 · DATA#19[2] → #6 · DATA#20[1] → #4 · DATA#20[2] → #19 · DATA#21[0] → #16 · CTRL#21[1] → #20 · DATA$ctrl  #1/0#1 $ctrl +Projection 0 of #2 +Type not computed + +[0] → #2 CTRLStart  #2#2 Start +Type not computed + +Stop  #3#3 Stop +Type not computed + +[0] → #21 CTRL0arg  #4/1#4 arg +Projection 1 of #2 +Type not computed + +[0] → #2 DATATrue  #5/0#5 True +Projection 0 of #10 +Type not computed + +[0] → #10 CTRL#2  #6#6 #2 +Type not computed + +False  #7/1#7 False +Projection 1 of #10 +Type not computed + +[0] → #10 CTRL#1  #8#8 #1 +Type not computed + +==  #9#9 == +Type not computed + +[0] → — DATA +[1] → #4 DATA +[2] → #8 DATA012If  #10#10 If +Type not computed + +[0] → #1 CTRL +[1] → #9 DATA01#3  #14#14 #3 +Type not computed + +Region  #16#16 Region +Type not computed + +[0] → — DATA +[1] → #5 CTRL +[2] → #7 CTRL012φ_a  #19#19 φ_a +Type not computed + +[0] → #16 ASSOC +[1] → #14 DATA +[2] → #6 DATA[0] → #16012==  #20#20 == +Type not computed + +[0] → — DATA +[1] → #4 DATA +[2] → #19 DATA012Return  #21#21 Return +Type not computed + +[0] → #16 CTRL +[1] → #20 DATA01If  #10If · 6 nodes−Fold region diff --git a/chapter05/docs/05-graph6.json b/chapter05/docs/05-graph6.json new file mode 100644 index 00000000..1039bb08 --- /dev/null +++ b/chapter05/docs/05-graph6.json @@ -0,0 +1,26 @@ +{ + "ver": 1, + "comp": "chapter05/docs/05-graph6.svg", + "step": 1, + "roots": [], + "scope": 0, + "nodes": [ + {"id": 1, "label": "$ctrl", "type": null, "kind": "CTRL", "edges": [{"idx": 0, "def": 2, "role": "CTRL", "label": null}], "proj": {"par": 2, "idx": 0}}, + {"id": 2, "label": "Start", "type": null, "kind": "CTRL", "edges": [], "proj": null}, + {"id": 3, "label": "Stop", "type": null, "kind": "STOP", "edges": [{"idx": 0, "def": 19, "role": "CTRL", "label": null}], "proj": null}, + {"id": 4, "label": "arg", "type": null, "kind": "DATA", "edges": [{"idx": 0, "def": 2, "role": "DATA", "label": null}], "proj": {"par": 2, "idx": 1}}, + {"id": 5, "label": "True", "type": null, "kind": "CTRL", "edges": [{"idx": 0, "def": 10, "role": "CTRL", "label": null}], "proj": {"par": 10, "idx": 0}}, + {"id": 6, "label": "#3", "type": null, "kind": "DATA", "edges": [], "proj": null}, + {"id": 7, "label": "False", "type": null, "kind": "CTRL", "edges": [{"idx": 0, "def": 10, "role": "CTRL", "label": null}], "proj": {"par": 10, "idx": 1}}, + {"id": 8, "label": "#1", "type": null, "kind": "DATA", "edges": [], "proj": null}, + {"id": 9, "label": "==", "type": null, "kind": "DATA", "edges": [{"idx": 0, "def": 0, "role": "DATA", "label": null}, {"idx": 1, "def": 4, "role": "DATA", "label": null}, {"idx": 2, "def": 8, "role": "DATA", "label": null}], "proj": null}, + {"id": 10, "label": "If", "type": null, "kind": "CTRL", "edges": [{"idx": 0, "def": 1, "role": "CTRL", "label": null}, {"idx": 1, "def": 9, "role": "DATA", "label": null}], "proj": null}, + {"id": 15, "label": "#4", "type": null, "kind": "DATA", "edges": [], "proj": null}, + {"id": 16, "label": "Region", "type": null, "kind": "REGION", "edges": [{"idx": 0, "def": 0, "role": "DATA", "label": null}, {"idx": 1, "def": 5, "role": "CTRL", "label": null}, {"idx": 2, "def": 7, "role": "CTRL", "label": null}], "proj": null}, + {"id": 17, "label": "φ_c", "type": null, "kind": "PHI", "edges": [{"idx": 0, "def": 16, "role": "ASSOC", "label": null}, {"idx": 1, "def": 15, "role": "DATA", "label": null}, {"idx": 2, "def": 6, "role": "DATA", "label": null}], "proj": null}, + {"id": 19, "label": "Return", "type": null, "kind": "CTRL", "edges": [{"idx": 0, "def": 16, "role": "CTRL", "label": null}, {"idx": 1, "def": 17, "role": "DATA", "label": null}], "proj": null} + ], + "groups": [ + {"id": 10, "par": 0, "nodes": [5, 7, 9, 10, 16, 17]} + ] +} diff --git a/chapter05/docs/05-graph6.svg b/chapter05/docs/05-graph6.svg index 71527d7f..831a6a07 100644 --- a/chapter05/docs/05-graph6.svg +++ b/chapter05/docs/05-graph6.svg @@ -1,176 +1,117 @@ - - - - - - -chapter05 - - -cluster_Nodes - - - - -Start2 - - -Start - - - -$ctrl - -arg - - - -Stop3 - -Stop - - - -Return19 - -Return - - - -Stop3->Return19 - - -0 - - - -Con_6 - -#3 - - - -Con_8 - -#1 - - - -EQNode9 - -== - - - -EQNode9->Start2:p1 - - -1 - - - -EQNode9->Con_8 - - -2 - - - -If10 - - -If - - - -True - - -False - - - -If10->Start2:p0 - - -0 - - - -If10->EQNode9 - - -1 - - - -Con_15 - -#4 - - - -Region16 - -Region - - - -Region16->If10:p0 - - -1 - - - -Region16->If10:p1 - - -2 - - - -Phi_c17 - -φ_c - - - -Phi_c17->Con_6 - - -2 - - - -Phi_c17->Con_15 - - -1 - - - -Phi_c17->Region16 - - -0 - - - -Return19->Region16 - - -0 - - - -Return19->Phi_c17 - - -1 - - - +#3[0] → #19 · CTRL#9[1] → #4 · DATA#9[2] → #8 · DATA#10[0] → #1 · CTRL#10[1] → #9 · DATA#16[1] → #5 · CTRL#16[2] → #7 · CTRL#17[1] → #15 · DATA#17[2] → #6 · DATA#19[0] → #16 · CTRL#19[1] → #17 · DATA$ctrl  #1/0#1 $ctrl +Projection 0 of #2 +Type not computed + +[0] → #2 CTRLStart  #2#2 Start +Type not computed + +Stop  #3#3 Stop +Type not computed + +[0] → #19 CTRL0arg  #4/1#4 arg +Projection 1 of #2 +Type not computed + +[0] → #2 DATATrue  #5/0#5 True +Projection 0 of #10 +Type not computed + +[0] → #10 CTRL#3  #6#6 #3 +Type not computed + +False  #7/1#7 False +Projection 1 of #10 +Type not computed + +[0] → #10 CTRL#1  #8#8 #1 +Type not computed + +==  #9#9 == +Type not computed + +[0] → — DATA +[1] → #4 DATA +[2] → #8 DATA012If  #10#10 If +Type not computed + +[0] → #1 CTRL +[1] → #9 DATA01#4  #15#15 #4 +Type not computed + +Region  #16#16 Region +Type not computed + +[0] → — DATA +[1] → #5 CTRL +[2] → #7 CTRL012φ_c  #17#17 φ_c +Type not computed + +[0] → #16 ASSOC +[1] → #15 DATA +[2] → #6 DATA[0] → #16012Return  #19#19 Return +Type not computed + +[0] → #16 CTRL +[1] → #17 DATA01If  #10If · 6 nodes−Fold region diff --git a/chapter05/docs/05-graph7.json b/chapter05/docs/05-graph7.json new file mode 100644 index 00000000..df6cf547 --- /dev/null +++ b/chapter05/docs/05-graph7.json @@ -0,0 +1,31 @@ +{ + "ver": 1, + "comp": "chapter05/docs/05-graph7.svg", + "step": 1, + "roots": [], + "scope": 0, + "nodes": [ + {"id": 1, "label": "$ctrl", "type": null, "kind": "CTRL", "edges": [{"idx": 0, "def": 2, "role": "CTRL", "label": null}], "proj": {"par": 2, "idx": 0}}, + {"id": 2, "label": "Start", "type": null, "kind": "CTRL", "edges": [], "proj": null}, + {"id": 3, "label": "Stop", "type": null, "kind": "STOP", "edges": [{"idx": 0, "def": 51, "role": "CTRL", "label": null}], "proj": null}, + {"id": 4, "label": "arg", "type": null, "kind": "DATA", "edges": [{"idx": 0, "def": 2, "role": "DATA", "label": null}], "proj": {"par": 2, "idx": 1}}, + {"id": 5, "label": "True", "type": null, "kind": "CTRL", "edges": [{"idx": 0, "def": 12, "role": "CTRL", "label": null}], "proj": {"par": 12, "idx": 0}}, + {"id": 6, "label": "False", "type": null, "kind": "CTRL", "edges": [{"idx": 0, "def": 12, "role": "CTRL", "label": null}], "proj": {"par": 12, "idx": 1}}, + {"id": 10, "label": "#1", "type": null, "kind": "DATA", "edges": [], "proj": null}, + {"id": 11, "label": "==", "type": null, "kind": "DATA", "edges": [{"idx": 0, "def": 0, "role": "DATA", "label": null}, {"idx": 1, "def": 4, "role": "DATA", "label": null}, {"idx": 2, "def": 10, "role": "DATA", "label": null}], "proj": null}, + {"id": 12, "label": "If", "type": null, "kind": "CTRL", "edges": [{"idx": 0, "def": 1, "role": "CTRL", "label": null}, {"idx": 1, "def": 11, "role": "DATA", "label": null}], "proj": null}, + {"id": 19, "label": "#2", "type": null, "kind": "DATA", "edges": [], "proj": null}, + {"id": 20, "label": "*", "type": null, "kind": "DATA", "edges": [{"idx": 0, "def": 0, "role": "DATA", "label": null}, {"idx": 1, "def": 4, "role": "DATA", "label": null}, {"idx": 2, "def": 19, "role": "DATA", "label": null}], "proj": null}, + {"id": 31, "label": "Region", "type": null, "kind": "REGION", "edges": [{"idx": 0, "def": 0, "role": "DATA", "label": null}, {"idx": 1, "def": 5, "role": "CTRL", "label": null}, {"idx": 2, "def": 6, "role": "CTRL", "label": null}], "proj": null}, + {"id": 37, "label": "φ_b", "type": null, "kind": "PHI", "edges": [{"idx": 0, "def": 31, "role": "ASSOC", "label": null}, {"idx": 1, "def": 20, "role": "DATA", "label": null}, {"idx": 2, "def": 4, "role": "DATA", "label": null}], "proj": null}, + {"id": 42, "label": "+", "type": null, "kind": "DATA", "edges": [{"idx": 0, "def": 0, "role": "DATA", "label": null}, {"idx": 1, "def": 37, "role": "DATA", "label": null}, {"idx": 2, "def": 4, "role": "DATA", "label": null}], "proj": null}, + {"id": 46, "label": "#4", "type": null, "kind": "DATA", "edges": [], "proj": null}, + {"id": 48, "label": "#5", "type": null, "kind": "DATA", "edges": [], "proj": null}, + {"id": 49, "label": "φ_ab", "type": null, "kind": "PHI", "edges": [{"idx": 0, "def": 31, "role": "ASSOC", "label": null}, {"idx": 1, "def": 46, "role": "DATA", "label": null}, {"idx": 2, "def": 48, "role": "DATA", "label": null}], "proj": null}, + {"id": 50, "label": "+", "type": null, "kind": "DATA", "edges": [{"idx": 0, "def": 0, "role": "DATA", "label": null}, {"idx": 1, "def": 42, "role": "DATA", "label": null}, {"idx": 2, "def": 49, "role": "DATA", "label": null}], "proj": null}, + {"id": 51, "label": "Return", "type": null, "kind": "CTRL", "edges": [{"idx": 0, "def": 31, "role": "CTRL", "label": null}, {"idx": 1, "def": 50, "role": "DATA", "label": null}], "proj": null} + ], + "groups": [ + {"id": 12, "par": 0, "nodes": [5, 6, 11, 12, 20, 31, 37, 49]} + ] +} diff --git a/chapter05/docs/05-graph7.svg b/chapter05/docs/05-graph7.svg index 8ba5ebd6..4ef44b41 100644 --- a/chapter05/docs/05-graph7.svg +++ b/chapter05/docs/05-graph7.svg @@ -1,269 +1,140 @@ - - - - - - -chapter05 - - -cluster_Nodes - - - - -Start2 - - -Start - - - -$ctrl - -arg - - - -Stop3 - -Stop - - - -Return51 - -Return - - - -Stop3->Return51 - - -0 - - - -Phi_b37 - -φ_b - - - -Phi_b37->Start2:p1 - -2 - - - -Mul20 - -* - - - -Phi_b37->Mul20 - - -1 - - - -Region31 - -Region - - - -Phi_b37->Region31 - - -0 - - - -Con_10 - -#1 - - - -Add42 - -+ - - - -Add42->Start2:p1 - - - - -2 - - - -Add42->Phi_b37 - - -1 - - - -EQNode11 - -== - - - -EQNode11->Start2:p1 - - -1 - - - -EQNode11->Con_10 - - -2 - - - -If12 - - -If - - - -True - - -False - - - -If12->Start2:p0 - - -0 - - - -If12->EQNode11 - - -1 - - - -Con_46 - -#4 - - - -Con_48 - -#5 - - - -Phi_ab49 - -φ_ab - - - -Phi_ab49->Con_46 - - -1 - - - -Phi_ab49->Con_48 - - -2 - - - -Phi_ab49->Region31 - - -0 - - - -Add50 - -+ - - - -Add50->Add42 - - -1 - - - -Add50->Phi_ab49 - - -2 - - - -Con_19 - -#2 - - - -Return51->Add50 - - -1 - - - -Return51->Region31 - - -0 - - - -Mul20->Start2:p1 - -1 - - - -Mul20->Con_19 - - -2 - - - -Region31->If12:p0 - - -1 - - - -Region31->If12:p1 - - -2 - - - +#3[0] → #51 · CTRL#11[1] → #4 · DATA#11[2] → #10 · DATA#12[0] → #1 · CTRL#12[1] → #11 · DATA#20[1] → #4 · DATA#20[2] → #19 · DATA#31[1] → #5 · CTRL#31[2] → #6 · CTRL#37[1] → #20 · DATA#37[2] → #4 · DATA#42[1] → #37 · DATA#42[2] → #4 · DATA#49[1] → #46 · DATA#49[2] → #48 · DATA#50[1] → #42 · DATA#50[2] → #49 · DATA#51[0] → #31 · CTRL#51[1] → #50 · DATA$ctrl  #1/0#1 $ctrl +Projection 0 of #2 +Type not computed + +[0] → #2 CTRLStart  #2#2 Start +Type not computed + +Stop  #3#3 Stop +Type not computed + +[0] → #51 CTRL0arg  #4/1#4 arg +Projection 1 of #2 +Type not computed + +[0] → #2 DATATrue  #5/0#5 True +Projection 0 of #12 +Type not computed + +[0] → #12 CTRLFalse  #6/1#6 False +Projection 1 of #12 +Type not computed + +[0] → #12 CTRL#1  #10#10 #1 +Type not computed + +==  #11#11 == +Type not computed + +[0] → — DATA +[1] → #4 DATA +[2] → #10 DATA012If  #12#12 If +Type not computed + +[0] → #1 CTRL +[1] → #11 DATA01#2  #19#19 #2 +Type not computed + +*  #20#20 * +Type not computed + +[0] → — DATA +[1] → #4 DATA +[2] → #19 DATA012Region  #31#31 Region +Type not computed + +[0] → — DATA +[1] → #5 CTRL +[2] → #6 CTRL012φ_b  #37#37 φ_b +Type not computed + +[0] → #31 ASSOC +[1] → #20 DATA +[2] → #4 DATA[0] → #31012+  #42#42 + +Type not computed + +[0] → — DATA +[1] → #37 DATA +[2] → #4 DATA012#4  #46#46 #4 +Type not computed + +#5  #48#48 #5 +Type not computed + +φ_ab  #49#49 φ_ab +Type not computed + +[0] → #31 ASSOC +[1] → #46 DATA +[2] → #48 DATA[0] → #31012+  #50#50 + +Type not computed + +[0] → — DATA +[1] → #42 DATA +[2] → #49 DATA012Return  #51#51 Return +Type not computed + +[0] → #31 CTRL +[1] → #50 DATA01If  #12If · 8 nodes−Fold region diff --git a/chapter05/docs/05-graph8.json b/chapter05/docs/05-graph8.json new file mode 100644 index 00000000..887d1e8a --- /dev/null +++ b/chapter05/docs/05-graph8.json @@ -0,0 +1,45 @@ +{ + "ver": 1, + "comp": "chapter05/docs/05-graph8.svg", + "step": 1, + "roots": [], + "scope": 0, + "nodes": [ + {"id": 1, "label": "Scope", "type": null, "kind": "SCOPE", "edges": [{"idx": 0, "def": 0, "role": "ASSOC", "label": "0: $ctrl"}, {"idx": 1, "def": 6, "role": "ASSOC", "label": "0: arg"}, {"idx": 2, "def": 34, "role": "ASSOC", "label": "1: a"}], "proj": null}, + {"id": 2, "label": "Start", "type": null, "kind": "CTRL", "edges": [], "proj": null}, + {"id": 3, "label": "Stop", "type": null, "kind": "STOP", "edges": [{"idx": 0, "def": 35, "role": "CTRL", "label": null}], "proj": null}, + {"id": 5, "label": "$ctrl", "type": null, "kind": "CTRL", "edges": [{"idx": 0, "def": 2, "role": "CTRL", "label": null}], "proj": {"par": 2, "idx": 0}}, + {"id": 6, "label": "arg", "type": null, "kind": "DATA", "edges": [{"idx": 0, "def": 2, "role": "DATA", "label": null}], "proj": {"par": 2, "idx": 1}}, + {"id": 7, "label": "#1", "type": null, "kind": "DATA", "edges": [], "proj": null}, + {"id": 8, "label": "==", "type": null, "kind": "DATA", "edges": [{"idx": 0, "def": 0, "role": "DATA", "label": null}, {"idx": 1, "def": 6, "role": "DATA", "label": null}, {"idx": 2, "def": 7, "role": "DATA", "label": null}], "proj": null}, + {"id": 9, "label": "If", "type": null, "kind": "CTRL", "edges": [{"idx": 0, "def": 5, "role": "CTRL", "label": null}, {"idx": 1, "def": 8, "role": "DATA", "label": null}], "proj": null}, + {"id": 10, "label": "True", "type": null, "kind": "CTRL", "edges": [{"idx": 0, "def": 9, "role": "CTRL", "label": null}], "proj": {"par": 9, "idx": 0}}, + {"id": 11, "label": "False", "type": null, "kind": "CTRL", "edges": [{"idx": 0, "def": 9, "role": "CTRL", "label": null}], "proj": {"par": 9, "idx": 1}}, + {"id": 12, "label": "True", "type": null, "kind": "CTRL", "edges": [{"idx": 0, "def": 15, "role": "CTRL", "label": null}], "proj": {"par": 15, "idx": 0}}, + {"id": 13, "label": "#2", "type": null, "kind": "DATA", "edges": [], "proj": null}, + {"id": 14, "label": "==", "type": null, "kind": "DATA", "edges": [{"idx": 0, "def": 0, "role": "DATA", "label": null}, {"idx": 1, "def": 6, "role": "DATA", "label": null}, {"idx": 2, "def": 13, "role": "DATA", "label": null}], "proj": null}, + {"id": 15, "label": "If", "type": null, "kind": "CTRL", "edges": [{"idx": 0, "def": 10, "role": "CTRL", "label": null}, {"idx": 1, "def": 14, "role": "DATA", "label": null}], "proj": null}, + {"id": 16, "label": "False", "type": null, "kind": "CTRL", "edges": [{"idx": 0, "def": 15, "role": "CTRL", "label": null}], "proj": {"par": 15, "idx": 1}}, + {"id": 17, "label": "True", "type": null, "kind": "CTRL", "edges": [{"idx": 0, "def": 25, "role": "CTRL", "label": null}], "proj": {"par": 25, "idx": 0}}, + {"id": 18, "label": "False", "type": null, "kind": "CTRL", "edges": [{"idx": 0, "def": 25, "role": "CTRL", "label": null}], "proj": {"par": 25, "idx": 1}}, + {"id": 19, "label": "#2", "type": null, "kind": "DATA", "edges": [], "proj": null}, + {"id": 20, "label": "#3", "type": null, "kind": "DATA", "edges": [], "proj": null}, + {"id": 21, "label": "Region", "type": null, "kind": "REGION", "edges": [{"idx": 0, "def": 0, "role": "DATA", "label": null}, {"idx": 1, "def": 12, "role": "CTRL", "label": null}, {"idx": 2, "def": 16, "role": "CTRL", "label": null}], "proj": null}, + {"id": 22, "label": "φ_a", "type": null, "kind": "PHI", "edges": [{"idx": 0, "def": 21, "role": "ASSOC", "label": null}, {"idx": 1, "def": 19, "role": "DATA", "label": null}, {"idx": 2, "def": 20, "role": "DATA", "label": null}], "proj": null}, + {"id": 23, "label": "#3", "type": null, "kind": "DATA", "edges": [], "proj": null}, + {"id": 24, "label": "==", "type": null, "kind": "DATA", "edges": [{"idx": 0, "def": 0, "role": "DATA", "label": null}, {"idx": 1, "def": 6, "role": "DATA", "label": null}, {"idx": 2, "def": 23, "role": "DATA", "label": null}], "proj": null}, + {"id": 25, "label": "If", "type": null, "kind": "CTRL", "edges": [{"idx": 0, "def": 11, "role": "CTRL", "label": null}, {"idx": 1, "def": 24, "role": "DATA", "label": null}], "proj": null}, + {"id": 29, "label": "#4", "type": null, "kind": "DATA", "edges": [], "proj": null}, + {"id": 30, "label": "#5", "type": null, "kind": "DATA", "edges": [], "proj": null}, + {"id": 31, "label": "Region", "type": null, "kind": "REGION", "edges": [{"idx": 0, "def": 0, "role": "DATA", "label": null}, {"idx": 1, "def": 17, "role": "CTRL", "label": null}, {"idx": 2, "def": 18, "role": "CTRL", "label": null}], "proj": null}, + {"id": 32, "label": "φ_a", "type": null, "kind": "PHI", "edges": [{"idx": 0, "def": 31, "role": "ASSOC", "label": null}, {"idx": 1, "def": 29, "role": "DATA", "label": null}, {"idx": 2, "def": 30, "role": "DATA", "label": null}], "proj": null}, + {"id": 33, "label": "Region", "type": null, "kind": "REGION", "edges": [{"idx": 0, "def": 0, "role": "DATA", "label": null}, {"idx": 1, "def": 21, "role": "CTRL", "label": null}, {"idx": 2, "def": 31, "role": "CTRL", "label": null}], "proj": null}, + {"id": 34, "label": "φ_a", "type": null, "kind": "PHI", "edges": [{"idx": 0, "def": 33, "role": "ASSOC", "label": null}, {"idx": 1, "def": 22, "role": "DATA", "label": null}, {"idx": 2, "def": 32, "role": "DATA", "label": null}], "proj": null}, + {"id": 35, "label": "Return", "type": null, "kind": "CTRL", "edges": [{"idx": 0, "def": 33, "role": "CTRL", "label": null}, {"idx": 1, "def": 34, "role": "DATA", "label": null}], "proj": null} + ], + "groups": [ + {"id": 9, "par": 0, "nodes": [8, 9, 10, 11, 33, 34]}, + {"id": 15, "par": 9, "nodes": [12, 14, 15, 16, 21, 22]}, + {"id": 25, "par": 9, "nodes": [17, 18, 24, 25, 31, 32]} + ] +} diff --git a/chapter05/docs/05-graph8.svg b/chapter05/docs/05-graph8.svg index e5310db4..bf0f8aa0 100644 --- a/chapter05/docs/05-graph8.svg +++ b/chapter05/docs/05-graph8.svg @@ -1,430 +1,188 @@ - - - - - - -chapter05 - - -cluster_Nodes - - - -cluster_Scope1_0 - - - -cluster_Scope1_1 - - - - -Start2 - - -Start - - - -$ctrl - -arg - - - -Stop3 - -Stop - - - -Return35 - -Return - - - -Stop3->Return35 - - -0 - - - -Con_7 - -#1 - - - -EQNode8 - -== - - - -EQNode8->Start2:p1 - - -1 - - - -EQNode8->Con_7 - - -2 - - - -If9 - - -If - - - -True - - -False - - - -If9->Start2:p0 - - -0 - - - -If9->EQNode8 - - -1 - - - -Con_13 - -#2 - - - -EQNode14 - -== - - - -EQNode14->Start2:p1 - - -1 - - - -EQNode14->Con_13 - - -2 - - - -If15 - - -If - - - -True - - -False - - - -If15->If9:p0 - - -0 - - - -If15->EQNode14 - - -1 - - - -Con_19 - -#2 - - - -Con_20 - -#3 - - - -Region21 - -Region - - - -Region21->If15:p0 - - -1 - - - -Region21->If15:p1 - - -2 - - - -Phi_a22 - -φ_a - - - -Phi_a22->Con_19 - - -1 - - - -Phi_a22->Con_20 - - -2 - - - -Phi_a22->Region21 - - -0 - - - -Con_23 - -#3 - - - -EQNode24 - -== - - - -EQNode24->Start2:p1 - - -1 - - - -EQNode24->Con_23 - - -2 - - - -If25 - - -If - - - -True - - -False - - - -If25->If9:p1 - - -0 - - - -If25->EQNode24 - - -1 - - - -Con_29 - -#4 - - - -Con_30 - -#5 - - - -Region31 - -Region - - - -Region31->If25:p0 - - -1 - - - -Region31->If25:p1 - - -2 - - - -Phi_a32 - -φ_a - - - -Phi_a32->Con_29 - - -1 - - - -Phi_a32->Con_30 - - -2 - - - -Phi_a32->Region31 - - -0 - - - -Region33 - -Region - - - -Region33->Region21 - - -1 - - - -Region33->Region31 - - -2 - - - -Phi_a34 - -φ_a - - - -Phi_a34->Phi_a22 - - -1 - - - -Phi_a34->Phi_a32 - - -2 - - - -Phi_a34->Region33 - - -0 - - - -Return35->Region33 - - -0 - - - -Return35->Phi_a34 - - -1 - - - -Scope1_0 - - -0 - -$ctrl - -arg - - - -Scope1_0:Scope1_0_arg->Start2:p1 - - - - - -Scope1_1 - - -1 - -a - - - -Scope1_1:Scope1_1_a->Phi_a34 - - - - - +#1[1] → #6 · ASSOC · 0: arg#1[2] → #34 · ASSOC · 1: a#3[0] → #35 · CTRL#8[1] → #6 · DATA#8[2] → #7 · DATA#9[0] → #5 · CTRL#9[1] → #8 · DATA#14[1] → #6 · DATA#14[2] → #13 · DATA#15[0] → #10 · CTRL#15[1] → #14 · DATA#21[1] → #12 · CTRL#21[2] → #16 · CTRL#22[1] → #19 · DATA#22[2] → #20 · DATA#24[1] → #6 · DATA#24[2] → #23 · DATA#25[0] → #11 · CTRL#25[1] → #24 · DATA#31[1] → #17 · CTRL#31[2] → #18 · CTRL#32[1] → #29 · DATA#32[2] → #30 · DATA#33[1] → #21 · CTRL#33[2] → #31 · CTRL#34[1] → #22 · DATA#34[2] → #32 · DATA#35[0] → #33 · CTRL#35[1] → #34 · DATAScope  #1#1 Scope +Type not computed + +[0] → — ASSOC 0: $ctrl +[1] → #6 ASSOC 0: arg +[2] → #34 ASSOC 1: a0: $ctrl0: arg1: a012Start  #2#2 Start +Type not computed + +Stop  #3#3 Stop +Type not computed + +[0] → #35 CTRL0$ctrl  #5/0#5 $ctrl +Projection 0 of #2 +Type not computed + +[0] → #2 CTRLarg  #6/1#6 arg +Projection 1 of #2 +Type not computed + +[0] → #2 DATA#1  #7#7 #1 +Type not computed + +==  #8#8 == +Type not computed + +[0] → — DATA +[1] → #6 DATA +[2] → #7 DATA012If  #9#9 If +Type not computed + +[0] → #5 CTRL +[1] → #8 DATA01True  #10/0#10 True +Projection 0 of #9 +Type not computed + +[0] → #9 CTRLFalse  #11/1#11 False +Projection 1 of #9 +Type not computed + +[0] → #9 CTRLTrue  #12/0#12 True +Projection 0 of #15 +Type not computed + +[0] → #15 CTRL#2  #13#13 #2 +Type not computed + +==  #14#14 == +Type not computed + +[0] → — DATA +[1] → #6 DATA +[2] → #13 DATA012If  #15#15 If +Type not computed + +[0] → #10 CTRL +[1] → #14 DATA01False  #16/1#16 False +Projection 1 of #15 +Type not computed + +[0] → #15 CTRLTrue  #17/0#17 True +Projection 0 of #25 +Type not computed + +[0] → #25 CTRLFalse  #18/1#18 False +Projection 1 of #25 +Type not computed + +[0] → #25 CTRL#2  #19#19 #2 +Type not computed + +#3  #20#20 #3 +Type not computed + +Region  #21#21 Region +Type not computed + +[0] → — DATA +[1] → #12 CTRL +[2] → #16 CTRL012φ_a  #22#22 φ_a +Type not computed + +[0] → #21 ASSOC +[1] → #19 DATA +[2] → #20 DATA[0] → #21012#3  #23#23 #3 +Type not computed + +==  #24#24 == +Type not computed + +[0] → — DATA +[1] → #6 DATA +[2] → #23 DATA012If  #25#25 If +Type not computed + +[0] → #11 CTRL +[1] → #24 DATA01#4  #29#29 #4 +Type not computed + +#5  #30#30 #5 +Type not computed + +Region  #31#31 Region +Type not computed + +[0] → — DATA +[1] → #17 CTRL +[2] → #18 CTRL012φ_a  #32#32 φ_a +Type not computed + +[0] → #31 ASSOC +[1] → #29 DATA +[2] → #30 DATA[0] → #31012Region  #33#33 Region +Type not computed + +[0] → — DATA +[1] → #21 CTRL +[2] → #31 CTRL012φ_a  #34#34 φ_a +Type not computed + +[0] → #33 ASSOC +[1] → #22 DATA +[2] → #32 DATA[0] → #33012Return  #35#35 Return +Type not computed + +[0] → #33 CTRL +[1] → #34 DATA01If  #9If · 18 nodes−Fold regionIf  #15If · 6 nodes−Fold regionIf  #25If · 6 nodes−Fold region diff --git a/chapter05/docs/05-graph9.json b/chapter05/docs/05-graph9.json new file mode 100644 index 00000000..deb1b540 --- /dev/null +++ b/chapter05/docs/05-graph9.json @@ -0,0 +1,26 @@ +{ + "ver": 1, + "comp": "chapter05/docs/05-graph9.svg", + "step": 1, + "roots": [], + "scope": 0, + "nodes": [ + {"id": 1, "label": "$ctrl", "type": null, "kind": "CTRL", "edges": [{"idx": 0, "def": 2, "role": "CTRL", "label": null}], "proj": {"par": 2, "idx": 0}}, + {"id": 2, "label": "Start", "type": null, "kind": "CTRL", "edges": [], "proj": null}, + {"id": 3, "label": "Stop", "type": null, "kind": "STOP", "edges": [{"idx": 0, "def": 20, "role": "CTRL", "label": null}], "proj": null}, + {"id": 4, "label": "arg", "type": null, "kind": "DATA", "edges": [{"idx": 0, "def": 2, "role": "DATA", "label": null}], "proj": {"par": 2, "idx": 1}}, + {"id": 5, "label": "True", "type": null, "kind": "CTRL", "edges": [{"idx": 0, "def": 10, "role": "CTRL", "label": null}], "proj": {"par": 10, "idx": 0}}, + {"id": 6, "label": "False", "type": null, "kind": "CTRL", "edges": [{"idx": 0, "def": 10, "role": "CTRL", "label": null}], "proj": {"par": 10, "idx": 1}}, + {"id": 8, "label": "1", "type": null, "kind": "DATA", "edges": [], "proj": null}, + {"id": 9, "label": "==", "type": null, "kind": "DATA", "edges": [{"idx": 0, "def": 0, "role": "DATA", "label": null}, {"idx": 1, "def": 4, "role": "DATA", "label": null}, {"idx": 2, "def": 8, "role": "DATA", "label": null}], "proj": null}, + {"id": 10, "label": "If", "type": null, "kind": "CTRL", "edges": [{"idx": 0, "def": 1, "role": "CTRL", "label": null}, {"idx": 1, "def": 9, "role": "DATA", "label": null}], "proj": null}, + {"id": 14, "label": "2", "type": null, "kind": "DATA", "edges": [], "proj": null}, + {"id": 16, "label": "1", "type": null, "kind": "DATA", "edges": [], "proj": null}, + {"id": 17, "label": "Region", "type": null, "kind": "REGION", "edges": [{"idx": 0, "def": 0, "role": "DATA", "label": null}, {"idx": 1, "def": 5, "role": "CTRL", "label": null}, {"idx": 2, "def": 6, "role": "CTRL", "label": null}], "proj": null}, + {"id": 18, "label": "φ_b", "type": null, "kind": "PHI", "edges": [{"idx": 0, "def": 17, "role": "ASSOC", "label": null}, {"idx": 1, "def": 14, "role": "DATA", "label": null}, {"idx": 2, "def": 16, "role": "DATA", "label": null}], "proj": null}, + {"id": 20, "label": "Return", "type": null, "kind": "CTRL", "edges": [{"idx": 0, "def": 17, "role": "CTRL", "label": null}, {"idx": 1, "def": 18, "role": "DATA", "label": null}], "proj": null} + ], + "groups": [ + {"id": 10, "par": 0, "nodes": [5, 6, 9, 10, 17, 18]} + ] +} diff --git a/chapter05/docs/05-graph9.svg b/chapter05/docs/05-graph9.svg index dff4d63f..cc52c5bd 100644 --- a/chapter05/docs/05-graph9.svg +++ b/chapter05/docs/05-graph9.svg @@ -1,174 +1,117 @@ - - - - - - -chapter05 - - -cluster_Nodes - - - - -Start2 - - -Start - - - -$ctrl - -arg - - - -Stop3 - -Stop - - - -Return20 - -Return - - - -Stop3->Return20 - - -0 - - - -Con_8 - -1 - - - -EQ9 - -== - - - -EQ9->Start2:p1 - - -1 - - - -EQ9->Con_8 - - -2 - - - -If10 - - -If - - - -True - - -False - - - -If10->Start2:p0 - - -0 - - - -If10->EQ9 - - -1 - - - -Con_14 - -2 - - - -Con_16 - -1 - - - -Region17 - -Region - - - -Region17->If10:p0 - - -1 - - - -Region17->If10:p1 - - -2 - - - -Phi_b18 - -φ_b - - - -Phi_b18->Con_14 - - -1 - - - -Phi_b18->Con_16 - - -2 - - - -Phi_b18->Region17 - - -0 - - - -Return20->Region17 - - -0 - - - -Return20->Phi_b18 - - -1 - - - \ No newline at end of file +#3[0] → #20 · CTRL#9[1] → #4 · DATA#9[2] → #8 · DATA#10[0] → #1 · CTRL#10[1] → #9 · DATA#17[1] → #5 · CTRL#17[2] → #6 · CTRL#18[1] → #14 · DATA#18[2] → #16 · DATA#20[0] → #17 · CTRL#20[1] → #18 · DATA$ctrl  #1/0#1 $ctrl +Projection 0 of #2 +Type not computed + +[0] → #2 CTRLStart  #2#2 Start +Type not computed + +Stop  #3#3 Stop +Type not computed + +[0] → #20 CTRL0arg  #4/1#4 arg +Projection 1 of #2 +Type not computed + +[0] → #2 DATATrue  #5/0#5 True +Projection 0 of #10 +Type not computed + +[0] → #10 CTRLFalse  #6/1#6 False +Projection 1 of #10 +Type not computed + +[0] → #10 CTRL1  #8#8 1 +Type not computed + +==  #9#9 == +Type not computed + +[0] → — DATA +[1] → #4 DATA +[2] → #8 DATA012If  #10#10 If +Type not computed + +[0] → #1 CTRL +[1] → #9 DATA012  #14#14 2 +Type not computed + +1  #16#16 1 +Type not computed + +Region  #17#17 Region +Type not computed + +[0] → — DATA +[1] → #5 CTRL +[2] → #6 CTRL012φ_b  #18#18 φ_b +Type not computed + +[0] → #17 ASSOC +[1] → #14 DATA +[2] → #16 DATA[0] → #17012Return  #20#20 Return +Type not computed + +[0] → #17 CTRL +[1] → #18 DATA01If  #10If · 6 nodes−Fold region diff --git a/chapter05/docs/Makefile b/chapter05/docs/Makefile index 12659b8f..6fa0f057 100644 --- a/chapter05/docs/Makefile +++ b/chapter05/docs/Makefile @@ -1,12 +1 @@ -GV := $(wildcard *.gv) -SVG := $(patsubst %.gv,%.svg,$(GV)) - -.PHONY: all -all: $(SVG) - -%.svg: %.gv - dot -Tsvg $< > $@ - -.PHONY: clean -clean: - @rm -f $(SVG) +include ../../graph/docs.mk -- cgit v1.2.3