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 --- chapter09/docs/09-graph1.json | 28 ++++ chapter09/docs/09-graph1.svg | 352 ++++++++++++++++-------------------------- chapter09/docs/09-graph2.json | 26 ++++ chapter09/docs/09-graph2.svg | 318 +++++++++++++++----------------------- chapter09/docs/09-graph3.json | 19 +++ chapter09/docs/09-graph3.svg | 205 ++++++++++++------------ chapter09/docs/09-graph4.json | 16 ++ chapter09/docs/09-graph4.svg | 147 ++++++++++-------- chapter09/docs/09-graph5.json | 27 ++++ chapter09/docs/09-graph5.svg | 334 +++++++++++++++------------------------ chapter09/docs/09-graph6.json | 26 ++++ chapter09/docs/09-graph6.svg | 303 ++++++++++++++---------------------- chapter09/docs/Makefile | 13 +- 13 files changed, 814 insertions(+), 1000 deletions(-) create mode 100644 chapter09/docs/09-graph1.json create mode 100644 chapter09/docs/09-graph2.json create mode 100644 chapter09/docs/09-graph3.json create mode 100644 chapter09/docs/09-graph4.json create mode 100644 chapter09/docs/09-graph5.json create mode 100644 chapter09/docs/09-graph6.json (limited to 'chapter09/docs') diff --git a/chapter09/docs/09-graph1.json b/chapter09/docs/09-graph1.json new file mode 100644 index 00000000..746d4de2 --- /dev/null +++ b/chapter09/docs/09-graph1.json @@ -0,0 +1,28 @@ +{ + "ver": 1, + "comp": "chapter09/docs/09-graph1.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}, {"idx": 1, "def": 24, "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": 11, "role": "CTRL", "label": null}], "proj": {"par": 11, "idx": 0}}, + {"id": 6, "label": "False", "type": null, "kind": "CTRL", "edges": [{"idx": 0, "def": 11, "role": "CTRL", "label": null}], "proj": {"par": 11, "idx": 1}}, + {"id": 7, "label": "2", "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": "10", "type": null, "kind": "DATA", "edges": [], "proj": null}, + {"id": 10, "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": 9, "role": "DATA", "label": null}], "proj": null}, + {"id": 11, "label": "If", "type": null, "kind": "CTRL", "edges": [{"idx": 0, "def": 1, "role": "CTRL", "label": null}, {"idx": 1, "def": 10, "role": "DATA", "label": null}], "proj": null}, + {"id": 16, "label": "2", "type": null, "kind": "DATA", "edges": [], "proj": null}, + {"id": 17, "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": 16, "role": "DATA", "label": null}], "proj": null}, + {"id": 18, "label": "Return", "type": null, "kind": "CTRL", "edges": [{"idx": 0, "def": 5, "role": "CTRL", "label": null}, {"idx": 1, "def": 17, "role": "DATA", "label": null}], "proj": null}, + {"id": 20, "label": "1", "type": null, "kind": "DATA", "edges": [], "proj": null}, + {"id": 21, "label": "+", "type": null, "kind": "DATA", "edges": [{"idx": 0, "def": 0, "role": "DATA", "label": null}, {"idx": 1, "def": 8, "role": "DATA", "label": null}, {"idx": 2, "def": 20, "role": "DATA", "label": null}], "proj": null}, + {"id": 24, "label": "Return", "type": null, "kind": "CTRL", "edges": [{"idx": 0, "def": 6, "role": "CTRL", "label": null}, {"idx": 1, "def": 21, "role": "DATA", "label": null}], "proj": null} + ], + "groups": [ + ] +} diff --git a/chapter09/docs/09-graph1.svg b/chapter09/docs/09-graph1.svg index fce8d53c..e639b36b 100644 --- a/chapter09/docs/09-graph1.svg +++ b/chapter09/docs/09-graph1.svg @@ -1,222 +1,130 @@ - - - - - - -chapter08 - - -cluster_Nodes - - - - -Start2 - - -Start - - - -$ctrl - -arg - - - -Stop3 - -Stop - - - -Return18 - -Return - - - -Stop3->Return18 - - -0 - - - -Return24 - -Return - - - -Stop3->Return24 - - -1 - - - -Con_7 - -2 - - - -Mul8 - -* - - - -Mul8->Start2:p1 - - -1 - - - -Mul8->Con_7 - - -2 - - - -Con_9 - -10 - - - -LT10 - -< - - - -LT10->Start2:p1 - - -1 - - - -LT10->Con_9 - - -2 - - - -If11 - - -If - - - -True - - -False - - - -If11->Start2:p0 - - -0 - - - -If11->LT10 - - -1 - - - -Con_16 - -2 - - - -Mul17 - -* - - - -Mul17->Start2:p1 - - -1 - - - -Mul17->Con_16 - - -2 - - - -Return18->If11:p0 - - -0 - - - -Return18->Mul17 - - -1 - - - -Con_20 - -1 - - - -Add21 - -+ - - - -Add21->Mul8 - - -1 - - - -Add21->Con_20 - - -2 - - - -Return24->If11:p1 - - -0 - - - -Return24->Add21 - - -1 - - - +#3[0] → #18 · CTRL#3[1] → #24 · CTRL#8[1] → #4 · DATA#8[2] → #7 · DATA#10[1] → #4 · DATA#10[2] → #9 · DATA#11[0] → #1 · CTRL#11[1] → #10 · DATA#17[1] → #4 · DATA#17[2] → #16 · DATA#18[0] → #5 · CTRL#18[1] → #17 · DATA#21[1] → #8 · DATA#21[2] → #20 · DATA#24[0] → #6 · CTRL#24[1] → #21 · 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 CTRL +[1] → #24 CTRL01arg  #4/1#4 arg +Projection 1 of #2 +Type not computed + +[0] → #2 DATATrue  #5/0#5 True +Projection 0 of #11 +Type not computed + +[0] → #11 CTRLFalse  #6/1#6 False +Projection 1 of #11 +Type not computed + +[0] → #11 CTRL2  #7#7 2 +Type not computed + +*  #8#8 * +Type not computed + +[0] → — DATA +[1] → #4 DATA +[2] → #7 DATA01210  #9#9 10 +Type not computed + +<  #10#10 < +Type not computed + +[0] → — DATA +[1] → #4 DATA +[2] → #9 DATA012If  #11#11 If +Type not computed + +[0] → #1 CTRL +[1] → #10 DATA012  #16#16 2 +Type not computed + +*  #17#17 * +Type not computed + +[0] → — DATA +[1] → #4 DATA +[2] → #16 DATA012Return  #18#18 Return +Type not computed + +[0] → #5 CTRL +[1] → #17 DATA011  #20#20 1 +Type not computed + ++  #21#21 + +Type not computed + +[0] → — DATA +[1] → #8 DATA +[2] → #20 DATA012Return  #24#24 Return +Type not computed + +[0] → #6 CTRL +[1] → #21 DATA01 diff --git a/chapter09/docs/09-graph2.json b/chapter09/docs/09-graph2.json new file mode 100644 index 00000000..5b449041 --- /dev/null +++ b/chapter09/docs/09-graph2.json @@ -0,0 +1,26 @@ +{ + "ver": 1, + "comp": "chapter09/docs/09-graph2.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}, {"idx": 1, "def": 24, "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": 11, "role": "CTRL", "label": null}], "proj": {"par": 11, "idx": 0}}, + {"id": 6, "label": "False", "type": null, "kind": "CTRL", "edges": [{"idx": 0, "def": 11, "role": "CTRL", "label": null}], "proj": {"par": 11, "idx": 1}}, + {"id": 7, "label": "#2", "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": "<", "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": 10, "label": "#10", "type": null, "kind": "DATA", "edges": [], "proj": null}, + {"id": 11, "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": 18, "label": "Return", "type": null, "kind": "CTRL", "edges": [{"idx": 0, "def": 5, "role": "CTRL", "label": null}, {"idx": 1, "def": 8, "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": 8, "role": "DATA", "label": null}, {"idx": 2, "def": 21, "role": "DATA", "label": null}], "proj": null}, + {"id": 21, "label": "#1", "type": null, "kind": "DATA", "edges": [], "proj": null}, + {"id": 24, "label": "Return", "type": null, "kind": "CTRL", "edges": [{"idx": 0, "def": 6, "role": "CTRL", "label": null}, {"idx": 1, "def": 20, "role": "DATA", "label": null}], "proj": null} + ], + "groups": [ + ] +} diff --git a/chapter09/docs/09-graph2.svg b/chapter09/docs/09-graph2.svg index 111ec172..a2484f5c 100644 --- a/chapter09/docs/09-graph2.svg +++ b/chapter09/docs/09-graph2.svg @@ -1,196 +1,122 @@ - - - - - - -chapter09 - - -cluster_Nodes - - - - -Start2 - - -Start - - - -$ctrl - -arg - - - -Stop3 - -Stop - - - -Return18 - -Return - - - -Stop3->Return18 - - -0 - - - -Return24 - -Return - - - -Stop3->Return24 - - -1 - - - -Con_7 - -#2 - - - -Mul8 - -* - - - -Mul8->Start2:p1 - - -1 - - - -Mul8->Con_7 - - -2 - - - -LT9 - -< - - - -LT9->Start2:p1 - - -1 - - - -Con_10 - -#10 - - - -LT9->Con_10 - - -2 - - - -If11 - - -If - - - -True - - -False - - - -If11->Start2:p0 - - -0 - - - -If11->LT9 - - -1 - - - -Return18->Mul8 - - -1 - - - -Return18->If11:p0 - - -0 - - - -Add20 - -+ - - - -Add20->Mul8 - - -1 - - - -Con_21 - -#1 - - - -Add20->Con_21 - - -2 - - - -Return24->If11:p1 - - -0 - - - -Return24->Add20 - - -1 - - - +#3[0] → #18 · CTRL#3[1] → #24 · CTRL#8[1] → #4 · DATA#8[2] → #7 · DATA#9[1] → #4 · DATA#9[2] → #10 · DATA#11[0] → #1 · CTRL#11[1] → #9 · DATA#18[0] → #5 · CTRL#18[1] → #8 · DATA#20[1] → #8 · DATA#20[2] → #21 · DATA#24[0] → #6 · CTRL#24[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] → #18 CTRL +[1] → #24 CTRL01arg  #4/1#4 arg +Projection 1 of #2 +Type not computed + +[0] → #2 DATATrue  #5/0#5 True +Projection 0 of #11 +Type not computed + +[0] → #11 CTRLFalse  #6/1#6 False +Projection 1 of #11 +Type not computed + +[0] → #11 CTRL#2  #7#7 #2 +Type not computed + +*  #8#8 * +Type not computed + +[0] → — DATA +[1] → #4 DATA +[2] → #7 DATA012<  #9#9 < +Type not computed + +[0] → — DATA +[1] → #4 DATA +[2] → #10 DATA012#10  #10#10 #10 +Type not computed + +If  #11#11 If +Type not computed + +[0] → #1 CTRL +[1] → #9 DATA01Return  #18#18 Return +Type not computed + +[0] → #5 CTRL +[1] → #8 DATA01+  #20#20 + +Type not computed + +[0] → — DATA +[1] → #8 DATA +[2] → #21 DATA012#1  #21#21 #1 +Type not computed + +Return  #24#24 Return +Type not computed + +[0] → #6 CTRL +[1] → #20 DATA01 diff --git a/chapter09/docs/09-graph3.json b/chapter09/docs/09-graph3.json new file mode 100644 index 00000000..57546e51 --- /dev/null +++ b/chapter09/docs/09-graph3.json @@ -0,0 +1,19 @@ +{ + "ver": 1, + "comp": "chapter09/docs/09-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": 9, "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": 6, "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": 4, "role": "DATA", "label": null}], "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": 4, "role": "DATA", "label": null}], "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": "Return", "type": null, "kind": "CTRL", "edges": [{"idx": 0, "def": 1, "role": "CTRL", "label": null}, {"idx": 1, "def": 8, "role": "DATA", "label": null}], "proj": null} + ], + "groups": [ + ] +} diff --git a/chapter09/docs/09-graph3.svg b/chapter09/docs/09-graph3.svg index f26c96e8..51804b59 100644 --- a/chapter09/docs/09-graph3.svg +++ b/chapter09/docs/09-graph3.svg @@ -1,109 +1,96 @@ - - - - - - -chapter08 - - -cluster_Nodes - - - - -Start2 - - -Start - - - -$ctrl - -arg - - - -Stop3 - -Stop - - - -Return9 - -Return - - - -Stop3->Return9 - - -0 - - - -Mul6 - -* - - - -Mul6->Start2:p1 - - -1 - - - -Mul7 - -* - - - -Mul7->Start2:p1 - - -1 - - - -Sub8 - -- - - - -Sub8->Mul6 - - -1 - - - -Sub8->Mul7 - - -2 - - - -Return9->Start2:p0 - - -0 - - - -Return9->Sub8 - - -1 - - - +#3[0] → #9 · CTRL#6[1] → #4 · DATA#6[2] → #4 · DATA#7[1] → #4 · DATA#7[2] → #4 · DATA#8[1] → #6 · DATA#8[2] → #7 · DATA#9[0] → #1 · CTRL#9[1] → #8 · 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] → #9 CTRL0arg  #4/1#4 arg +Projection 1 of #2 +Type not computed + +[0] → #2 DATA*  #6#6 * +Type not computed + +[0] → — DATA +[1] → #4 DATA +[2] → #4 DATA012*  #7#7 * +Type not computed + +[0] → — DATA +[1] → #4 DATA +[2] → #4 DATA012-  #8#8 - +Type not computed + +[0] → — DATA +[1] → #6 DATA +[2] → #7 DATA012Return  #9#9 Return +Type not computed + +[0] → #1 CTRL +[1] → #8 DATA01 diff --git a/chapter09/docs/09-graph4.json b/chapter09/docs/09-graph4.json new file mode 100644 index 00000000..accad3ff --- /dev/null +++ b/chapter09/docs/09-graph4.json @@ -0,0 +1,16 @@ +{ + "ver": 1, + "comp": "chapter09/docs/09-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": 10, "role": "CTRL", "label": null}], "proj": null}, + {"id": 9, "label": "#0", "type": null, "kind": "DATA", "edges": [], "proj": null}, + {"id": 10, "label": "Return", "type": null, "kind": "CTRL", "edges": [{"idx": 0, "def": 1, "role": "CTRL", "label": null}, {"idx": 1, "def": 9, "role": "DATA", "label": null}], "proj": null} + ], + "groups": [ + ] +} diff --git a/chapter09/docs/09-graph4.svg b/chapter09/docs/09-graph4.svg index 4eef5414..89045214 100644 --- a/chapter09/docs/09-graph4.svg +++ b/chapter09/docs/09-graph4.svg @@ -1,67 +1,80 @@ - - - - - - -chapter09 - - -cluster_Nodes - - - - -Start2 - - -Start - - - -$ctrl - - - -Stop3 - -Stop - - - -Return10 - -Return - - - -Stop3->Return10 - - -0 - - - -Con_9 - -#0 - - - -Return10->Start2:p0 - - -0 - - - -Return10->Con_9 - - -1 - - - +#3[0] → #10 · CTRL#10[0] → #1 · CTRL#10[1] → #9 · 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] → #10 CTRL0#0  #9#9 #0 +Type not computed + +Return  #10#10 Return +Type not computed + +[0] → #1 CTRL +[1] → #9 DATA01 diff --git a/chapter09/docs/09-graph5.json b/chapter09/docs/09-graph5.json new file mode 100644 index 00000000..31957bfa --- /dev/null +++ b/chapter09/docs/09-graph5.json @@ -0,0 +1,27 @@ +{ + "ver": 1, + "comp": "chapter09/docs/09-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": 12, "role": "CTRL", "label": null}], "proj": {"par": 12, "idx": 0}}, + {"id": 6, "label": "#1", "type": null, "kind": "DATA", "edges": [], "proj": null}, + {"id": 7, "label": "Loop", "type": null, "kind": "LOOP", "edges": [{"idx": 0, "def": 0, "role": "DATA", "label": null}, {"idx": 1, "def": 1, "role": "CTRL", "label": null}, {"idx": 2, "def": 5, "role": "CTRL", "label": null}], "proj": null}, + {"id": 8, "label": "False", "type": null, "kind": "CTRL", "edges": [{"idx": 0, "def": 12, "role": "CTRL", "label": null}], "proj": {"par": 12, "idx": 1}}, + {"id": 9, "label": "φ_arg", "type": null, "kind": "PHI", "edges": [{"idx": 0, "def": 7, "role": "ASSOC", "label": null}, {"idx": 1, "def": 4, "role": "DATA", "label": null}, {"idx": 2, "def": 18, "role": "DATA", "label": null}], "proj": null}, + {"id": 10, "label": "<", "type": null, "kind": "DATA", "edges": [{"idx": 0, "def": 0, "role": "DATA", "label": null}, {"idx": 1, "def": 9, "role": "DATA", "label": null}, {"idx": 2, "def": 11, "role": "DATA", "label": null}], "proj": null}, + {"id": 11, "label": "#10", "type": null, "kind": "DATA", "edges": [], "proj": null}, + {"id": 12, "label": "If", "type": null, "kind": "CTRL", "edges": [{"idx": 0, "def": 7, "role": "CTRL", "label": null}, {"idx": 1, "def": 10, "role": "DATA", "label": null}], "proj": null}, + {"id": 16, "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": 9, "role": "DATA", "label": null}], "proj": null}, + {"id": 18, "label": "+", "type": null, "kind": "DATA", "edges": [{"idx": 0, "def": 0, "role": "DATA", "label": null}, {"idx": 1, "def": 16, "role": "DATA", "label": null}, {"idx": 2, "def": 6, "role": "DATA", "label": null}], "proj": null}, + {"id": 21, "label": "Return", "type": null, "kind": "CTRL", "edges": [{"idx": 0, "def": 8, "role": "CTRL", "label": null}, {"idx": 1, "def": 9, "role": "DATA", "label": null}], "proj": null} + ], + "groups": [ + {"id": 7, "par": 0, "nodes": [5, 7, 8, 9, 10, 12, 16, 18]} + ] +} diff --git a/chapter09/docs/09-graph5.svg b/chapter09/docs/09-graph5.svg index 9d0698db..7457cb38 100644 --- a/chapter09/docs/09-graph5.svg +++ b/chapter09/docs/09-graph5.svg @@ -1,210 +1,124 @@ - - - - - - -chapter09 - - -cluster_Nodes - - - - -Start2 - - -Start - - - -$ctrl - -arg - - - -Stop3 - -Stop - - - -Return21 - -Return - - - -Stop3->Return21 - - -0 - - - -Con_6 - -#1 - - - -Loop7 - -Loop - - - -Loop7->Start2:p0 - - -1 - - - -If12 - - -If - - - -True - - -False - - - -Loop7->If12:p0 - - -2 - - - -Phi_arg9 - -φ_arg - - - -Phi_arg9->Start2:p1 - - -1 - - - -Phi_arg9->Loop7 - - -0 - - - -Add18 - -+ - - - -Phi_arg9->Add18 - - -2 - - - -LT10 - -< - - - -LT10->Phi_arg9 - - -1 - - - -Con_11 - -#10 - - - -LT10->Con_11 - - -2 - - - -If12->Loop7 - - -0 - - - -If12->LT10 - - -1 - - - -Add16 - -+ - - - -Add16->Con_6 - - -1 - - - -Add16->Phi_arg9 - - -2 - - - -Add18->Con_6 - - -2 - - - -Add18->Add16 - - -1 - - - -Return21->Phi_arg9 - - -1 - - - -Return21->If12:p1 - - -0 - - - +#3[0] → #21 · CTRL#7[1] → #1 · CTRL#7[2] → #5 · CTRL#9[1] → #4 · DATA#9[2] → #18 · DATA#10[1] → #9 · DATA#10[2] → #11 · DATA#12[0] → #7 · CTRL#12[1] → #10 · DATA#16[1] → #6 · DATA#16[2] → #9 · DATA#18[1] → #16 · DATA#18[2] → #6 · DATA#21[0] → #8 · CTRL#21[1] → #9 · 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 #12 +Type not computed + +[0] → #12 CTRL#1  #6#6 #1 +Type not computed + +Loop  #7#7 Loop +Type not computed + +[0] → — DATA +[1] → #1 CTRL +[2] → #5 CTRL012False  #8/1#8 False +Projection 1 of #12 +Type not computed + +[0] → #12 CTRLφ_arg  #9#9 φ_arg +Type not computed + +[0] → #7 ASSOC +[1] → #4 DATA +[2] → #18 DATA[0] → #7012<  #10#10 < +Type not computed + +[0] → — DATA +[1] → #9 DATA +[2] → #11 DATA012#10  #11#11 #10 +Type not computed + +If  #12#12 If +Type not computed + +[0] → #7 CTRL +[1] → #10 DATA01+  #16#16 + +Type not computed + +[0] → — DATA +[1] → #6 DATA +[2] → #9 DATA012+  #18#18 + +Type not computed + +[0] → — DATA +[1] → #16 DATA +[2] → #6 DATA012Return  #21#21 Return +Type not computed + +[0] → #8 CTRL +[1] → #9 DATA01Loop  #7Loop · 8 nodes−Fold region diff --git a/chapter09/docs/09-graph6.json b/chapter09/docs/09-graph6.json new file mode 100644 index 00000000..09fa1202 --- /dev/null +++ b/chapter09/docs/09-graph6.json @@ -0,0 +1,26 @@ +{ + "ver": 1, + "comp": "chapter09/docs/09-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": 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": 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": 7, "label": "Loop", "type": null, "kind": "LOOP", "edges": [{"idx": 0, "def": 0, "role": "DATA", "label": null}, {"idx": 1, "def": 1, "role": "CTRL", "label": null}, {"idx": 2, "def": 5, "role": "CTRL", "label": null}], "proj": null}, + {"id": 9, "label": "φ_arg", "type": null, "kind": "PHI", "edges": [{"idx": 0, "def": 7, "role": "ASSOC", "label": null}, {"idx": 1, "def": 4, "role": "DATA", "label": null}, {"idx": 2, "def": 25, "role": "DATA", "label": null}], "proj": null}, + {"id": 10, "label": "<", "type": null, "kind": "DATA", "edges": [{"idx": 0, "def": 0, "role": "DATA", "label": null}, {"idx": 1, "def": 9, "role": "DATA", "label": null}, {"idx": 2, "def": 11, "role": "DATA", "label": null}], "proj": null}, + {"id": 11, "label": "#10", "type": null, "kind": "DATA", "edges": [], "proj": null}, + {"id": 12, "label": "If", "type": null, "kind": "CTRL", "edges": [{"idx": 0, "def": 7, "role": "CTRL", "label": null}, {"idx": 1, "def": 10, "role": "DATA", "label": null}], "proj": null}, + {"id": 21, "label": "Return", "type": null, "kind": "CTRL", "edges": [{"idx": 0, "def": 6, "role": "CTRL", "label": null}, {"idx": 1, "def": 9, "role": "DATA", "label": null}], "proj": null}, + {"id": 24, "label": "#2", "type": null, "kind": "DATA", "edges": [], "proj": null}, + {"id": 25, "label": "+", "type": null, "kind": "DATA", "edges": [{"idx": 0, "def": 0, "role": "DATA", "label": null}, {"idx": 1, "def": 9, "role": "DATA", "label": null}, {"idx": 2, "def": 24, "role": "DATA", "label": null}], "proj": null} + ], + "groups": [ + {"id": 7, "par": 0, "nodes": [5, 6, 7, 9, 10, 12, 25]} + ] +} diff --git a/chapter09/docs/09-graph6.svg b/chapter09/docs/09-graph6.svg index 36c70099..2d530c46 100644 --- a/chapter09/docs/09-graph6.svg +++ b/chapter09/docs/09-graph6.svg @@ -1,184 +1,119 @@ - - - - - - -chapter09 - - -cluster_Nodes - - - - -Start2 - - -Start - - - -$ctrl - -arg - - - -Stop3 - -Stop - - - -Return21 - -Return - - - -Stop3->Return21 - - -0 - - - -Loop7 - -Loop - - - -Loop7->Start2:p0 - - -1 - - - -If12 - - -If - - - -True - - -False - - - -Loop7->If12:p0 - - -2 - - - -Phi_arg9 - -φ_arg - - - -Phi_arg9->Start2:p1 - - -1 - - - -Phi_arg9->Loop7 - - -0 - - - -Add25 - -+ - - - -LT10 - -< - - - -LT10->Phi_arg9 - - -1 - - - -Con_11 - -#10 - - - -LT10->Con_11 - - -2 - - - -If12->Loop7 - - -0 - - - -If12->LT10 - - -1 - - - -Return21->Phi_arg9 - - -1 - - - -Return21->If12:p1 - - -0 - - - -Con_24 - -#2 - - - -Add25->Phi_arg9 - - - -1 - - - -Add25->Con_24 - - -2 - - - +#3[0] → #21 · CTRL#7[1] → #1 · CTRL#7[2] → #5 · CTRL#9[1] → #4 · DATA#9[2] → #25 · DATA#10[1] → #9 · DATA#10[2] → #11 · DATA#12[0] → #7 · CTRL#12[1] → #10 · DATA#21[0] → #6 · CTRL#21[1] → #9 · DATA#25[1] → #9 · DATA#25[2] → #24 · 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 #12 +Type not computed + +[0] → #12 CTRLFalse  #6/1#6 False +Projection 1 of #12 +Type not computed + +[0] → #12 CTRLLoop  #7#7 Loop +Type not computed + +[0] → — DATA +[1] → #1 CTRL +[2] → #5 CTRL012φ_arg  #9#9 φ_arg +Type not computed + +[0] → #7 ASSOC +[1] → #4 DATA +[2] → #25 DATA[0] → #7012<  #10#10 < +Type not computed + +[0] → — DATA +[1] → #9 DATA +[2] → #11 DATA012#10  #11#11 #10 +Type not computed + +If  #12#12 If +Type not computed + +[0] → #7 CTRL +[1] → #10 DATA01Return  #21#21 Return +Type not computed + +[0] → #6 CTRL +[1] → #9 DATA01#2  #24#24 #2 +Type not computed + ++  #25#25 + +Type not computed + +[0] → — DATA +[1] → #9 DATA +[2] → #24 DATA012Loop  #7Loop · 7 nodes−Fold region diff --git a/chapter09/docs/Makefile b/chapter09/docs/Makefile index 12659b8f..6fa0f057 100644 --- a/chapter09/docs/Makefile +++ b/chapter09/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