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. --- cpp/.traces/string-equal-with-empty | 54 ++++++++++++++++++++++++++++++++----- 1 file changed, 47 insertions(+), 7 deletions(-) (limited to 'cpp/.traces/string-equal-with-empty') diff --git a/cpp/.traces/string-equal-with-empty b/cpp/.traces/string-equal-with-empty index ff241a4c..6d867557 100644 --- a/cpp/.traces/string-equal-with-empty +++ b/cpp/.traces/string-equal-with-empty @@ -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 [] + y:address:array:character <- new [abcd] + 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 [] + y:address:array:character <- new [abcd] + 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 # "" != abcd + ", value: 0, type: 0, properties: [" + 3 <- 0 # "" != abcd + ": "literal-string"]} +after-brace/0: recipe string-equal-with-empty +after-brace/0: run ... +after-brace/0: memory-should-contain ... +new/0: routine allocated memory from 1000 to 101000 +schedule/0: string-equal-with-empty +run/0: instruction string-equal-with-empty/0 +run/0: run {name: " + default-space:address:array:location <- new location:type, 30:literal + x:address:array:character <- new [] + y:address:array:character <- new [abcd] + 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 [] + y:address:array:character <- new [abcd] + 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: -> 0 name/0: assign x 1 new/0: abcd -> 0 name/0: assign y 2 -after-brace/0: recipe test-string-equal-with-empty +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-with-empty -run/0: instruction test-string-equal-with-empty/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-with-empty/1 +run/0: instruction tmp0/1 run/0: {name: "x", value: 1, type: 2-5-4, properties: ["x": "address":"array":"character"]} <- new {name: "", value: 0, type: 0, properties: ["": "literal-string"]} mem/0: storing 1031 in location 1002 -run/0: instruction test-string-equal-with-empty/2 +run/0: instruction tmp0/2 run/0: {name: "y", value: 2, type: 2-5-4, properties: ["y": "address":"array":"character"]} <- new {name: "abcd", value: 0, type: 0, properties: ["abcd": "literal-string"]} mem/0: storing 1032 in location 1003 -run/0: instruction test-string-equal-with-empty/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 1032 @@ -78,3 +111,10 @@ run/0: instruction string-equal/9 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-with-empty/1 +run/0: memory-should-contain {name: " + 3 <- 0 # "" != abcd + ", value: 0, type: 0, properties: [" + 3 <- 0 # "" != abcd + ": "literal-string"]} +run/0: checking location 3 -- cgit 1.4.1-2-gfad0