From: Brendan Hansen Date: Wed, 23 Dec 2020 02:32:39 +0000 (-0600) Subject: error message bugfix; better top level parsing X-Git-Url: https://git.brendanfh.com/?a=commitdiff_plain;h=a70ba3d3f5b8f08c3223ea5134b22618b699bf55;p=onyx.git error message bugfix; better top level parsing --- diff --git a/onyx b/onyx index 20ed83eb..1ae07bcc 100755 Binary files a/onyx and b/onyx differ diff --git a/src/onyxchecker.c b/src/onyxchecker.c index c82b6ced..7af9ab88 100644 --- a/src/onyxchecker.c +++ b/src/onyxchecker.c @@ -1477,8 +1477,8 @@ b32 check_memres(AstMemRes* memres) { if (!type_check_or_auto_cast(&memres->initial_value, memres_type)) { onyx_report_error(memres->token->pos, "Cannot assign value of type '%s' to a '%s'.", - type_get_name(memres_type), - type_get_name(memres->initial_value->type)); + type_get_name(memres->initial_value->type), + type_get_name(memres_type)); return 1; } diff --git a/src/onyxparser.c b/src/onyxparser.c index 465c8b3b..33a54797 100644 --- a/src/onyxparser.c +++ b/src/onyxparser.c @@ -2073,7 +2073,7 @@ static AstNode* parse_top_level_statement(OnyxParser* parser) { default: break; } - consume_token(parser); + expect_token(parser, ';'); return NULL; } @@ -2220,6 +2220,7 @@ ParseResults onyx_parse(OnyxParser *parser) { if (curr_stmt != NULL && curr_stmt != &error_node) { while (curr_stmt != NULL) { + if (parser->hit_unexpected_token) return parser->results; switch (curr_stmt->kind) { case Ast_Kind_Include_File: