diff options
-rw-r--r-- | 038new_text.cc | 2 | ||||
-rw-r--r-- | 043space.cc | 10 | ||||
-rw-r--r-- | 044space_surround.cc | 4 | ||||
-rw-r--r-- | 045closure_name.cc | 2 | ||||
-rw-r--r-- | 046global.cc | 6 | ||||
-rw-r--r-- | 053recipe_header.cc | 5 | ||||
-rw-r--r-- | 054static_dispatch.cc | 7 | ||||
-rw-r--r-- | 069hash.cc | 2 | ||||
-rw-r--r-- | 082scenario_screen.cc | 8 |
9 files changed, 22 insertions, 24 deletions
diff --git a/038new_text.cc b/038new_text.cc index 610f6a91..d5ae7fc0 100644 --- a/038new_text.cc +++ b/038new_text.cc @@ -2,7 +2,7 @@ //: A Mu text is an address to an array of characters. :(before "End Mu Types Initialization") -put(Type_abbreviations, "text", new_type_tree("address:array:char")); +put(Type_abbreviations, "text", new_type_tree("address:array:character")); :(scenario new_string) def main [ diff --git a/043space.cc b/043space.cc index 114d5268..4f6d2c35 100644 --- a/043space.cc +++ b/043space.cc @@ -6,7 +6,7 @@ # if default-space is 10, and if an array of 5 locals lies from location 12 to 16 (inclusive), # then local 0 is really location 12, local 1 is really location 13, and so on. def main [ - # pretend address:@:location; in practice we'll use new + # pretend address:array:location; in practice we'll use new 10:num <- copy 0 # refcount 11:num <- copy 5 # length default-space:&:@:location <- copy 10/unsafe @@ -18,7 +18,7 @@ def main [ def main [ # pretend pointer from outside (2000 reserved for refcount) 2001:num <- copy 34 - # pretend address:@:location; in practice we'll use new + # pretend address:array:location; in practice we'll use new 1000:num <- copy 0 # refcount 1001:num <- copy 5 # length # actual start of this recipe @@ -84,7 +84,7 @@ int address(int offset, int base) { :(after "Begin Preprocess write_memory(x, data)") if (x.name == "default-space") { if (!scalar(data) || !is_space(x)) - raise << maybe(current_recipe_name()) << "'default-space' should be of type address:@:location, but is " << to_string(x.type) << '\n' << end(); + raise << maybe(current_recipe_name()) << "'default-space' should be of type address:array:location, but is " << to_string(x.type) << '\n' << end(); current_call().default_space = data.at(0); return; } @@ -114,7 +114,7 @@ def main [ # pretend pointer to container from outside (2000 reserved for refcount) 2001:num <- copy 34 2002:num <- copy 35 - # pretend address:@:location; in practice we'll use new + # pretend address:array:location; in practice we'll use new 1000:num <- copy 0 # refcount 1001:num <- copy 5 # length # actual start of this recipe @@ -135,7 +135,7 @@ def main [ 2001:num <- copy 2 # length 2002:num <- copy 34 2003:num <- copy 35 - # pretend address:@:location; in practice we'll use new + # pretend address:array:location; in practice we'll use new 1000:num <- copy 0 # refcount 1001:num <- copy 5 # length # actual start of this recipe diff --git a/044space_surround.cc b/044space_surround.cc index 261249d3..5506afa9 100644 --- a/044space_surround.cc +++ b/044space_surround.cc @@ -7,10 +7,10 @@ :(scenario surrounding_space) # location 1 in space 1 refers to the space surrounding the default space, here 20. def main [ - # pretend address:@:location; in practice we'll use new + # pretend address:array:location; in practice we'll use new 10:num <- copy 0 # refcount 11:num <- copy 5 # length - # pretend address:@:location; in practice we'll use new + # pretend address:array:location; in practice we'll use new 20:num <- copy 0 # refcount 21:num <- copy 5 # length # actual start of this recipe diff --git a/045closure_name.cc b/045closure_name.cc index 5b057068..de44ba57 100644 --- a/045closure_name.cc +++ b/045closure_name.cc @@ -46,7 +46,7 @@ void collect_surrounding_spaces(const recipe_ordinal r) { if (is_literal(inst.products.at(j))) continue; if (inst.products.at(j).name != "0") continue; if (!is_space(inst.products.at(j))) { - raise << "slot 0 should always have type address:@:location, but is '" << to_string(inst.products.at(j)) << "'\n" << end(); + raise << "slot 0 should always have type address:array:location, but is '" << to_string(inst.products.at(j)) << "'\n" << end(); continue; } string_tree* s = property(inst.products.at(j), "names"); diff --git a/046global.cc b/046global.cc index 652d025f..39cc3a6b 100644 --- a/046global.cc +++ b/046global.cc @@ -11,10 +11,10 @@ :(scenario global_space) def main [ - # pretend address:@:location; in practice we'll use new + # pretend address:array:location; in practice we'll use new 10:num <- copy 0 # refcount 11:num <- copy 5 # length - # pretend address:@:location; in practice we'll use new + # pretend address:array:location; in practice we'll use new 20:num <- copy 0 # refcount 21:num <- copy 5 # length # actual start of this recipe @@ -43,7 +43,7 @@ global_space = 0; :(after "Begin Preprocess write_memory(x, data)") if (x.name == "global-space") { if (!scalar(data) || !is_space(x)) - raise << maybe(current_recipe_name()) << "'global-space' should be of type address:@:location, but tried to write '" << to_string(x.type) << "'\n" << end(); + raise << maybe(current_recipe_name()) << "'global-space' should be of type address:array:location, but tried to write '" << to_string(x.type) << "'\n" << end(); if (Current_routine->global_space) raise << "routine already has a global-space; you can't over-write your globals" << end(); Current_routine->global_space = data.at(0); diff --git a/053recipe_header.cc b/053recipe_header.cc index a9cd5ca4..44e7e8da 100644 --- a/053recipe_header.cc +++ b/053recipe_header.cc @@ -145,13 +145,12 @@ if (result.has_header) { //: Support type abbreviations in headers. :(scenario type_abbreviations_in_recipe_headers) -type string = address:@:char def main [ local-scope - a:string <- foo + a:text <- foo 1:char/raw <- index *a, 0 ] -def foo -> a:string [ +def foo -> a:text [ # 'text' is an abbreviation local-scope load-ingredients a <- new [abc] diff --git a/054static_dispatch.cc b/054static_dispatch.cc index 3f08f6b5..a2cbe17a 100644 --- a/054static_dispatch.cc +++ b/054static_dispatch.cc @@ -614,17 +614,16 @@ def foo a:bool -> b:num [ +error: main: failed to find a matching call for 'y:num <- foo x' :(scenario override_methods_with_type_abbreviations) -type string = address:@:char def main [ local-scope s:text <- new [abc] 1:num/raw <- foo s ] -def foo a:text -> result:num [ +def foo a:address:array:character -> result:number [ return 34 ] -# identical to previous variant once you take type abbreviation into account -def! foo a:string -> result:num [ +# identical to previous variant once you take type abbreviations into account +def! foo a:text -> result:num [ return 35 ] +mem: storing 35 in location 1 diff --git a/069hash.cc b/069hash.cc index 0ced51ed..8c1beb39 100644 --- a/069hash.cc +++ b/069hash.cc @@ -355,7 +355,7 @@ case HASH_OLD: { break; } if (!is_mu_text(inst.ingredients.at(0))) { - raise << maybe(get(Recipe, r).name) << "'hash_old' currently only supports strings (address:@:char), but got '" << inst.ingredients.at(0).original_string << "'\n" << end(); + raise << maybe(get(Recipe, r).name) << "'hash_old' currently only supports texts (address array character), but got '" << inst.ingredients.at(0).original_string << "'\n" << end(); break; } break; diff --git a/082scenario_screen.cc b/082scenario_screen.cc index a657627f..3e248044 100644 --- a/082scenario_screen.cc +++ b/082scenario_screen.cc @@ -253,8 +253,8 @@ void check_screen(const string& expected_contents, const int color) { int screen_location = get_or_insert(Memory, SCREEN)+/*skip refcount*/1; int data_offset = find_element_name(get(Type_ordinal, "screen"), "data", ""); assert(data_offset >= 0); - int screen_data_location = screen_location+data_offset; // type: address:@:char - int screen_data_start = get_or_insert(Memory, screen_data_location) + /*skip refcount*/1; // type: array:char + int screen_data_location = screen_location+data_offset; // type: address:array:character + int screen_data_start = get_or_insert(Memory, screen_data_location) + /*skip refcount*/1; // type: array:character int width_offset = find_element_name(get(Type_ordinal, "screen"), "num-columns", ""); int screen_width = get_or_insert(Memory, screen_location+width_offset); int height_offset = find_element_name(get(Type_ordinal, "screen"), "num-rows", ""); @@ -397,8 +397,8 @@ void dump_screen() { int screen_height = get_or_insert(Memory, screen_location+height_offset); int data_offset = find_element_name(get(Type_ordinal, "screen"), "data", ""); assert(data_offset >= 0); - int screen_data_location = screen_location+data_offset; // type: address:@:char - int screen_data_start = get_or_insert(Memory, screen_data_location) + /*skip refcount*/1; // type: array:char + int screen_data_location = screen_location+data_offset; // type: address:array:character + int screen_data_start = get_or_insert(Memory, screen_data_location) + /*skip refcount*/1; // type: array:character assert(get_or_insert(Memory, screen_data_start) == screen_width*screen_height); int curr = screen_data_start+1; // skip length for (int row = 0; row < screen_height; ++row) { |