From c3958e34c0de21df52e57e47e4f47ffe6464f138 Mon Sep 17 00:00:00 2001 From: Cliff Click Date: Sat, 3 Oct 2026 09:29:42 -0700 Subject: Graph updates; readme updates --- chapter09/docs/09-graph1.json | 11 +++------ chapter09/docs/09-graph1.svg | 50 ++++++++++++--------------------------- chapter09/docs/09-graph2.json | 11 +++------ chapter09/docs/09-graph2.svg | 46 +++++++++++------------------------- chapter09/docs/09-graph3.json | 6 ++--- chapter09/docs/09-graph3.svg | 25 ++++++++------------ chapter09/docs/09-graph4.json | 7 ++---- chapter09/docs/09-graph4.svg | 20 ++++------------ chapter09/docs/09-graph5.json | 15 +++--------- chapter09/docs/09-graph5.svg | 54 +++++++++---------------------------------- chapter09/docs/09-graph6.json | 15 +++--------- chapter09/docs/09-graph6.svg | 52 ++++++++--------------------------------- 12 files changed, 79 insertions(+), 233 deletions(-) (limited to 'chapter09/docs') diff --git a/chapter09/docs/09-graph1.json b/chapter09/docs/09-graph1.json index 746d4de2..8dfdee0a 100644 --- a/chapter09/docs/09-graph1.json +++ b/chapter09/docs/09-graph1.json @@ -2,20 +2,15 @@ "ver": 1, "comp": "chapter09/docs/09-graph1.svg", "step": 1, - "roots": [], + "roots": [18, 24], "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": 5, "label": "True", "type": null, "kind": "CTRL", "edges": [], "proj": {"par": 0, "idx": 0}}, + {"id": 6, "label": "False", "type": null, "kind": "CTRL", "edges": [], "proj": {"par": 0, "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}, diff --git a/chapter09/docs/09-graph1.svg b/chapter09/docs/09-graph1.svg index e639b36b..1b53a14a 100644 --- a/chapter09/docs/09-graph1.svg +++ b/chapter09/docs/09-graph1.svg @@ -1,4 +1,4 @@ -#8[1] → #4 · DATA#8[2] → #7 · 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 · DATAStart  #2#2 Start 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 +arg  #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 +[0] → #2 DATATrue  #5/0#5 True +Projection 0 of #0 Type not computed -[0] → #11 CTRL2  #7#7 2 +False  #6/1#6 False +Projection 1 of #0 Type not computed -*  #8#8 * +2  #7#7 2 Type not computed -[0] → — DATA -[1] → #4 DATA -[2] → #7 DATA01210  #9#9 10 -Type not computed - -<  #10#10 < +*  #8#8 * 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 +[2] → #7 DATA0122  #16#16 2 Type not computed -*  #17#17 * +*  #17#17 * Type not computed [0] → — DATA [1] → #4 DATA -[2] → #16 DATA012Return  #18#18 Return +[2] → #16 DATA012Return  #18#18 Return Type not computed [0] → #5 CTRL -[1] → #17 DATA011  #20#20 1 +[1] → #17 DATA011  #20#20 1 Type not computed -+  #21#21 + ++  #21#21 + Type not computed [0] → — DATA [1] → #8 DATA -[2] → #20 DATA012Return  #24#24 Return +[2] → #20 DATA012Return  #24#24 Return Type not computed [0] → #6 CTRL diff --git a/chapter09/docs/09-graph2.json b/chapter09/docs/09-graph2.json index 5b449041..7b48931f 100644 --- a/chapter09/docs/09-graph2.json +++ b/chapter09/docs/09-graph2.json @@ -2,20 +2,15 @@ "ver": 1, "comp": "chapter09/docs/09-graph2.svg", "step": 1, - "roots": [], + "roots": [18, 24], "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": 5, "label": "True", "type": null, "kind": "CTRL", "edges": [], "proj": {"par": 0, "idx": 0}}, + {"id": 6, "label": "False", "type": null, "kind": "CTRL", "edges": [], "proj": {"par": 0, "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}, diff --git a/chapter09/docs/09-graph2.svg b/chapter09/docs/09-graph2.svg index a2484f5c..59ef5de1 100644 --- a/chapter09/docs/09-graph2.svg +++ b/chapter09/docs/09-graph2.svg @@ -1,4 +1,4 @@ -#8[1] → #4 · DATA#8[2] → #7 · DATA#18[0] → #5 · CTRL#18[1] → #8 · DATA#20[1] → #8 · DATA#20[2] → #21 · DATA#24[0] → #6 · CTRL#24[1] → #20 · DATAStart  #2#2 Start 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 +arg  #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 +[0] → #2 DATATrue  #5/0#5 True +Projection 0 of #0 Type not computed -[0] → #11 CTRL#2  #7#7 #2 +False  #6/1#6 False +Projection 1 of #0 Type not computed -*  #8#8 * +#2  #7#7 #2 Type not computed -[0] → — DATA -[1] → #4 DATA -[2] → #7 DATA012<  #9#9 < +*  #8#8 * 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 +[2] → #7 DATA012Return  #18#18 Return Type not computed [0] → #5 CTRL -[1] → #8 DATA01+  #20#20 + +[1] → #8 DATA01+  #20#20 + Type not computed [0] → — DATA [1] → #8 DATA -[2] → #21 DATA012#1  #21#21 #1 +[2] → #21 DATA012#1  #21#21 #1 Type not computed -Return  #24#24 Return +Return  #24#24 Return Type not computed [0] → #6 CTRL diff --git a/chapter09/docs/09-graph3.json b/chapter09/docs/09-graph3.json index 57546e51..abdb81b6 100644 --- a/chapter09/docs/09-graph3.json +++ b/chapter09/docs/09-graph3.json @@ -2,17 +2,15 @@ "ver": 1, "comp": "chapter09/docs/09-graph3.svg", "step": 1, - "roots": [], + "roots": [9], "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} + {"id": 9, "label": "Return", "type": null, "kind": "CTRL", "edges": [{"idx": 0, "def": 0, "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 51804b59..da89b9b9 100644 --- a/chapter09/docs/09-graph3.svg +++ b/chapter09/docs/09-graph3.svg @@ -1,4 +1,4 @@ -#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[1] → #8 · DATAStart  #2#2 Start 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 +arg  #4/1#4 arg Projection 1 of #2 Type not computed -[0] → #2 DATA*  #6#6 * +[0] → #2 DATA*  #6#6 * Type not computed [0] → — DATA [1] → #4 DATA -[2] → #4 DATA012*  #7#7 * +[2] → #4 DATA012*  #7#7 * Type not computed [0] → — DATA [1] → #4 DATA -[2] → #4 DATA012-  #8#8 - +[2] → #4 DATA012-  #8#8 - Type not computed [0] → — DATA [1] → #6 DATA -[2] → #7 DATA012Return  #9#9 Return +[2] → #7 DATA012Return  #9#9 Return Type not computed -[0] → #1 CTRL -[1] → #8 DATA01 +[0] → — CTRL +[1] → #8 DATA01 diff --git a/chapter09/docs/09-graph4.json b/chapter09/docs/09-graph4.json index accad3ff..1282e87e 100644 --- a/chapter09/docs/09-graph4.json +++ b/chapter09/docs/09-graph4.json @@ -2,14 +2,11 @@ "ver": 1, "comp": "chapter09/docs/09-graph4.svg", "step": 1, - "roots": [], + "roots": [10], "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} + {"id": 10, "label": "Return", "type": null, "kind": "CTRL", "edges": [{"idx": 0, "def": 0, "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 89045214..3c49a48a 100644 --- a/chapter09/docs/09-graph4.svg +++ b/chapter09/docs/09-graph4.svg @@ -1,4 +1,4 @@ -#10[1] → #9 · DATA#0  #9#9 #0 Type not computed -[0] → #2 CTRLStart  #2#2 Start +Return  #10#10 Return 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 +[0] → — CTRL +[1] → #9 DATA01 diff --git a/chapter09/docs/09-graph5.json b/chapter09/docs/09-graph5.json index 31957bfa..ff52950d 100644 --- a/chapter09/docs/09-graph5.json +++ b/chapter09/docs/09-graph5.json @@ -2,26 +2,17 @@ "ver": 1, "comp": "chapter09/docs/09-graph5.svg", "step": 1, - "roots": [], + "roots": [21], "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": 9, "label": "φ_arg", "type": null, "kind": "PHI", "edges": [{"idx": 0, "def": 0, "role": "ASSOC", "label": null}, {"idx": 1, "def": 4, "role": "DATA", "label": null}, {"idx": 2, "def": 18, "role": "DATA", "label": null, "backedge": true}], "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} + {"id": 21, "label": "Return", "type": null, "kind": "CTRL", "edges": [{"idx": 0, "def": 0, "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 7457cb38..bbaf2227 100644 --- a/chapter09/docs/09-graph5.svg +++ b/chapter09/docs/09-graph5.svg @@ -1,4 +1,4 @@ -#9[1] → #4 · DATA#9[2] → #18 · DATA#16[1] → #6 · DATA#16[2] → #9 · DATA#18[1] → #16 · DATA#18[2] → #6 · DATA#21[1] → #9 · DATAStart  #2#2 Start 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 +arg  #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 +[0] → #2 DATA#1  #6#6 #1 Type not computed -[0] → #12 CTRLφ_arg  #9#9 φ_arg +φ_arg  #9#9 φ_arg Type not computed -[0] → #7 ASSOC +[0] → — 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 + +[2] → #18 DATA012+  #16#16 + Type not computed [0] → — DATA [1] → #6 DATA -[2] → #9 DATA012+  #18#18 + +[2] → #9 DATA012+  #18#18 + Type not computed [0] → — DATA [1] → #16 DATA -[2] → #6 DATA012Return  #21#21 Return +[2] → #6 DATA012Return  #21#21 Return Type not computed -[0] → #8 CTRL -[1] → #9 DATA01Loop  #7Loop · 8 nodes−Fold region +[0] → — CTRL +[1] → #9 DATA01 diff --git a/chapter09/docs/09-graph6.json b/chapter09/docs/09-graph6.json index 09fa1202..5b511bd1 100644 --- a/chapter09/docs/09-graph6.json +++ b/chapter09/docs/09-graph6.json @@ -2,25 +2,16 @@ "ver": 1, "comp": "chapter09/docs/09-graph6.svg", "step": 1, - "roots": [], + "roots": [21], "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": 9, "label": "φ_arg", "type": null, "kind": "PHI", "edges": [{"idx": 0, "def": 0, "role": "ASSOC", "label": null}, {"idx": 1, "def": 4, "role": "DATA", "label": null}, {"idx": 2, "def": 25, "role": "DATA", "label": null, "backedge": true}], "proj": null}, + {"id": 21, "label": "Return", "type": null, "kind": "CTRL", "edges": [{"idx": 0, "def": 0, "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 2d530c46..b573d88a 100644 --- a/chapter09/docs/09-graph6.svg +++ b/chapter09/docs/09-graph6.svg @@ -1,4 +1,4 @@ -#9[1] → #4 · DATA#9[2] → #25 · DATA#21[1] → #9 · DATA#25[1] → #9 · DATA#25[2] → #24 · DATAStart  #2#2 Start 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 +arg  #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 +[0] → #2 DATAφ_arg  #9#9 φ_arg Type not computed -[0] → — DATA -[1] → #1 CTRL -[2] → #5 CTRL012φ_arg  #9#9 φ_arg -Type not computed - -[0] → #7 ASSOC +[0] → — 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 +[2] → #25 DATA012Return  #21#21 Return Type not computed -[0] → #6 CTRL -[1] → #9 DATA01#2  #24#24 #2 +[0] → — CTRL +[1] → #9 DATA01#2  #24#24 #2 Type not computed -+  #25#25 + ++  #25#25 + Type not computed [0] → — DATA [1] → #9 DATA -[2] → #24 DATA012Loop  #7Loop · 7 nodes−Fold region +[2] → #24 DATA012 -- cgit v1.2.3