From 43e94e5441c07d0a51ee808e3dce2923c1a87f87 Mon Sep 17 00:00:00 2001 From: Brendan Hansen Date: Mon, 22 Jun 2020 11:16:18 -0500 Subject: [PATCH] Bug fixes with symbol resolution --- include/onyxparser.h | 2 +- onyx | Bin 173936 -> 173640 bytes progs/new_minimal.onyx | 19 ++++++++++--------- src/onyxsempass.c | 8 ++------ 4 files changed, 13 insertions(+), 16 deletions(-) diff --git a/include/onyxparser.h b/include/onyxparser.h index 39becb23..c9d77e6b 100644 --- a/include/onyxparser.h +++ b/include/onyxparser.h @@ -153,7 +153,7 @@ struct OnyxAstNodeBlock { OnyxTypeInfo *return_type; OnyxAstNode *next; OnyxAstNode *body; - OnyxAstNodeScope *scope; // NOTE: Only set on blocks belonging to functions + OnyxAstNodeScope *scope; }; struct OnyxAstNodeIf { diff --git a/onyx b/onyx index 8cec77ebea577bbd812aee7adc52b376c672fb05..8ad5333c93d3dee356e771b2cfbf2782cf75d8d4 100755 GIT binary patch delta 21859 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 delta 22593 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 WIBx;_8Q9S6D`C-^u$N!aGXDz{py#Im diff --git a/progs/new_minimal.onyx b/progs/new_minimal.onyx index cbb7fe06..55cb5174 100644 --- a/progs/new_minimal.onyx +++ b/progs/new_minimal.onyx @@ -1,13 +1,14 @@ print :: foreign "host" "print" proc (value i32) --- -foo :: proc -> i32 { - a := 2 + 4; - a = 5; - bar(a + 1); - print(bar(a)); - return a; -} +diff_square :: proc (a i32, b i32) -> i32 { + // Typechecked + c := a - b; // Mutable + d :: a + b; // Constant + + { + c : i32 = a * 2; + d : i32 = (c + a) * 2; + } -bar :: proc (val i32) -> i32 { - return val + 1; + return c * d; } diff --git a/src/onyxsempass.c b/src/onyxsempass.c index 233646fd..dd2568be 100644 --- a/src/onyxsempass.c +++ b/src/onyxsempass.c @@ -237,6 +237,7 @@ static b32 symres_statement(OnyxSemPassState* state, OnyxAstNode* stmt) { case ONYX_AST_NODE_KIND_IF: symres_if(state, &stmt->as_if); return 0; case ONYX_AST_NODE_KIND_CALL: symres_call(state, stmt); return 0; case ONYX_AST_NODE_KIND_ARGUMENT: symres_expression(state, (OnyxAstNode **) &stmt->left); return 0; + case ONYX_AST_NODE_KIND_BLOCK: symres_block(state, &stmt->as_block); return 0; default: return 0; } @@ -251,7 +252,7 @@ static void symres_statement_chain(OnyxSemPassState* state, OnyxAstNode* walker, walker->next = NULL; walker = tmp; } else { - trailer = &walker; + trailer = &walker->next; walker = walker->next; } } @@ -296,11 +297,6 @@ void onyx_sempass(OnyxSemPassState* state, OnyxAstNode* root_node) { walker = walker->next; } - bh_printf("\n\n"); - bh_table_each_start(SemPassSymbol*, state->symbols) { - bh_printf("%s -> %l\n", key, (u64) value); - } bh_table_each_end; - // NOTE: First, resolve all symbols walker = root_node; while (walker) { -- 2.25.1