diff options
Diffstat (limited to 'cpp/.traces/interpolate-at-start')
-rw-r--r-- | cpp/.traces/interpolate-at-start | 70 |
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 |