From 23ab3c47131bb30c61714b6572e74e44ec64e8d7 Mon Sep 17 00:00:00 2001 From: gingerBill Date: Tue, 13 Feb 2018 21:59:49 +0000 Subject: [PATCH] Replace [...] with [?] --- examples/demo.odin | 26 +++++++++++++------------- examples/old_demos/demo005.odin | 2 +- src/check_expr.cpp | 8 ++++---- src/parser.cpp | 4 ++-- 4 files changed, 20 insertions(+), 20 deletions(-) diff --git a/examples/demo.odin b/examples/demo.odin index 6d768f6c5..3ff904d88 100644 --- a/examples/demo.odin +++ b/examples/demo.odin @@ -23,7 +23,7 @@ when ODIN_OS == "windows" { @(link_name="general_stuff") general_stuff :: proc() { fmt.println("# general_stuff"); - { // `do` for inline statments rather than block + { // `do` for inline statements rather than block foo :: proc() do fmt.println("Foo!"); if false do foo(); for false do foo(); @@ -534,7 +534,7 @@ parametric_polymorphism :: proc() { -prefix_table := [...]string{ +prefix_table := [?]string{ "White", "Red", "Green", @@ -658,7 +658,7 @@ using_in :: proc() { f.x, f.y = 123, 321; println(f); using x, y in f; - f.x, f.y = 456, 654; + x, y = 456, 654; println(f); } @@ -731,15 +731,15 @@ explicit_procedure_overloading :: proc() { main :: proc() { when true { - general_stuff(); - default_struct_values(); - union_type(); - parametric_polymorphism(); - threading_example(); - array_programming(); - using_in(); - named_proc_return_parameters(); - enum_export(); - explicit_procedure_overloading(); + // general_stuff(); + // default_struct_values(); + // union_type(); + // parametric_polymorphism(); + // threading_example(); + // array_programming(); + // using_in(); + // named_proc_return_parameters(); + // enum_export(); + // explicit_procedure_overloading(); } } diff --git a/examples/old_demos/demo005.odin b/examples/old_demos/demo005.odin index 481b05155..9e13d667d 100644 --- a/examples/old_demos/demo005.odin +++ b/examples/old_demos/demo005.odin @@ -202,7 +202,7 @@ loops :: proc() { fmt.println(val, idx); } - primes := [...]int{2, 3, 5, 7, 11, 13, 17, 19}; + primes := [?]int{2, 3, 5, 7, 11, 13, 17, 19}; for p in primes { fmt.println(p); diff --git a/src/check_expr.cpp b/src/check_expr.cpp index e066a2c01..47eb871f5 100644 --- a/src/check_expr.cpp +++ b/src/check_expr.cpp @@ -5275,11 +5275,11 @@ ExprKind check_expr_base_internal(Checker *c, Operand *o, AstNode *node, Type *t if (cl->type != nullptr) { type = nullptr; - // [...]Type + // [?]Type if (cl->type->kind == AstNode_ArrayType && cl->type->ArrayType.count != nullptr) { AstNode *count = cl->type->ArrayType.count; if (count->kind == AstNode_UnaryExpr && - count->UnaryExpr.op.kind == Token_Ellipsis) { + count->UnaryExpr.op.kind == Token_Question) { type = make_type_array(c->allocator, check_type(c, cl->type->ArrayType.elem), -1); is_to_be_determined_array_count = true; } @@ -6278,8 +6278,8 @@ gbString write_expr_to_string(gbString str, AstNode *node) { str = gb_string_append_rune(str, '['); if (at->count != nullptr && at->count->kind == AstNode_UnaryExpr && - at->count->UnaryExpr.op.kind == Token_Ellipsis) { - str = gb_string_appendc(str, "..."); + at->count->UnaryExpr.op.kind == Token_Question) { + str = gb_string_appendc(str, "?"); } else { str = write_expr_to_string(str, at->count); } diff --git a/src/parser.cpp b/src/parser.cpp index e37dffe25..8dd5d6d30 100644 --- a/src/parser.cpp +++ b/src/parser.cpp @@ -1770,8 +1770,8 @@ AstNode *parse_operand(AstFile *f, bool lhs) { AstNode *count_expr = nullptr; bool is_vector = false; - if (f->curr_token.kind == Token_Ellipsis) { - count_expr = ast_unary_expr(f, expect_token(f, Token_Ellipsis), nullptr); + if (f->curr_token.kind == Token_Question) { + count_expr = ast_unary_expr(f, expect_token(f, Token_Question), nullptr); } else if (allow_token(f, Token_dynamic)) { expect_token(f, Token_CloseBracket); return ast_dynamic_array_type(f, token, parse_type(f));