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"]} parse/0: product: {name: "default-space", value: 0, type: 2-5-1, properties: ["default-space": "address":"array":"location"]} parse/0: instruction: init-counter parse/0: product: {name: "1", value: 0, type: 2-5-1, properties: ["1": "address":"array":"location", "names": "init-counter"]} parse/0: instruction: increment-counter parse/0: ingredient: {name: "1", value: 0, type: 2-5-1, properties: ["1": "address":"array":"location", "names": "init-counter"]} parse/0: product: {name: "2", value: 0, type: 1, properties: ["2": "integer", "raw": ]} parse/0: instruction: increment-counter parse/0: ingredient: {name: "1", value: 0, type: 2-5-1, properties: ["1": "address":"array":"location", "names": "init-counter"]} parse/0: product: {name: "3", value: 0, type: 1, properties: ["3": "integer", "raw": ]} 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"]} parse/0: product: {name: "default-space", value: 0, type: 2-5-1, properties: ["default-space": "address":"array":"location"]} parse/0: instruction: copy parse/0: ingredient: {name: "23", value: 0, type: 0, properties: ["23": "literal"]} parse/0: product: {name: "x", value: 0, type: 1, properties: ["x": "integer"]} parse/0: instruction: copy parse/0: ingredient: {name: "3", value: 0, type: 0, properties: ["3": "literal"]} parse/0: product: {name: "y", value: 0, type: 1, properties: ["y": "integer"]} parse/0: instruction: reply parse/0: ingredient: {name: "default-space", value: 0, type: 2-5-1, properties: ["default-space": "address":"array":"location"]} parse/0: instruction: new parse/0: ingredient: {name: "space", value: 0, type: 0, properties: ["space": "literal"]} parse/0: ingredient: {name: "30", value: 0, type: 0, properties: ["30": "literal"]} parse/0: product: {name: "default-space", value: 0, type: 2-5-1, properties: ["default-space": "address":"array":"location"]} parse/0: instruction: next-ingredient parse/0: product: {name: "0", value: 0, type: 2-5-1, properties: ["0": "address":"array":"location", "names": "init-counter"]} parse/0: instruction: add parse/0: ingredient: {name: "y", value: 0, type: 1, properties: ["y": "integer", "space": "1"]} parse/0: ingredient: {name: "1", value: 0, type: 0, properties: ["1": "literal"]} parse/0: product: {name: "y", value: 0, type: 1, properties: ["y": "integer", "space": "1"]} parse/0: instruction: copy parse/0: ingredient: {name: "234", value: 0, type: 0, properties: ["234": "literal"]} parse/0: product: {name: "y", value: 0, type: 1, properties: ["y": "integer"]} parse/0: instruction: reply parse/0: ingredient: {name: "y", value: 0, type: 1, properties: ["y": "integer", "space": "1"]} name/0: recipe increment-counter is surrounded by init-counter new/0: location -> 1 new/0: location -> 1 name/0: assign x 1 name/0: assign y 2 new/0: space -> 0 name/0: assign y 1 after-brace/0: recipe main after-brace/0: new ... after-brace/0: init-counter ... after-brace/0: increment-counter ... after-brace/0: increment-counter ... after-brace/0: recipe init-counter after-brace/0: new ... after-brace/0: copy ... after-brace/0: copy ... after-brace/0: reply ... after-brace/0: recipe increment-counter after-brace/0: new ... after-brace/0: next-ingredient ... after-brace/0: add ... after-brace/0: copy ... after-brace/0: reply ... new/0: routine allocated memory from 1000 to 101000 schedule/0: main run/0: instruction main/0 run/0: {name: "default-space", value: 0, type: 2-5-1, properties: ["default-space": "address":"array":"location"]} <- new/42 {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 main/1 run/0: {name: "1", value: 1, type: 2-5-1, properties: ["1": "address":"array":"location", "names": "init-counter"]} <- init-counter/1001 run/0: instruction init-counter/0 run/0: {name: "default-space", value: 0, type: 2-5-1, properties: ["default-space": "address":"array":"location"]} <- new/42 {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: 1031 run/0: instruction init-counter/1 run/0: {name: "x", value: 1, type: 1, properties: ["x": "integer"]} <- copy/1 {name: "23", value: 23, type: 0, properties: ["23": "literal"]} run/0: ingredient 0 is 23 mem/0: storing 23 in location 1033 run/0: instruction init-counter/2 run/0: {name: "y", value: 2, type: 1, properties: ["y": "integer"]} <- copy/1 {name: "3", value: 3, type: 0, properties: ["3": "literal"]} run/0: ingredient 0 is 3 mem/0: storing 3 in location 1034 run/0: instruction init-counter/3 run/0: reply/33 {name: "default-space", value: 0, type: 2-5-1, properties: ["default-space": "address":"array":"location"]} run/0: result 0 is 1031 mem/0: storing 1031 in location 1002 run/0: instruction main/2 run/0: {name: "2", value: 2, type: 1, properties: ["2": "integer", "raw": ]} <- increment-counter/1002 {name: "1", value: 1, type: 2-5-1, properties: ["1": "address":"array":"location", "names": "init-counter"]} mem/0: location 1002 is 1031 run/0: instruction increment-counter/0 run/0: {name: "default-space", value: 0, type: 2-5-1, properties: ["default-space": "address":"array":"location"]} <- new/42 {name: "space", value: 0, type: 0, properties: ["space": "literal"]}, {name: "30", value: 30, type: 0, properties: ["30": "literal"]} mem/0: array size is 30 mem/0: new alloc: 1062 run/0: instruction increment-counter/1 run/0: {name: "0", value: 0, type: 2-5-1, properties: ["0": "address":"array":"location", "names": "init-counter"]} <- next-ingredient/30 run/0: product 0 is 1031 mem/0: storing 1031 in location 1063 run/0: instruction increment-counter/2 run/0: {name: "y", value: 2, type: 1, properties: ["y": "integer", "space": "1"]} <- add/2 {name: "y", value: 2, type: 1, properties: ["y": "integer", "space": "1"]}, {name: "1", value: 1, type: 0, properties: ["1": "literal"]} run/0: ingredient 0 is y mem/0: location 1034 is 3 run/0: ingredient 1 is 1 run/0: product 0 is 4 mem/0: storing 4 in location 1034 run/0: instruction increment-counter/3 run/0: {name: "y", value: 1, type: 1, properties: ["y": "integer"]} <- copy/1 {name: "234", value: 234, type: 0, properties: ["234": "literal"]} run/0: ingredient 0 is 234 mem/0: storing 234 in location 1064 run/0: instruction increment-counter/4 run/0: reply/33 {name: "y", value: 2, type: 1, properties: ["y": "integer", "space": "1"]} mem/0: location 1034 is 4 run/0: result 0 is 4 mem/0: storing 4 in location 2 run/0: instruction main/3 run/0: {name: "3", value: 3, type: 1, properties: ["3": "integer", "raw": ]} <- increment-counter/1002 {name: "1", value: 1, type: 2-5-1, properties: ["1": "address":"array":"location", "names": "init-counter"]} mem/0: location 1002 is 1031 run/0: instruction increment-counter/0 run/0: {name: "default-space", value: 0, type: 2-5-1, properties: ["default-space": "address":"array":"location"]} <- new/42 {name: "space", value: 0, type: 0, properties: ["space": "literal"]}, {name: "30", value: 30, type: 0, properties: ["30": "literal"]} mem/0: array size is 30 mem/0: new alloc: 1093 run/0: instruction increment-counter/1 run/0: {name: "0", value: 0, type: 2-5-1, properties: ["0": "address":"array":"location", "names": "init-counter"]} <- next-ingredient/30 run/0: product 0 is 1031 mem/0: storing 1031 in location 1094 run/0: instruction increment-counter/2 run/0: {name: "y", value: 2, type: 1, properties: ["y": "integer", "space": "1"]} <- add/2 {name: "y", value: 2, type: 1, properties: ["y": "integer", "space": "1"]}, {name: "1", value: 1, type: 0, properties: ["1": "literal"]} run/0: ingredient 0 is y mem/0: location 1034 is 4 run/0: ingredient 1 is 1 run/0: product 0 is 5 mem/0: storing 5 in location 1034 run/0: instruction increment-counter/3 run/0: {name: "y", value: 1, type: 1, properties: ["y": "integer"]} <- copy/1 {name: "234", value: 234, type: 0, properties: ["234": "literal"]} run/0: ingredient 0 is 234 mem/0: storing 234 in location 1095 run/0: instruction increment-counter/4 run/0: reply/33 {name: "y", value: 2, type: 1, properties: ["y": "integer", "space": "1"]} mem/0: location 1034 is 5 run/0: result 0 is 5 mem/0: storing 5 in location 3