From 3ba6357924e1098a28e43c94a4573a3d2978b5e9 Mon Sep 17 00:00:00 2001 From: "Kartik K. Agaram" Date: Tue, 17 Mar 2015 11:23:29 -0700 Subject: 949 - paving the way for jumps to labels Addresses for reagents are now computed after all transforms. --- cpp/011load | 56 ++++++++++++++++++++++++++++---------------------------- 1 file changed, 28 insertions(+), 28 deletions(-) (limited to 'cpp/011load') diff --git a/cpp/011load b/cpp/011load index 97483e93..d9da1fe3 100644 --- a/cpp/011load +++ b/cpp/011load @@ -5,8 +5,8 @@ recipe main [ 1:integer <- copy 23:literal ] +parse: instruction: 1 -+parse: ingredient: {name: "23", value: 23, type: 0, properties: [23: literal]} -+parse: product: {name: "1", value: 1, type: 1, properties: [1: integer]} ++parse: ingredient: {name: "23", value: 0, type: 0, properties: [23: literal]} ++parse: product: {name: "1", value: 0, type: 1, properties: [1: integer]} :(code) vector add_recipes(string form) { @@ -166,8 +166,8 @@ recipe main [ 1:integer <- copy 23:literal ] +parse: instruction: 1 -+parse: ingredient: {name: "23", value: 23, type: 0, properties: [23: literal]} -+parse: product: {name: "1", value: 1, type: 1, properties: [1: integer]} ++parse: ingredient: {name: "23", value: 0, type: 0, properties: [23: literal]} ++parse: product: {name: "1", value: 0, type: 1, properties: [1: integer]} :(scenario parse_comment_amongst_instruction) recipe main [ @@ -175,8 +175,8 @@ recipe main [ 1:integer <- copy 23:literal ] +parse: instruction: 1 -+parse: ingredient: {name: "23", value: 23, type: 0, properties: [23: literal]} -+parse: product: {name: "1", value: 1, type: 1, properties: [1: integer]} ++parse: ingredient: {name: "23", value: 0, type: 0, properties: [23: literal]} ++parse: product: {name: "1", value: 0, type: 1, properties: [1: integer]} :(scenario parse_comment_amongst_instruction2) recipe main [ @@ -185,8 +185,8 @@ recipe main [ # comment ] +parse: instruction: 1 -+parse: ingredient: {name: "23", value: 23, type: 0, properties: [23: literal]} -+parse: product: {name: "1", value: 1, type: 1, properties: [1: integer]} ++parse: ingredient: {name: "23", value: 0, type: 0, properties: [23: literal]} ++parse: product: {name: "1", value: 0, type: 1, properties: [1: integer]} :(scenario parse_comment_amongst_instruction3) recipe main [ @@ -195,19 +195,19 @@ recipe main [ 2:integer <- copy 23:literal ] +parse: instruction: 1 -+parse: ingredient: {name: "23", value: 23, type: 0, properties: [23: literal]} -+parse: product: {name: "1", value: 1, type: 1, properties: [1: integer]} ++parse: ingredient: {name: "23", value: 0, type: 0, properties: [23: literal]} ++parse: product: {name: "1", value: 0, type: 1, properties: [1: integer]} +parse: instruction: 1 -+parse: ingredient: {name: "23", value: 23, type: 0, properties: [23: literal]} -+parse: product: {name: "2", value: 2, type: 1, properties: [2: integer]} ++parse: ingredient: {name: "23", value: 0, type: 0, properties: [23: literal]} ++parse: product: {name: "2", value: 0, type: 1, properties: [2: integer]} :(scenario parse_comment_after_instruction) recipe main [ 1:integer <- copy 23:literal # comment ] +parse: instruction: 1 -+parse: ingredient: {name: "23", value: 23, type: 0, properties: [23: literal]} -+parse: product: {name: "1", value: 1, type: 1, properties: [1: integer]} ++parse: ingredient: {name: "23", value: 0, type: 0, properties: [23: literal]} ++parse: product: {name: "1", value: 0, type: 1, properties: [1: integer]} :(scenario parse_label) recipe main [ @@ -221,40 +221,40 @@ recipe main [ 1:integer <- copy 23:literal/foo:bar:baz ] +parse: instruction: 1 -+parse: ingredient: {name: "23", value: 23, type: 0, properties: [23: literal, foo: bar:baz]} -+parse: product: {name: "1", value: 1, type: 1, properties: [1: integer]} ++parse: ingredient: {name: "23", value: 0, type: 0, properties: [23: literal, foo: bar:baz]} ++parse: product: {name: "1", value: 0, type: 1, properties: [1: integer]} :(scenario parse_multiple_products) recipe main [ 1:integer, 2:integer <- copy 23:literal ] +parse: instruction: 1 -+parse: ingredient: {name: "23", value: 23, type: 0, properties: [23: literal]} -+parse: product: {name: "1", value: 1, type: 1, properties: [1: integer]} -+parse: product: {name: "2", value: 2, type: 1, properties: [2: integer]} ++parse: ingredient: {name: "23", value: 0, type: 0, properties: [23: literal]} ++parse: product: {name: "1", value: 0, type: 1, properties: [1: integer]} ++parse: product: {name: "2", value: 0, type: 1, properties: [2: integer]} :(scenario parse_multiple_ingredients) recipe main [ 1:integer, 2:integer <- copy 23:literal, 4:integer ] +parse: instruction: 1 -+parse: ingredient: {name: "23", value: 23, type: 0, properties: [23: literal]} -+parse: ingredient: {name: "4", value: 4, type: 1, properties: [4: integer]} -+parse: product: {name: "1", value: 1, type: 1, properties: [1: integer]} -+parse: product: {name: "2", value: 2, type: 1, properties: [2: integer]} ++parse: ingredient: {name: "23", value: 0, type: 0, properties: [23: literal]} ++parse: ingredient: {name: "4", value: 0, type: 1, properties: [4: integer]} ++parse: product: {name: "1", value: 0, type: 1, properties: [1: integer]} ++parse: product: {name: "2", value: 0, type: 1, properties: [2: integer]} :(scenario parse_multiple_types) recipe main [ 1:integer, 2:address:integer <- copy 23:literal, 4:integer ] +parse: instruction: 1 -+parse: ingredient: {name: "23", value: 23, type: 0, properties: [23: literal]} -+parse: ingredient: {name: "4", value: 4, type: 1, properties: [4: integer]} -+parse: product: {name: "1", value: 1, type: 1, properties: [1: integer]} -+parse: product: {name: "2", value: 2, type: 2-1, properties: [2: address:integer]} ++parse: ingredient: {name: "23", value: 0, type: 0, properties: [23: literal]} ++parse: ingredient: {name: "4", value: 0, type: 1, properties: [4: integer]} ++parse: product: {name: "1", value: 0, type: 1, properties: [1: integer]} ++parse: product: {name: "2", value: 0, type: 2-1, properties: [2: address:integer]} :(scenario parse_properties) recipe main [ 1:integer:address/deref <- copy 23:literal ] -+parse: product: {name: "1", value: 1, type: 1-2, properties: [1: integer:address, deref: ]} ++parse: product: {name: "1", value: 0, type: 1-2, properties: [1: integer:address, deref: ]} -- cgit 1.4.1-2-gfad0