summaryrefslogtreecommitdiff
path: root/chapter11/docs/example2b-merged.json
diff options
context:
space:
mode:
authorCliff Click <cliffc@acm.org>2026-10-03 14:03:48 -0700
committerCliff Click <cliffc@acm.org>2026-10-03 14:03:48 -0700
commit22df891893d30e9906d0b14fc3ae5d8e67d500b2 (patch)
tree2bda142f92febc8b26f1cabd4bb0c46d1864f34b /chapter11/docs/example2b-merged.json
parentc3958e34c0de21df52e57e47e4f47ffe6464f138 (diff)
downloadSimple-22df891893d30e9906d0b14fc3ae5d8e67d500b2.tar.gz
Simple-22df891893d30e9906d0b14fc3ae5d8e67d500b2.zip
Chapter renumber, and split ch 17
Renumber chapters 10a, 10b, 11, 12, 13, 14 -> 10, 11, 13, 12, [11,14]. Split ch 17 into a 17a and 17b; shuffle around im/mutable syntax to be consistent, and present it more slowly. THe new immutable syntax is pushed through all later chapters
Diffstat (limited to 'chapter11/docs/example2b-merged.json')
-rw-r--r--chapter11/docs/example2b-merged.json339
1 files changed, 339 insertions, 0 deletions
diff --git a/chapter11/docs/example2b-merged.json b/chapter11/docs/example2b-merged.json
new file mode 100644
index 00000000..914b7cfb
--- /dev/null
+++ b/chapter11/docs/example2b-merged.json
@@ -0,0 +1,339 @@
+{
+ "ver": 1,
+ "comp": "chapter11/docs/example2b-merged.svg",
+ "step": 8,
+ "roots": [
+ 23
+ ],
+ "scope": 0,
+ "nodes": [
+ {
+ "id": 1,
+ "label": "Start",
+ "type": null,
+ "kind": "CTRL",
+ "edges": [],
+ "proj": null
+ },
+ {
+ "id": 3,
+ "label": "$mem",
+ "type": null,
+ "kind": "MEM",
+ "edges": [
+ {
+ "idx": 0,
+ "def": 1,
+ "role": "MEM",
+ "label": null
+ }
+ ],
+ "proj": {
+ "par": 1,
+ "idx": 1
+ }
+ },
+ {
+ "id": 5,
+ "label": "new Point",
+ "type": null,
+ "kind": "DATA",
+ "edges": [
+ {
+ "idx": 0,
+ "def": 0,
+ "role": "CTRL",
+ "label": null
+ }
+ ],
+ "proj": null
+ },
+ {
+ "id": 6,
+ "label": "#0",
+ "type": null,
+ "kind": "DATA",
+ "edges": [
+ {
+ "idx": 0,
+ "def": 1,
+ "role": "ASSOC",
+ "label": null
+ }
+ ],
+ "proj": null
+ },
+ {
+ "id": 7,
+ "label": "Store p.x",
+ "type": "MEM#2",
+ "kind": "MEM",
+ "edges": [
+ {
+ "idx": 0,
+ "def": 0,
+ "role": "CTRL",
+ "label": null
+ },
+ {
+ "idx": 1,
+ "def": 3,
+ "role": "MEM",
+ "label": null
+ },
+ {
+ "idx": 2,
+ "def": 5,
+ "role": "DATA",
+ "label": null
+ },
+ {
+ "idx": 3,
+ "def": 6,
+ "role": "DATA",
+ "label": null
+ }
+ ],
+ "proj": null
+ },
+ {
+ "id": 8,
+ "label": "Store p.y",
+ "type": "MEM#3",
+ "kind": "MEM",
+ "edges": [
+ {
+ "idx": 0,
+ "def": 0,
+ "role": "CTRL",
+ "label": null
+ },
+ {
+ "idx": 1,
+ "def": 3,
+ "role": "MEM",
+ "label": null
+ },
+ {
+ "idx": 2,
+ "def": 5,
+ "role": "DATA",
+ "label": null
+ },
+ {
+ "idx": 3,
+ "def": 6,
+ "role": "DATA",
+ "label": null
+ }
+ ],
+ "proj": null
+ },
+ {
+ "id": 11,
+ "label": "True",
+ "type": null,
+ "kind": "CTRL",
+ "edges": [],
+ "proj": {
+ "par": 0,
+ "idx": 0
+ }
+ },
+ {
+ "id": 12,
+ "label": "False",
+ "type": null,
+ "kind": "CTRL",
+ "edges": [],
+ "proj": {
+ "par": 0,
+ "idx": 1
+ }
+ },
+ {
+ "id": 13,
+ "label": "#3",
+ "type": null,
+ "kind": "DATA",
+ "edges": [
+ {
+ "idx": 0,
+ "def": 1,
+ "role": "ASSOC",
+ "label": null
+ }
+ ],
+ "proj": null
+ },
+ {
+ "id": 14,
+ "label": "Store p.x",
+ "type": "MEM#2",
+ "kind": "MEM",
+ "edges": [
+ {
+ "idx": 0,
+ "def": 11,
+ "role": "CTRL",
+ "label": null
+ },
+ {
+ "idx": 1,
+ "def": 7,
+ "role": "MEM",
+ "label": null
+ },
+ {
+ "idx": 2,
+ "def": 5,
+ "role": "DATA",
+ "label": null
+ },
+ {
+ "idx": 3,
+ "def": 13,
+ "role": "DATA",
+ "label": null
+ }
+ ],
+ "proj": null
+ },
+ {
+ "id": 15,
+ "label": "#4",
+ "type": null,
+ "kind": "DATA",
+ "edges": [
+ {
+ "idx": 0,
+ "def": 1,
+ "role": "ASSOC",
+ "label": null
+ }
+ ],
+ "proj": null
+ },
+ {
+ "id": 16,
+ "label": "Store p.x",
+ "type": "MEM#2",
+ "kind": "MEM",
+ "edges": [
+ {
+ "idx": 0,
+ "def": 12,
+ "role": "CTRL",
+ "label": null
+ },
+ {
+ "idx": 1,
+ "def": 7,
+ "role": "MEM",
+ "label": null
+ },
+ {
+ "idx": 2,
+ "def": 5,
+ "role": "DATA",
+ "label": null
+ },
+ {
+ "idx": 3,
+ "def": 15,
+ "role": "DATA",
+ "label": null
+ }
+ ],
+ "proj": null
+ },
+ {
+ "id": 20,
+ "label": "MemPhi x",
+ "type": "MEM#2",
+ "kind": "PHI",
+ "edges": [
+ {
+ "idx": 0,
+ "def": 0,
+ "role": "ASSOC",
+ "label": null
+ },
+ {
+ "idx": 1,
+ "def": 14,
+ "role": "MEM",
+ "label": null
+ },
+ {
+ "idx": 2,
+ "def": 16,
+ "role": "MEM",
+ "label": null
+ }
+ ],
+ "proj": null
+ },
+ {
+ "id": 22,
+ "label": "MemMerge",
+ "type": null,
+ "kind": "MEM",
+ "edges": [
+ {
+ "idx": 0,
+ "def": 0,
+ "role": "CTRL",
+ "label": null
+ },
+ {
+ "idx": 1,
+ "def": 3,
+ "role": "MEM",
+ "label": null
+ },
+ {
+ "idx": 2,
+ "def": 20,
+ "role": "MEM",
+ "label": null
+ },
+ {
+ "idx": 3,
+ "def": 8,
+ "role": "MEM",
+ "label": null
+ }
+ ],
+ "proj": null
+ },
+ {
+ "id": 23,
+ "label": "Return",
+ "type": null,
+ "kind": "CTRL",
+ "edges": [
+ {
+ "idx": 0,
+ "def": 0,
+ "role": "CTRL",
+ "label": null
+ },
+ {
+ "idx": 1,
+ "def": 22,
+ "role": "MEM",
+ "label": null
+ },
+ {
+ "idx": 2,
+ "def": 5,
+ "role": "DATA",
+ "label": null
+ }
+ ],
+ "proj": null
+ }
+ ],
+ "groups": []
+}