From 8c2c32afa1110bf5af14a111b9a71250a5b8d240 Mon Sep 17 00:00:00 2001 From: Brendan Hansen Date: Wed, 27 Jan 2021 10:15:15 -0600 Subject: [PATCH] various little changes --- bin/onyx | Bin 331960 -> 331960 bytes core/array.onyx | 22 ++++++++++++++++++++ include/onyxastnodes.h | 4 ++-- onyx.exe | Bin 387072 -> 387584 bytes project.4coder | 45 +++++++++++++++++++++++++++++++++++++++++ src/onyx.c | 12 ----------- src/onyxchecker.c | 23 ++++++++++++--------- src/onyxutils.c | 5 ++++- src/onyxwasm.c | 2 +- 9 files changed, 87 insertions(+), 26 deletions(-) create mode 100644 project.4coder diff --git a/bin/onyx b/bin/onyx index 10117b08792905b5f16c8138023edd4d548c7458..c8d8b8dddc6e52d92a2281f574b3597951d9cb7a 100755 GIT binary patch delta 511 zcmdn7P-MqKkqsHlBCcB(9$B9huXb~H&xI*&0Wwu~ug`3*VLo!5v2nBG?SJfyO`9Da z|5P?e@#tnz)nH&?@aS|=(J(yV(fQ)Fa@qusjVSVBM|JDPg zPSXq78AX}YCrqEf&M20~1`*};=yo>nXg(zO57L_5JVB zZOZVTnZd)d9+b?IB7+$1L-^aly#&zM`f1rW23NPHJ-{WAEhj87ezV;;xF!ns@uMxkLa{P0!{U<|Ee`+crDi{>RSPzS-gN zPvvl*?sSV3k8T!K4F(1Vk4_gA4Z{N-oiARir}4|X07a4met7hfVDRkDQIYWMeCN^nwj`)Kl%exN^Dia-79SR%nqN}< zEti3YHvdp4HS_Eao2>gu&HW}&0Al8)(i@)LE-DH@r|`Ed0vT$-%-_lhWOQc;w7#tq z>h=Ba(QW$U9W#T6WyuK%ewUYE*MpQFo}R?PsN*pMWLP&xv!!;)J&#`A^ao4~yH+y- z#d=NGTwwxIwr|cbF}#TP`v0F_z5%EhXmzauLy3?_Z>_?M6X*T|EdVm?r(fe>lwf3|CIGOl6N@aV3#@acSI`0Yhp8Y3{2oh>{&kAR&!4`_)GFj%i0{{R2w zrRjgT7`HHrOy9`O7|3WbotcNxPHfem|NkAk*_(d=L*qX<#H9FJr%n&&VN~Js1j@kz f?q$^WP98>8LB=KR>tz{%m R) -> R { map :: proc (arr: ^[..] $T, data: $R, f: proc (T, R) -> T) { for ^it: *arr do *it = f(*it, data); } + +#private_file +greatest_impl :: (arr: ^$T, count: i32) -> (i32, T) { + greatest_idx := 0; + greatest := arr[0]; + + for i: 1 .. count { + if arr[i] > greatest { + greatest_idx = i; + greatest = arr[i]; + } + } + + return greatest_idx, greatest; +} + +// This pattern should be expanded on to make all kinds of folding functions. +greatest :: proc { + (arr: [..] $T) -> (i32, T) { return greatest_impl(arr.data, arr.count); }, + (arr: [] $T) -> (i32, T) { return greatest_impl(arr.data, arr.count); }, + (arr: [$N] $T) -> (i32, T) { return greatest_impl(cast(^T) arr, N); }, +} diff --git a/include/onyxastnodes.h b/include/onyxastnodes.h index c4b4c5c9..2ed97444 100644 --- a/include/onyxastnodes.h +++ b/include/onyxastnodes.h @@ -179,10 +179,10 @@ typedef enum AstFlags { Ast_Flag_Private_File = BH_BIT(6), // Global flags - Ast_Flag_Global_Stack_Top = BH_BIT(7), // These can go away for something better, - Ast_Flag_Global_Stack_Base = BH_BIT(8), // like just checking the pointers since they will be unique. + Ast_Flag_Global_Stack_Top = BH_BIT(7), // Function flags + Ast_Flag_Already_Checked = BH_BIT(8), Ast_Flag_Intrinsic = BH_BIT(10), Ast_Flag_Function_Used = BH_BIT(11), diff --git a/onyx.exe b/onyx.exe index 8b6348ea96f3bd714d2b340b6fbec91db8938c06..918dd1c5bea5301d50b139277dbba1079daa42fa 100644 GIT binary patch delta 74890 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

sYw#^Np!VG+H6hV`6v$9vu;f9skOD|M^WE_ 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 delta 74483 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 diff --git a/project.4coder b/project.4coder new file mode 100644 index 00000000..8980e3a7 --- /dev/null +++ b/project.4coder @@ -0,0 +1,45 @@ +version(1); +project_name = "Onyx"; + +patterns = { +"*.c", +"*.cpp", +"*.h", +"*.onyx", +"*.js", +"*.bat", +"*.sh", +"*.4coder", +"*.txt", +}; +blacklist_patterns = { +".*", +}; +load_paths_custom = { + {"."}, +}; +load_paths = { + { load_paths_custom, .os = "win" }, + { load_paths_custom, .os = "linux"}, + { load_paths_custom, .os = "mac" }, +}; + +build_debug_win32 = "build.bat"; +build_release_win32 = "build.bat 1"; +build_debug_linux = "./build.sh debug"; +build_release_linux = "./build.sh"; + +command_list = { + { .name = "Build Debug", + .out = "*compilation*", .footer_panel = true, .save_dirty_files = true, + .cmd = { {build_debug_win32, .os ="win" }, + {build_debug_linux, .os ="linux"}, }, }, + + { .name = "Build Release", + .out = "*compilation*", .footer_panel = true, .save_dirty_files = true, + .cmd = { {build_release_win32, .os ="win" }, + {build_release_linux, .os ="linux" }, }, }, +}; + +fkey_command[1] = "Build Debug"; +fkey_command[2] = "Build Release"; diff --git a/src/onyx.c b/src/onyx.c index a46a6a62..6b2bf28f 100644 --- a/src/onyx.c +++ b/src/onyx.c @@ -397,7 +397,6 @@ static CompilerProgress process_source_file(char* filename) { bh_file file; bh_file_error err = bh_file_open(&file, filename); if (err != BH_FILE_ERROR_NONE) { - // bh_printf_err("Failed to open file %s\n", filename); onyx_report_error((OnyxFilePos) { 0 }, "Failed to open file %s\n", filename); return ONYX_COMPILER_PROGRESS_FAILED_READ; } @@ -405,17 +404,6 @@ static CompilerProgress process_source_file(char* filename) { bh_file_contents fc = bh_file_read_contents(context.token_alloc, &file); bh_file_close(&file); - // POTENTIAL BUG: If there are too many files and too many collisions in the table, - // there is a chance that the inner arrays of the table will be repositioned. That - // would completely break the pointer taken here, which would break all references - // to file contents anywhere else in the program. - // - // A good solution would be to not use a table and just use a array of char* and - // ensure that the filename is not in that list. - // - brendanfh 2020/09/03 - - - // NOTE: Need to reget the value out of the table so token references work bh_arr_push(context.loaded_files, fc); if (context.options->verbose_output == 2) { diff --git a/src/onyxchecker.c b/src/onyxchecker.c index 74ee72f7..3ec011bb 100644 --- a/src/onyxchecker.c +++ b/src/onyxchecker.c @@ -457,30 +457,25 @@ CheckStatus check_call(AstCall* call) { // 9. Check types of formal and actual params against each other, handling varargs CHECK(expression, &call->callee); - AstFunction* callee = (AstFunction *) call->callee; - check_arguments(&call->args); - if (callee->kind == Ast_Kind_Overloaded_Function) { - call->callee = match_overloaded_function(&call->args, ((AstOverloadedFunction *) callee)->overloads); - + if (call->callee->kind == Ast_Kind_Overloaded_Function) { + call->callee = match_overloaded_function(&call->args, ((AstOverloadedFunction *) call->callee)->overloads); if (call->callee == NULL) { report_unable_to_match_overload(call); return Check_Error; } - - callee = (AstFunction *) call->callee; } - if (callee->kind == Ast_Kind_Polymorphic_Proc) { + if (call->callee->kind == Ast_Kind_Polymorphic_Proc) { call->callee = (AstTyped *) polymorphic_proc_lookup((AstPolyProc *) call->callee, PPLM_By_Arguments, &call->args, call->token); - if (call->callee == NULL) return Check_Error; - callee = (AstFunction *) call->callee; arguments_remove_baked(&call->args); } + AstFunction* callee = (AstFunction *) call->callee; + // NOTE: Build callee's type fill_in_type((AstTyped *) callee); if (callee->type == NULL) { @@ -1454,6 +1449,10 @@ CheckStatus check_expression(AstTyped** pexpr) { case Ast_Kind_Polymorphic_Proc: break; case Ast_Kind_Package: break; case Ast_Kind_Error: break; + + // NOTE: The only way to have an Intrinsic_Call node is to have gone through the + // checking of a call node at least once. + case Ast_Kind_Intrinsic_Call: break; default: retval = Check_Error; @@ -1533,6 +1532,8 @@ CheckStatus check_block(AstBlock* block) { } CheckStatus check_function(AstFunction* func) { + if (func->flags & Ast_Flag_Already_Checked) return Check_Success; + expected_return_type = func->type->Function.return_type; if (func->body) { CheckStatus status = check_block(func->body); @@ -1541,6 +1542,8 @@ CheckStatus check_function(AstFunction* func) { return status; } + + func->flags |= Ast_Flag_Already_Checked; return Check_Success; } diff --git a/src/onyxutils.c b/src/onyxutils.c index 09a97de6..e26f2352 100644 --- a/src/onyxutils.c +++ b/src/onyxutils.c @@ -1107,7 +1107,10 @@ b32 fill_in_arguments(Arguments* args, AstNode* provider, char** err_msg) { b32 success = 1; fori (idx, 0, bh_arr_length(args->values)) { if (args->values[idx] == NULL) args->values[idx] = (AstTyped *) lookup_default_value_by_idx(provider, idx); - if (args->values[idx] == NULL) success = 0; + if (args->values[idx] == NULL) { + *err_msg = bh_aprintf(global_scratch_allocator, "No value given for %d%s argument.", idx + 1, bh_num_suffix(idx + 1)); + success = 0; + } } return success; diff --git a/src/onyxwasm.c b/src/onyxwasm.c index aafd83cc..75f20d9a 100644 --- a/src/onyxwasm.c +++ b/src/onyxwasm.c @@ -236,7 +236,7 @@ EMIT_FUNC(local_location, AstLocal* local, u64* offset_return); EMIT_FUNC(memory_reservation_location, AstMemRes* memres); EMIT_FUNC(location_return_offset, AstTyped* expr, u64* offset_return); EMIT_FUNC(location, AstTyped* expr); -EMIT_FUNC(compound_load, Type* type, u64 offset); +EMIT_FUNC(compound_load, Type* type, u64 offset); EMIT_FUNC(struct_lval, AstTyped* lval); EMIT_FUNC(struct_literal, AstStructLiteral* sl); EMIT_FUNC(compound_store, Type* type, u64 offset, b32 location_first); -- 2.25.1