From 5cdd9ca00484dc28ece486a2dfeae2d94151d9ab Mon Sep 17 00:00:00 2001 From: Brendan Hansen Date: Fri, 17 Jul 2020 23:53:09 -0500 Subject: [PATCH] added top-level procs without binding to symbol --- onyx | Bin 254608 -> 254616 bytes progs/arrays.onyx | 3 ++- src/onyxparser.c | 9 ++++++++- 3 files changed, 10 insertions(+), 2 deletions(-) diff --git a/onyx b/onyx index ccc9e93004e4a2f09bf42ac628b28351e302d621..0dd2270d77c0ac22e81e5a8033b1d8390916c712 100755 GIT binary patch delta 19052 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 f*TjZ2{Gq-+`l(wF~Vz;2Az diff --git a/progs/arrays.onyx b/progs/arrays.onyx index c4f6bd4c..d0d56b65 100644 --- a/progs/arrays.onyx +++ b/progs/arrays.onyx @@ -47,7 +47,8 @@ printarr :: proc (arr: ^i32, len: i32) { } } -main :: proc #export { +// Don't need to bind this function to a symbol +proc #export "main" { print(min(10.0, 12.0)); global_arr = 0 as ^i32; diff --git a/src/onyxparser.c b/src/onyxparser.c index 2110bfed..8895cc42 100644 --- a/src/onyxparser.c +++ b/src/onyxparser.c @@ -125,7 +125,6 @@ static AstNumLit* parse_numeric_literal(OnyxParser* parser) { // ( ) // - // ! -// proc ... // ( '(' ')' )? // // 'true' @@ -330,6 +329,7 @@ static inline i32 get_precedence(BinaryOp kind) { // *= // /= // %= +// // With expected precedence rules static AstTyped* parse_expression(OnyxParser* parser) { bh_arr(AstBinaryOp*) tree_stack = NULL; @@ -885,6 +885,9 @@ static AstTyped* parse_global_declaration(OnyxParser* parser) { return (AstTyped *) global_node; } +// +// +// static AstTyped* parse_top_level_expression(OnyxParser* parser) { if (parser->curr->type == Token_Type_Keyword_Proc) { AstFunction* func_node = parse_function_definition(parser); @@ -914,6 +917,10 @@ static AstNode* parse_top_level_statement(OnyxParser* parser) { return (AstNode *) use_node; } + case Token_Type_Keyword_Proc: + parse_top_level_expression(parser); + return NULL; + case Token_Type_Symbol: { OnyxToken* symbol = parser->curr; -- 2.25.1