about summary refs log tree commit diff stats
path: root/cpp/.traces/interpolate-at-start
diff options
context:
space:
mode:
Diffstat (limited to 'cpp/.traces/interpolate-at-start')
-rw-r--r--cpp/.traces/interpolate-at-start70
1 files changed, 63 insertions, 7 deletions
diff --git a/cpp/.traces/interpolate-at-start b/cpp/.traces/interpolate-at-start
index 47c1d8c0..fb228fb8 100644
--- a/cpp/.traces/interpolate-at-start
+++ b/cpp/.traces/interpolate-at-start
@@ -1,3 +1,40 @@
+parse/0: instruction: run
+parse/0:   ingredient: {name: "
+    1:address:array:character/raw <- new [_, hello!]
+    2:address:array:character/raw <- new [abc]
+    3:address:array:character/raw <- interpolate 1:address:array:character/raw, 2:address:array:character/raw
+    4:array:character/raw <- copy 3:address:array:character/raw/deref
+  ", value: 0, type: 0, properties: ["
+    1:address:array:character/raw <- new [_, hello!]
+    2:address:array:character/raw <- new [abc]
+    3:address:array:character/raw <- interpolate 1:address:array:character/raw, 2:address:array:character/raw
+    4:array:character/raw <- copy 3:address:array:character/raw/deref
+  ": "literal-string"]}
+parse/0: instruction: memory-should-contain
+parse/0:   ingredient: {name: "
+    4:string <- [abc, hello!]
+    16 <- 0  # out of bounds
+  ", value: 0, type: 0, properties: ["
+    4:string <- [abc, hello!]
+    16 <- 0  # out of bounds
+  ": "literal-string"]}
+after-brace/0: recipe interpolate-at-start
+after-brace/0: run ...
+after-brace/0: memory-should-contain ...
+new/0: routine allocated memory from 1000 to 101000
+schedule/0: interpolate-at-start
+run/0: instruction interpolate-at-start/0
+run/0: run {name: "
+    1:address:array:character/raw <- new [_, hello!]
+    2:address:array:character/raw <- new [abc]
+    3:address:array:character/raw <- interpolate 1:address:array:character/raw, 2:address:array:character/raw
+    4:array:character/raw <- copy 3:address:array:character/raw/deref
+  ", value: 0, type: 0, properties: ["
+    1:address:array:character/raw <- new [_, hello!]
+    2:address:array:character/raw <- new [abc]
+    3:address:array:character/raw <- interpolate 1:address:array:character/raw, 2:address:array:character/raw
+    4:array:character/raw <- copy 3:address:array:character/raw/deref
+  ": "literal-string"]}
 parse/0: instruction: new
 parse/0:   ingredient: {name: "_, hello!", value: 0, type: 0, properties: ["_, hello!": "literal-string"]}
 parse/0:   product: {name: "1", value: 0, type: 2-5-4, properties: ["1": "address":"array":"character", "raw": ]}
@@ -13,20 +50,18 @@ parse/0:   ingredient: {name: "3", value: 0, type: 2-5-4, properties: ["3": "add
 parse/0:   product: {name: "4", value: 0, type: 5-4, properties: ["4": "array":"character", "raw": ]}
 new/0: _, hello! -> 0
 new/0: abc -> 0
-after-brace/0: recipe test-interpolate-at-start
+after-brace/0: recipe tmp0
 after-brace/0: new ...
 after-brace/0: new ...
 after-brace/0: interpolate ...
 after-brace/0: copy ...
-new/0: routine allocated memory from 1000 to 101000
-schedule/0: test-interpolate-at-start
-run/0: instruction test-interpolate-at-start/0
+run/0: instruction tmp0/0
 run/0: {name: "1", value: 1, type: 2-5-4, properties: ["1": "address":"array":"character", "raw": ]} <- new {name: "_, hello!", value: 0, type: 0, properties: ["_, hello!": "literal-string"]}
 mem/0: storing 1000 in location 1
-run/0: instruction test-interpolate-at-start/1
+run/0: instruction tmp0/1
 run/0: {name: "2", value: 2, type: 2-5-4, properties: ["2": "address":"array":"character", "raw": ]} <- new {name: "abc", value: 0, type: 0, properties: ["abc": "literal-string"]}
 mem/0: storing 1010 in location 2
-run/0: instruction test-interpolate-at-start/2
+run/0: instruction tmp0/2
 run/0: {name: "3", value: 3, type: 2-5-4, properties: ["3": "address":"array":"character", "raw": ]} <- interpolate {name: "1", value: 1, type: 2-5-4, properties: ["1": "address":"array":"character", "raw": ]}, {name: "2", value: 2, type: 2-5-4, properties: ["2": "address":"array":"character", "raw": ]}
 mem/0: location 1 is 1000
 mem/0: location 2 is 1010
@@ -839,7 +874,7 @@ run/0: reply {name: "result", value: 7, type: 2-5-4, properties: ["result": "add
 mem/0: location 1022 is 1075
 run/0: result 0 is 1075
 mem/0: storing 1075 in location 3
-run/0: instruction test-interpolate-at-start/3
+run/0: instruction tmp0/3
 run/0: {name: "4", value: 4, type: 5-4, properties: ["4": "array":"character", "raw": ]} <- copy {name: "3", value: 3, type: 2-5-4, properties: ["3": "address":"array":"character", "raw": , "deref": ]}
 run/0: ingredient 0 is 3
 mem/0: location 3 is 1075
@@ -867,3 +902,24 @@ mem/0: storing 108 in location 12
 mem/0: storing 108 in location 13
 mem/0: storing 111 in location 14
 mem/0: storing 33 in location 15
+run/0: instruction interpolate-at-start/1
+run/0: memory-should-contain {name: "
+    4:string <- [abc, hello!]
+    16 <- 0  # out of bounds
+  ", value: 0, type: 0, properties: ["
+    4:string <- [abc, hello!]
+    16 <- 0  # out of bounds
+  ": "literal-string"]}
+run/0: checking array length at 4
+run/0: checking location 5
+run/0: checking location 6
+run/0: checking location 7
+run/0: checking location 8
+run/0: checking location 9
+run/0: checking location 10
+run/0: checking location 11
+run/0: checking location 12
+run/0: checking location 13
+run/0: checking location 14
+run/0: checking location 15
+run/0: checking location 16