From 22b3069272c1a177e814a7c4e769e20858e2b368 Mon Sep 17 00:00:00 2001 From: "Kartik K. Agaram" Date: Sat, 2 May 2015 15:52:22 -0700 Subject: 1242 - simpler implementation for 'scenario' Also now has the side effect that scenarios can have any number of 'run' or check or any future blocks, in any order. --- .../string-equal-common-lengths-but-distinct | 54 +++++++++++++++++++--- 1 file changed, 47 insertions(+), 7 deletions(-) (limited to 'cpp/.traces/string-equal-common-lengths-but-distinct') diff --git a/cpp/.traces/string-equal-common-lengths-but-distinct b/cpp/.traces/string-equal-common-lengths-but-distinct index 82244da9..96313dbb 100644 --- a/cpp/.traces/string-equal-common-lengths-but-distinct +++ b/cpp/.traces/string-equal-common-lengths-but-distinct @@ -1,3 +1,38 @@ +parse/0: instruction: run +parse/0: ingredient: {name: " + default-space:address:array:location <- new location:type, 30:literal + x:address:array:character <- new [abc] + y:address:array:character <- new [abd] + 3:boolean/raw <- string-equal x:address:array:character, y:address:array:character + ", value: 0, type: 0, properties: [" + default-space:address:array:location <- new location:type, 30:literal + x:address:array:character <- new [abc] + y:address:array:character <- new [abd] + 3:boolean/raw <- string-equal x:address:array:character, y:address:array:character + ": "literal-string"]} +parse/0: instruction: memory-should-contain +parse/0: ingredient: {name: " + 3 <- 0 # abc != abd + ", value: 0, type: 0, properties: [" + 3 <- 0 # abc != abd + ": "literal-string"]} +after-brace/0: recipe string-equal-common-lengths-but-distinct +after-brace/0: run ... +after-brace/0: memory-should-contain ... +new/0: routine allocated memory from 1000 to 101000 +schedule/0: string-equal-common-lengths-but-distinct +run/0: instruction string-equal-common-lengths-but-distinct/0 +run/0: run {name: " + default-space:address:array:location <- new location:type, 30:literal + x:address:array:character <- new [abc] + y:address:array:character <- new [abd] + 3:boolean/raw <- string-equal x:address:array:character, y:address:array:character + ", value: 0, type: 0, properties: [" + default-space:address:array:location <- new location:type, 30:literal + x:address:array:character <- new [abc] + y:address:array:character <- new [abd] + 3:boolean/raw <- string-equal x:address:array:character, y:address:array:character + ": "literal-string"]} parse/0: instruction: new parse/0: ingredient: {name: "location", value: 0, type: 0, properties: ["location": "type"]} parse/0: ingredient: {name: "30", value: 0, type: 0, properties: ["30": "literal"]} @@ -17,24 +52,22 @@ new/0: abc -> 0 name/0: assign x 1 new/0: abd -> 0 name/0: assign y 2 -after-brace/0: recipe test-string-equal-common-lengths-but-distinct +after-brace/0: recipe tmp0 after-brace/0: new ... after-brace/0: new ... after-brace/0: new ... after-brace/0: string-equal ... -new/0: routine allocated memory from 1000 to 101000 -schedule/0: test-string-equal-common-lengths-but-distinct -run/0: instruction test-string-equal-common-lengths-but-distinct/0 +run/0: instruction tmp0/0 run/0: {name: "default-space", value: 0, type: 2-5-1, properties: ["default-space": "address":"array":"location"]} <- new {name: "location", value: 1, type: 0, properties: ["location": "type"]}, {name: "30", value: 30, type: 0, properties: ["30": "literal"]} mem/0: array size is 30 mem/0: new alloc: 1000 -run/0: instruction test-string-equal-common-lengths-but-distinct/1 +run/0: instruction tmp0/1 run/0: {name: "x", value: 1, type: 2-5-4, properties: ["x": "address":"array":"character"]} <- new {name: "abc", value: 0, type: 0, properties: ["abc": "literal-string"]} mem/0: storing 1031 in location 1002 -run/0: instruction test-string-equal-common-lengths-but-distinct/2 +run/0: instruction tmp0/2 run/0: {name: "y", value: 2, type: 2-5-4, properties: ["y": "address":"array":"character"]} <- new {name: "abd", value: 0, type: 0, properties: ["abd": "literal-string"]} mem/0: storing 1035 in location 1003 -run/0: instruction test-string-equal-common-lengths-but-distinct/3 +run/0: instruction tmp0/3 run/0: {name: "3", value: 3, type: 3, properties: ["3": "boolean", "raw": ]} <- string-equal {name: "x", value: 1, type: 2-5-4, properties: ["x": "address":"array":"character"]}, {name: "y", value: 2, type: 2-5-4, properties: ["y": "address":"array":"character"]} mem/0: location 1002 is 1031 mem/0: location 1003 is 1035 @@ -254,3 +287,10 @@ run/0: instruction string-equal/21 run/0: reply {name: "0", value: 0, type: 0, properties: ["0": "literal"]} run/0: result 0 is 0 mem/0: storing 0 in location 3 +run/0: instruction string-equal-common-lengths-but-distinct/1 +run/0: memory-should-contain {name: " + 3 <- 0 # abc != abd + ", value: 0, type: 0, properties: [" + 3 <- 0 # abc != abd + ": "literal-string"]} +run/0: checking location 3 -- cgit 1.4.1-2-gfad0