From 5150e51a1b39bb924af03a55244042cbf24536f4 Mon Sep 17 00:00:00 2001 From: Brendan Hansen Date: Mon, 20 Sep 2021 23:17:40 -0500 Subject: [PATCH] random improvements --- bin/onyx | Bin 435384 -> 435384 bytes docs/bugs | 2 +- src/lex.c | 4 ++-- src/parser.c | 33 +++++++++++++++++++++++---------- 4 files changed, 26 insertions(+), 13 deletions(-) diff --git a/bin/onyx b/bin/onyx index c187c11aceef953d575d0f704f0c073e3b16dd15..7325797ceb81cdb41a8b37b8a500f94bcc0572ed 100755 GIT binary patch delta 57504 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 delta 57393 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", 0, Token_Type_Greater_Equal); LITERAL_TOKEN(">>>=", 0, Token_Type_Sar_Equal); LITERAL_TOKEN(">>=", 0, Token_Type_Shr_Equal); LITERAL_TOKEN(">>>", 0, Token_Type_Shift_Arith_Right); LITERAL_TOKEN(">>", 0, Token_Type_Shift_Right); - LITERAL_TOKEN(">=", 0, Token_Type_Greater_Equal); break; case '&': diff --git a/src/parser.c b/src/parser.c index b4cd7850..99713306 100644 --- a/src/parser.c +++ b/src/parser.c @@ -2198,6 +2198,11 @@ static b32 parse_possible_function_definition(OnyxParser* parser, AstTyped** ret return 0; } +typedef struct QuickParam { + OnyxToken* token; + b32 is_baked; +} QuickParam; + static b32 parse_possible_quick_function_definition(OnyxParser* parser, AstTyped** ret) { if (parser->curr->type != '(') return 0; @@ -2211,13 +2216,17 @@ static b32 parse_possible_quick_function_definition(OnyxParser* parser, AstTyped OnyxToken* proc_token = expect_token(parser, '('); - bh_arr(OnyxToken*) params=NULL; + bh_arr(QuickParam) params=NULL; bh_arr_new(global_heap_allocator, params, 4); while (parser->curr->type != ')') { if (parser->hit_unexpected_token) return 0; - bh_arr_push(params, expect_token(parser, Token_Type_Symbol)); + QuickParam param = { 0 }; + if (consume_token_if_next(parser, '$')) param.is_baked = 1; + param.token = expect_token(parser, Token_Type_Symbol); + + bh_arr_push(params, param); if (parser->curr->type != ')') { expect_token(parser, ','); @@ -2228,21 +2237,21 @@ static b32 parse_possible_quick_function_definition(OnyxParser* parser, AstTyped expect_token(parser, '='); expect_token(parser, '>'); - bh_arr(AstNode*) poly_params=NULL; + bh_arr(AstNode *) poly_params=NULL; bh_arr_new(global_heap_allocator, poly_params, bh_arr_length(params)); - bh_arr_each(OnyxToken*, param, params) { + bh_arr_each(QuickParam, param, params) { char text[512]; memset(text, 0, 512); strncat(text, "__type_", 511); - token_toggle_end(*param); - strncat(text, (*param)->text, 511); - token_toggle_end(*param); + token_toggle_end(param->token); + strncat(text, param->token->text, 511); + token_toggle_end(param->token); OnyxToken* new_token = bh_alloc(parser->allocator, sizeof(OnyxToken)); new_token->type = Token_Type_Symbol; - new_token->length = 7 + (*param)->length; + new_token->length = 7 + param->token->length; new_token->text = bh_strdup(parser->allocator, text); - new_token->pos = (*param)->pos; + new_token->pos = param->token->pos; AstNode* type_node = make_symbol(parser->allocator, new_token); bh_arr_push(poly_params, type_node); @@ -2253,7 +2262,7 @@ static b32 parse_possible_quick_function_definition(OnyxParser* parser, AstTyped bh_arr_new(global_heap_allocator, func_node->params, bh_arr_length(params)); fori (i, 0, bh_arr_length(params)) { - AstLocal* param_local = make_local(parser->allocator, params[i], (AstType *) poly_params[i]); + AstLocal* param_local = make_local(parser->allocator, params[i].token, (AstType *) poly_params[i]); param_local->kind = Ast_Kind_Param; bh_arr_push(func_node->params, ((AstParam) { @@ -2303,6 +2312,10 @@ static b32 parse_possible_quick_function_definition(OnyxParser* parser, AstTyped .type_expr = (AstType *) poly_params[i], .type = NULL, })); + + if (params[i].is_baked) { + // This is not handled currently, as you cannot say f :: ($x: $T) yet, which is what this would have to do. + } } poly_proc->base_func = func_node; -- 2.25.1