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 --- chapter06/docs/06-graph1-post.json | 16 + chapter06/docs/06-graph1-post.svg | 147 ++++---- chapter06/docs/06-graph1-pre.json | 24 ++ chapter06/docs/06-graph1-pre.svg | 271 ++++++--------- chapter06/docs/06-graph2-post.json | 16 + chapter06/docs/06-graph2-post.svg | 147 ++++---- chapter06/docs/06-graph2-pre.json | 24 ++ chapter06/docs/06-graph2-pre.svg | 262 ++++++-------- chapter06/docs/06-graph3-nonconst-peephole.json | 24 ++ chapter06/docs/06-graph3-nonconst-peephole.svg | 259 ++++++-------- chapter06/docs/06-graph3-nonconst.json | 35 ++ chapter06/docs/06-graph3-nonconst.svg | 440 ++++++++---------------- chapter06/docs/Makefile | 13 +- 13 files changed, 778 insertions(+), 900 deletions(-) create mode 100644 chapter06/docs/06-graph1-post.json create mode 100644 chapter06/docs/06-graph1-pre.json create mode 100644 chapter06/docs/06-graph2-post.json create mode 100644 chapter06/docs/06-graph2-pre.json create mode 100644 chapter06/docs/06-graph3-nonconst-peephole.json create mode 100644 chapter06/docs/06-graph3-nonconst.json (limited to 'chapter06/docs') diff --git a/chapter06/docs/06-graph1-post.json b/chapter06/docs/06-graph1-post.json new file mode 100644 index 00000000..325d473a --- /dev/null +++ b/chapter06/docs/06-graph1-post.json @@ -0,0 +1,16 @@ +{ + "ver": 1, + "comp": "chapter06/docs/06-graph1-post.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": 13, "role": "CTRL", "label": null}], "proj": null}, + {"id": 12, "label": "#2", "type": null, "kind": "DATA", "edges": [], "proj": null}, + {"id": 13, "label": "Return", "type": null, "kind": "CTRL", "edges": [{"idx": 0, "def": 1, "role": "CTRL", "label": null}, {"idx": 1, "def": 12, "role": "DATA", "label": null}], "proj": null} + ], + "groups": [ + ] +} diff --git a/chapter06/docs/06-graph1-post.svg b/chapter06/docs/06-graph1-post.svg index faabcd8c..faef1501 100644 --- a/chapter06/docs/06-graph1-post.svg +++ b/chapter06/docs/06-graph1-post.svg @@ -1,67 +1,80 @@ - - - - - - -chapter06 - - -cluster_Nodes - - - - -Start2 - - -Start - - - -$ctrl - - - -Stop3 - -Stop - - - -Return13 - -Return - - - -Stop3->Return13 - - -0 - - - -Con_12 - -#2 - - - -Return13->Start2:p0 - - -0 - - - -Return13->Con_12 - - -1 - - - +#3[0] → #13 · CTRL#13[0] → #1 · CTRL#13[1] → #12 · 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] → #13 CTRL0#2  #12#12 #2 +Type not computed + +Return  #13#13 Return +Type not computed + +[0] → #1 CTRL +[1] → #12 DATA01 diff --git a/chapter06/docs/06-graph1-pre.json b/chapter06/docs/06-graph1-pre.json new file mode 100644 index 00000000..18615f2c --- /dev/null +++ b/chapter06/docs/06-graph1-pre.json @@ -0,0 +1,24 @@ +{ + "ver": 1, + "comp": "chapter06/docs/06-graph1-pre.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": 12, "role": "CTRL", "label": null}, {"idx": 1, "def": 16, "role": "CTRL", "label": null}], "proj": null}, + {"id": 4, "label": "True", "type": null, "kind": "CTRL", "edges": [{"idx": 0, "def": 7, "role": "CTRL", "label": null}], "proj": {"par": 7, "idx": 0}}, + {"id": 5, "label": "False", "type": null, "kind": "CTRL", "edges": [{"idx": 0, "def": 7, "role": "CTRL", "label": null}], "proj": {"par": 7, "idx": 1}}, + {"id": 6, "label": "#1", "type": null, "kind": "DATA", "edges": [], "proj": null}, + {"id": 7, "label": "If", "type": null, "kind": "CTRL", "edges": [{"idx": 0, "def": 1, "role": "CTRL", "label": null}, {"idx": 1, "def": 6, "role": "DATA", "label": null}], "proj": null}, + {"id": 11, "label": "#2", "type": null, "kind": "DATA", "edges": [], "proj": null}, + {"id": 12, "label": "Return", "type": null, "kind": "CTRL", "edges": [{"idx": 0, "def": 4, "role": "CTRL", "label": null}, {"idx": 1, "def": 11, "role": "DATA", "label": null}], "proj": null}, + {"id": 13, "label": "#~CONTROL", "type": null, "kind": "DATA", "edges": [], "proj": null}, + {"id": 14, "label": "Region", "type": null, "kind": "REGION", "edges": [{"idx": 0, "def": 0, "role": "DATA", "label": null}, {"idx": 1, "def": 13, "role": "DATA", "label": null}, {"idx": 2, "def": 5, "role": "CTRL", "label": null}], "proj": null}, + {"id": 15, "label": "#1", "type": null, "kind": "DATA", "edges": [], "proj": null}, + {"id": 16, "label": "Return", "type": null, "kind": "CTRL", "edges": [{"idx": 0, "def": 14, "role": "CTRL", "label": null}, {"idx": 1, "def": 15, "role": "DATA", "label": null}], "proj": null} + ], + "groups": [ + ] +} diff --git a/chapter06/docs/06-graph1-pre.svg b/chapter06/docs/06-graph1-pre.svg index f80edcfc..2ba929f8 100644 --- a/chapter06/docs/06-graph1-pre.svg +++ b/chapter06/docs/06-graph1-pre.svg @@ -1,160 +1,111 @@ - - - - - - -chapter06 - - -cluster_Nodes - - - - -Start2 - - -Start - - - -$ctrl - - - -Stop3 - -Stop - - - -Return12 - -Return - - - -Stop3->Return12 - - -0 - - - -Return16 - -Return - - - -Stop3->Return16 - - -1 - - - -Con_6 - -#1 - - - -If7 - - -If - - - -True - - -False - - - -If7->Start2:p0 - - -0 - - - -If7->Con_6 - - -1 - - - -Con_11 - -#2 - - - -Return12->If7:p0 - - -0 - - - -Return12->Con_11 - - -1 - - - -Con_13 - -#~CONTROL - - - -Region14 - -Region - - - -Region14->If7:p1 - - -2 - - - -Region14->Con_13 - - -1 - - - -Con_15 - -#1 - - - -Return16->Region14 - - -0 - - - -Return16->Con_15 - - -1 - - - +#3[0] → #12 · CTRL#3[1] → #16 · CTRL#7[0] → #1 · CTRL#7[1] → #6 · DATA#12[0] → #4 · CTRL#12[1] → #11 · DATA#14[1] → #13 · DATA#14[2] → #5 · CTRL#16[0] → #14 · CTRL#16[1] → #15 · 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] → #12 CTRL +[1] → #16 CTRL01True  #4/0#4 True +Projection 0 of #7 +Type not computed + +[0] → #7 CTRLFalse  #5/1#5 False +Projection 1 of #7 +Type not computed + +[0] → #7 CTRL#1  #6#6 #1 +Type not computed + +If  #7#7 If +Type not computed + +[0] → #1 CTRL +[1] → #6 DATA01#2  #11#11 #2 +Type not computed + +Return  #12#12 Return +Type not computed + +[0] → #4 CTRL +[1] → #11 DATA01#~CONTROL  #13#13 #~CONTROL +Type not computed + +Region  #14#14 Region +Type not computed + +[0] → — DATA +[1] → #13 DATA +[2] → #5 CTRL012#1  #15#15 #1 +Type not computed + +Return  #16#16 Return +Type not computed + +[0] → #14 CTRL +[1] → #15 DATA01 diff --git a/chapter06/docs/06-graph2-post.json b/chapter06/docs/06-graph2-post.json new file mode 100644 index 00000000..31be64c2 --- /dev/null +++ b/chapter06/docs/06-graph2-post.json @@ -0,0 +1,16 @@ +{ + "ver": 1, + "comp": "chapter06/docs/06-graph2-post.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": 17, "role": "CTRL", "label": null}], "proj": null}, + {"id": 13, "label": "#2", "type": null, "kind": "DATA", "edges": [], "proj": null}, + {"id": 17, "label": "Return", "type": null, "kind": "CTRL", "edges": [{"idx": 0, "def": 1, "role": "CTRL", "label": null}, {"idx": 1, "def": 13, "role": "DATA", "label": null}], "proj": null} + ], + "groups": [ + ] +} diff --git a/chapter06/docs/06-graph2-post.svg b/chapter06/docs/06-graph2-post.svg index 269eb15c..db95f198 100644 --- a/chapter06/docs/06-graph2-post.svg +++ b/chapter06/docs/06-graph2-post.svg @@ -1,67 +1,80 @@ - - - - - - -chapter06 - - -cluster_Nodes - - - - -Return17 - -Return - - - -Start2 - - -Start - - - -$ctrl - - - -Return17->Start2:p0 - - -0 - - - -Con_13 - -#2 - - - -Return17->Con_13 - - -1 - - - -Stop3 - -Stop - - - -Stop3->Return17 - - -0 - - - +#3[0] → #17 · CTRL#17[0] → #1 · CTRL#17[1] → #13 · 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] → #17 CTRL0#2  #13#13 #2 +Type not computed + +Return  #17#17 Return +Type not computed + +[0] → #1 CTRL +[1] → #13 DATA01 diff --git a/chapter06/docs/06-graph2-pre.json b/chapter06/docs/06-graph2-pre.json new file mode 100644 index 00000000..fd187946 --- /dev/null +++ b/chapter06/docs/06-graph2-pre.json @@ -0,0 +1,24 @@ +{ + "ver": 1, + "comp": "chapter06/docs/06-graph2-pre.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": 16, "role": "CTRL", "label": null}], "proj": null}, + {"id": 4, "label": "True", "type": null, "kind": "CTRL", "edges": [{"idx": 0, "def": 8, "role": "CTRL", "label": null}], "proj": {"par": 8, "idx": 0}}, + {"id": 5, "label": "False", "type": null, "kind": "CTRL", "edges": [{"idx": 0, "def": 8, "role": "CTRL", "label": null}], "proj": {"par": 8, "idx": 1}}, + {"id": 7, "label": "#1", "type": null, "kind": "DATA", "edges": [], "proj": null}, + {"id": 8, "label": "If", "type": null, "kind": "CTRL", "edges": [{"idx": 0, "def": 1, "role": "CTRL", "label": null}, {"idx": 1, "def": 7, "role": "DATA", "label": null}], "proj": null}, + {"id": 12, "label": "#2", "type": null, "kind": "DATA", "edges": [], "proj": null}, + {"id": 13, "label": "#3", "type": null, "kind": "DATA", "edges": [], "proj": null}, + {"id": 14, "label": "Region", "type": null, "kind": "REGION", "edges": [{"idx": 0, "def": 0, "role": "DATA", "label": null}, {"idx": 1, "def": 4, "role": "CTRL", "label": null}, {"idx": 2, "def": 5, "role": "CTRL", "label": null}], "proj": null}, + {"id": 15, "label": "φ_a", "type": null, "kind": "PHI", "edges": [{"idx": 0, "def": 14, "role": "ASSOC", "label": null}, {"idx": 1, "def": 12, "role": "DATA", "label": null}, {"idx": 2, "def": 13, "role": "DATA", "label": null}], "proj": null}, + {"id": 16, "label": "Return", "type": null, "kind": "CTRL", "edges": [{"idx": 0, "def": 14, "role": "CTRL", "label": null}, {"idx": 1, "def": 15, "role": "DATA", "label": null}], "proj": null} + ], + "groups": [ + {"id": 8, "par": 0, "nodes": [4, 5, 8, 14, 15]} + ] +} diff --git a/chapter06/docs/06-graph2-pre.svg b/chapter06/docs/06-graph2-pre.svg index e9a4dd55..bbc372f3 100644 --- a/chapter06/docs/06-graph2-pre.svg +++ b/chapter06/docs/06-graph2-pre.svg @@ -1,154 +1,108 @@ - - - - - - -chapter06 - - -cluster_Nodes - - - - -Return16 - -Return - - - -Region14 - -Region - - - -Return16->Region14 - - -0 - - - -Phi_a15 - -φ_a - - - -Return16->Phi_a15 - - -1 - - - -Start2 - - -Start - - - -$ctrl - - - -Stop3 - -Stop - - - -Stop3->Return16 - - -0 - - - -Con_7 - -#1 - - - -If8 - - -If - - - -True - - -False - - - -If8->Start2:p0 - - -0 - - - -If8->Con_7 - - -1 - - - -Con_12 - -#2 - - - -Con_13 - -#3 - - - -Region14->If8:p0 - - -1 - - - -Region14->If8:p1 - - -2 - - - -Phi_a15->Con_12 - - -1 - - - -Phi_a15->Con_13 - - -2 - - - -Phi_a15->Region14 - - -0 - - - +#3[0] → #16 · CTRL#8[0] → #1 · CTRL#8[1] → #7 · DATA#14[1] → #4 · CTRL#14[2] → #5 · CTRL#15[1] → #12 · DATA#15[2] → #13 · DATA#16[0] → #14 · CTRL#16[1] → #15 · 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] → #16 CTRL0True  #4/0#4 True +Projection 0 of #8 +Type not computed + +[0] → #8 CTRLFalse  #5/1#5 False +Projection 1 of #8 +Type not computed + +[0] → #8 CTRL#1  #7#7 #1 +Type not computed + +If  #8#8 If +Type not computed + +[0] → #1 CTRL +[1] → #7 DATA01#2  #12#12 #2 +Type not computed + +#3  #13#13 #3 +Type not computed + +Region  #14#14 Region +Type not computed + +[0] → — DATA +[1] → #4 CTRL +[2] → #5 CTRL012φ_a  #15#15 φ_a +Type not computed + +[0] → #14 ASSOC +[1] → #12 DATA +[2] → #13 DATA[0] → #14012Return  #16#16 Return +Type not computed + +[0] → #14 CTRL +[1] → #15 DATA01If  #8If · 5 nodes−Fold region diff --git a/chapter06/docs/06-graph3-nonconst-peephole.json b/chapter06/docs/06-graph3-nonconst-peephole.json new file mode 100644 index 00000000..7f1f183c --- /dev/null +++ b/chapter06/docs/06-graph3-nonconst-peephole.json @@ -0,0 +1,24 @@ +{ + "ver": 1, + "comp": "chapter06/docs/06-graph3-nonconst-peephole.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": 31, "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": 8, "role": "CTRL", "label": null}], "proj": {"par": 8, "idx": 0}}, + {"id": 6, "label": "False", "type": null, "kind": "CTRL", "edges": [{"idx": 0, "def": 8, "role": "CTRL", "label": null}], "proj": {"par": 8, "idx": 1}}, + {"id": 8, "label": "If", "type": null, "kind": "CTRL", "edges": [{"idx": 0, "def": 1, "role": "CTRL", "label": null}, {"idx": 1, "def": 4, "role": "DATA", "label": null}], "proj": null}, + {"id": 22, "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": 27, "label": "#4", "type": null, "kind": "DATA", "edges": [], "proj": null}, + {"id": 29, "label": "#1", "type": null, "kind": "DATA", "edges": [], "proj": null}, + {"id": 30, "label": "φ_ab", "type": null, "kind": "PHI", "edges": [{"idx": 0, "def": 22, "role": "ASSOC", "label": null}, {"idx": 1, "def": 27, "role": "DATA", "label": null}, {"idx": 2, "def": 29, "role": "DATA", "label": null}], "proj": null}, + {"id": 31, "label": "Return", "type": null, "kind": "CTRL", "edges": [{"idx": 0, "def": 22, "role": "CTRL", "label": null}, {"idx": 1, "def": 30, "role": "DATA", "label": null}], "proj": null} + ], + "groups": [ + {"id": 8, "par": 0, "nodes": [5, 6, 8, 22, 30]} + ] +} diff --git a/chapter06/docs/06-graph3-nonconst-peephole.svg b/chapter06/docs/06-graph3-nonconst-peephole.svg index c312ffc5..85728510 100644 --- a/chapter06/docs/06-graph3-nonconst-peephole.svg +++ b/chapter06/docs/06-graph3-nonconst-peephole.svg @@ -1,150 +1,109 @@ - - - - - - -chapter06 - - -cluster_Nodes - - - - -Start2 - - -Start - - - -$ctrl - -arg - - - -Stop3 - -Stop - - - -Return31 - -Return - - - -Stop3->Return31 - - -0 - - - -Region22 - -Region - - - -If8 - - -If - - - -True - - -False - - - -Region22->If8:p0 - - -1 - - - -Region22->If8:p1 - - -2 - - - -If8->Start2:p0 - - -0 - - - -If8->Start2:p1 - - -1 - - - -Con_27 - -#4 - - - -Con_29 - -#1 - - - -Phi_ab30 - -φ_ab - - - -Phi_ab30->Region22 - - -0 - - - -Phi_ab30->Con_27 - - -1 - - - -Phi_ab30->Con_29 - - -2 - - - -Return31->Region22 - - -0 - - - -Return31->Phi_ab30 - - -1 - - - +#3[0] → #31 · CTRL#8[0] → #1 · CTRL#8[1] → #4 · DATA#22[1] → #5 · CTRL#22[2] → #6 · CTRL#30[1] → #27 · DATA#30[2] → #29 · DATA#31[0] → #22 · CTRL#31[1] → #30 · 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] → #31 CTRL0arg  #4/1#4 arg +Projection 1 of #2 +Type not computed + +[0] → #2 DATATrue  #5/0#5 True +Projection 0 of #8 +Type not computed + +[0] → #8 CTRLFalse  #6/1#6 False +Projection 1 of #8 +Type not computed + +[0] → #8 CTRLIf  #8#8 If +Type not computed + +[0] → #1 CTRL +[1] → #4 DATA01Region  #22#22 Region +Type not computed + +[0] → — DATA +[1] → #5 CTRL +[2] → #6 CTRL012#4  #27#27 #4 +Type not computed + +#1  #29#29 #1 +Type not computed + +φ_ab  #30#30 φ_ab +Type not computed + +[0] → #22 ASSOC +[1] → #27 DATA +[2] → #29 DATA[0] → #22012Return  #31#31 Return +Type not computed + +[0] → #22 CTRL +[1] → #30 DATA01If  #8If · 5 nodes−Fold region diff --git a/chapter06/docs/06-graph3-nonconst.json b/chapter06/docs/06-graph3-nonconst.json new file mode 100644 index 00000000..77bb6d2c --- /dev/null +++ b/chapter06/docs/06-graph3-nonconst.json @@ -0,0 +1,35 @@ +{ + "ver": 1, + "comp": "chapter06/docs/06-graph3-nonconst.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": 25, "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": 8, "role": "CTRL", "label": null}], "proj": {"par": 8, "idx": 0}}, + {"id": 6, "label": "#0", "type": null, "kind": "DATA", "edges": [], "proj": null}, + {"id": 7, "label": "#1", "type": null, "kind": "DATA", "edges": [], "proj": null}, + {"id": 8, "label": "If", "type": null, "kind": "CTRL", "edges": [{"idx": 0, "def": 1, "role": "CTRL", "label": null}, {"idx": 1, "def": 4, "role": "DATA", "label": null}], "proj": null}, + {"id": 9, "label": "False", "type": null, "kind": "CTRL", "edges": [{"idx": 0, "def": 8, "role": "CTRL", "label": null}], "proj": {"par": 8, "idx": 1}}, + {"id": 10, "label": "True", "type": null, "kind": "CTRL", "edges": [{"idx": 0, "def": 13, "role": "CTRL", "label": null}], "proj": {"par": 13, "idx": 0}}, + {"id": 11, "label": "False", "type": null, "kind": "CTRL", "edges": [{"idx": 0, "def": 13, "role": "CTRL", "label": null}], "proj": {"par": 13, "idx": 1}}, + {"id": 12, "label": "#2", "type": null, "kind": "DATA", "edges": [], "proj": null}, + {"id": 13, "label": "If", "type": null, "kind": "CTRL", "edges": [{"idx": 0, "def": 5, "role": "CTRL", "label": null}, {"idx": 1, "def": 4, "role": "DATA", "label": null}], "proj": null}, + {"id": 17, "label": "#2", "type": null, "kind": "DATA", "edges": [], "proj": null}, + {"id": 18, "label": "#3", "type": null, "kind": "DATA", "edges": [], "proj": null}, + {"id": 19, "label": "Region", "type": null, "kind": "REGION", "edges": [{"idx": 0, "def": 0, "role": "DATA", "label": null}, {"idx": 1, "def": 10, "role": "CTRL", "label": null}, {"idx": 2, "def": 11, "role": "CTRL", "label": null}], "proj": null}, + {"id": 20, "label": "φ_b", "type": null, "kind": "PHI", "edges": [{"idx": 0, "def": 19, "role": "ASSOC", "label": null}, {"idx": 1, "def": 17, "role": "DATA", "label": null}, {"idx": 2, "def": 18, "role": "DATA", "label": null}], "proj": null}, + {"id": 21, "label": "Region", "type": null, "kind": "REGION", "edges": [{"idx": 0, "def": 0, "role": "DATA", "label": null}, {"idx": 1, "def": 19, "role": "CTRL", "label": null}, {"idx": 2, "def": 9, "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": 12, "role": "DATA", "label": null}, {"idx": 2, "def": 6, "role": "DATA", "label": null}], "proj": null}, + {"id": 23, "label": "φ_b", "type": null, "kind": "PHI", "edges": [{"idx": 0, "def": 21, "role": "ASSOC", "label": null}, {"idx": 1, "def": 20, "role": "DATA", "label": null}, {"idx": 2, "def": 7, "role": "DATA", "label": null}], "proj": null}, + {"id": 24, "label": "+", "type": null, "kind": "DATA", "edges": [{"idx": 0, "def": 0, "role": "DATA", "label": null}, {"idx": 1, "def": 23, "role": "DATA", "label": null}, {"idx": 2, "def": 22, "role": "DATA", "label": null}], "proj": null}, + {"id": 25, "label": "Return", "type": null, "kind": "CTRL", "edges": [{"idx": 0, "def": 21, "role": "CTRL", "label": null}, {"idx": 1, "def": 24, "role": "DATA", "label": null}], "proj": null} + ], + "groups": [ + {"id": 8, "par": 0, "nodes": [5, 8, 9, 21, 22, 23, 24]}, + {"id": 13, "par": 8, "nodes": [10, 11, 13, 19, 20]} + ] +} diff --git a/chapter06/docs/06-graph3-nonconst.svg b/chapter06/docs/06-graph3-nonconst.svg index dee852e4..d46d4bb1 100644 --- a/chapter06/docs/06-graph3-nonconst.svg +++ b/chapter06/docs/06-graph3-nonconst.svg @@ -1,290 +1,150 @@ - - - - - - -chapter06 - - -cluster_Nodes - - - - -Start2 - - -Start - - - -$ctrl - -arg - - - -Stop3 - -Stop - - - -Return25 - -Return - - - -Stop3->Return25 - - -0 - - - -Con_6 - -#0 - - - -Con_7 - -#1 - - - -If8 - - -If - - - -True - - -False - - - -If8->Start2:p0 - - -0 - - - -If8->Start2:p1 - - -1 - - - -Con_12 - -#2 - - - -If13 - - -If - - - -True - - -False - - - -If13->Start2:p1 - - -1 - - - -If13->If8:p0 - - -0 - - - -Con_17 - -#2 - - - -Con_18 - -#3 - - - -Region19 - -Region - - - -Region19->If13:p0 - - -1 - - - -Region19->If13:p1 - - -2 - - - -Phi_b20 - -φ_b - - - -Phi_b20->Con_17 - - -1 - - - -Phi_b20->Con_18 - - -2 - - - -Phi_b20->Region19 - - -0 - - - -Region21 - -Region - - - -Region21->If8:p1 - - -2 - - - -Region21->Region19 - - -1 - - - -Phi_a22 - -φ_a - - - -Phi_a22->Con_6 - - -2 - - - -Phi_a22->Con_12 - - -1 - - - -Phi_a22->Region21 - - -0 - - - -Phi_b23 - -φ_b - - - -Phi_b23->Con_7 - - -2 - - - -Phi_b23->Phi_b20 - - -1 - - - -Phi_b23->Region21 - - -0 - - - -Add24 - -+ - - - -Add24->Phi_a22 - - -2 - - - -Add24->Phi_b23 - - -1 - - - -Return25->Region21 - - -0 - - - -Return25->Add24 - - -1 - - - +#3[0] → #25 · CTRL#8[0] → #1 · CTRL#8[1] → #4 · DATA#13[0] → #5 · CTRL#13[1] → #4 · DATA#19[1] → #10 · CTRL#19[2] → #11 · CTRL#20[1] → #17 · DATA#20[2] → #18 · DATA#21[1] → #19 · CTRL#21[2] → #9 · CTRL#22[1] → #12 · DATA#22[2] → #6 · DATA#23[1] → #20 · DATA#23[2] → #7 · DATA#24[1] → #23 · DATA#24[2] → #22 · DATA#25[0] → #21 · CTRL#25[1] → #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] → #25 CTRL0arg  #4/1#4 arg +Projection 1 of #2 +Type not computed + +[0] → #2 DATATrue  #5/0#5 True +Projection 0 of #8 +Type not computed + +[0] → #8 CTRL#0  #6#6 #0 +Type not computed + +#1  #7#7 #1 +Type not computed + +If  #8#8 If +Type not computed + +[0] → #1 CTRL +[1] → #4 DATA01False  #9/1#9 False +Projection 1 of #8 +Type not computed + +[0] → #8 CTRLTrue  #10/0#10 True +Projection 0 of #13 +Type not computed + +[0] → #13 CTRLFalse  #11/1#11 False +Projection 1 of #13 +Type not computed + +[0] → #13 CTRL#2  #12#12 #2 +Type not computed + +If  #13#13 If +Type not computed + +[0] → #5 CTRL +[1] → #4 DATA01#2  #17#17 #2 +Type not computed + +#3  #18#18 #3 +Type not computed + +Region  #19#19 Region +Type not computed + +[0] → — DATA +[1] → #10 CTRL +[2] → #11 CTRL012φ_b  #20#20 φ_b +Type not computed + +[0] → #19 ASSOC +[1] → #17 DATA +[2] → #18 DATA[0] → #19012Region  #21#21 Region +Type not computed + +[0] → — DATA +[1] → #19 CTRL +[2] → #9 CTRL012φ_a  #22#22 φ_a +Type not computed + +[0] → #21 ASSOC +[1] → #12 DATA +[2] → #6 DATA[0] → #21012φ_b  #23#23 φ_b +Type not computed + +[0] → #21 ASSOC +[1] → #20 DATA +[2] → #7 DATA[0] → #21012+  #24#24 + +Type not computed + +[0] → — DATA +[1] → #23 DATA +[2] → #22 DATA012Return  #25#25 Return +Type not computed + +[0] → #21 CTRL +[1] → #24 DATA01If  #8If · 12 nodes−Fold regionIf  #13If · 5 nodes−Fold region diff --git a/chapter06/docs/Makefile b/chapter06/docs/Makefile index 12659b8f..6fa0f057 100644 --- a/chapter06/docs/Makefile +++ b/chapter06/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