From 224acc109d602e04f1abafd4552d7512f056e646 Mon Sep 17 00:00:00 2001 From: Brendan Hansen Date: Mon, 28 Dec 2020 17:21:50 -0600 Subject: [PATCH] small bugfix with comments at the start of a file --- docs/bugs | 2 ++ onyx | Bin 286968 -> 286968 bytes progs/poly_solidify.onyx | 20 +++++++++++++++++++- src/onyxparser.c | 27 +++------------------------ 4 files changed, 24 insertions(+), 25 deletions(-) diff --git a/docs/bugs b/docs/bugs index a308ab82..8ded95c4 100644 --- a/docs/bugs +++ b/docs/bugs @@ -53,6 +53,8 @@ List of known bugs: } ``` +[ ] Polymorphic structs do not recognize default values for members. + [X] `TileData :: [TILE_DATA_WIDTH * TILE_DATA_HEIGHT] bool;` results in a segfault because it is an invalid top level node, but that is not checked before it is tried to be used. diff --git a/onyx b/onyx index 4856420fc52d8ef561ee0d3a5809e0ae148e4da5..1bdc8ffc4851897745aa42d82427efa9bd97f8d3 100755 GIT binary patch delta 34426 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 Bz+3{$svRgLTpsncAL1doaM|EB4(3Q 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 f32 { return ~~(a * 2); }, proc (b: f32) -> f64 { return ~~(b + 6); })); -} \ No newline at end of file + + + arr : [..] i32; + array.init(^arr); + defer array.free(^arr); + + + for i: 0 .. 10 do array.push(^arr, i); + print_array(arr); + + array_map(arr, double); + print_array(arr); +} + +array_map :: proc (arr: [..] $T, f: proc (T) -> T) { + for ^v: arr do *v = f(*v); +} + +double :: proc (v: $V) -> V do return v * 2; \ No newline at end of file diff --git a/src/onyxparser.c b/src/onyxparser.c index 1b034777..dbcc22fb 100644 --- a/src/onyxparser.c +++ b/src/onyxparser.c @@ -2219,30 +2219,9 @@ void onyx_parser_free(OnyxParser* parser) { } ParseResults onyx_parse(OnyxParser *parser) { - // if (parser->curr->type == Token_Type_Keyword_Package) { - // consume_token(parser); - - // OnyxToken* symbol = expect_token(parser, Token_Type_Symbol); - - // token_toggle_end(symbol); - // Package *package = program_info_package_lookup_or_create( - // parser->program, - // symbol->text, - // parser->program->global_scope, - // parser->allocator); - // token_toggle_end(symbol); - - // parser->package = package; - - // } else { - // Package *package = program_info_package_lookup_or_create( - // parser->program, - // "main", - // parser->program->global_scope, - // parser->allocator); - - // parser->package = package; - // } + // NOTE: Skip comments at the beginning of the file + if (parser->curr->type == Token_Type_Comment) + consume_token(parser); parser->package = parse_package_name(parser)->package; parser->file_scope = scope_create(parser->allocator, parser->package->private_scope, parser->tokenizer->tokens[0].pos); -- 2.25.1