From c828683504e32ac5ebdaf9b6369d1609a5651cd1 Mon Sep 17 00:00:00 2001 From: Brendan Hansen Date: Thu, 17 Sep 2020 19:44:55 -0500 Subject: [PATCH] added #private_file; 'use package' is at file scope, not package scope --- CHANGELOG | 2 ++ core/i32map.onyx | 4 ++-- core/ptrmap.onyx | 4 ++-- include/onyxastnodes.h | 37 ++++++++++++++++++------------------- include/onyxparser.h | 1 + onyx | Bin 478868 -> 478044 bytes src/onyx.c | 1 + src/onyxparser.c | 25 ++++++++++++++++++------- src/onyxsymres.c | 20 ++++---------------- src/onyxutils.c | 5 +---- 10 files changed, 49 insertions(+), 50 deletions(-) diff --git a/CHANGELOG b/CHANGELOG index bde7b6c3..f895af03 100644 --- a/CHANGELOG +++ b/CHANGELOG @@ -7,10 +7,12 @@ Additions: * Added println to core library; print followed by a newline. * Added tests/ folder and runtests.sh which will compile and execute the programs in the folder and test against their expected output. +* #private_file for specifying symbols at the file scope Removals: Changes: +* BREAKING: 'use package' now places included symbols at the file scope, not package scope. * Switched to using TCC as the primary compiler, while maintaining support for GCC. * boolean literals are compile time known so they can be used at top level. diff --git a/core/i32map.onyx b/core/i32map.onyx index 05f6e566..e5551190 100644 --- a/core/i32map.onyx +++ b/core/i32map.onyx @@ -82,14 +82,14 @@ i32map_clear :: proc (use imap: ^I32Map($T)) { // Private symbols // -#private +#private_file I32MapLookupResult :: struct { hash_index : i32 = -1; entry_index : i32 = -1; entry_prev : i32 = -1; } -#private +#private_file i32map_lookup :: proc (use imap: ^I32Map($T), key: i32) -> I32MapLookupResult { lr := I32MapLookupResult.{}; diff --git a/core/ptrmap.onyx b/core/ptrmap.onyx index ba91a797..2cfc01b7 100644 --- a/core/ptrmap.onyx +++ b/core/ptrmap.onyx @@ -83,14 +83,14 @@ ptrmap_clear :: proc (use pmap: ^PtrMap) { // Private symbols // -#private +#private_file PtrMapLookupResult :: struct { hash_index : i32 = -1; entry_index : i32 = -1; entry_prev : i32 = -1; } -#private +#private_file ptrmap_lookup :: proc (use pmap: ^PtrMap, key: rawptr) -> PtrMapLookupResult { lr := PtrMapLookupResult.{}; diff --git a/include/onyxastnodes.h b/include/onyxastnodes.h index 08067a3c..d86b9405 100644 --- a/include/onyxastnodes.h +++ b/include/onyxastnodes.h @@ -157,38 +157,39 @@ typedef enum AstFlags { Ast_Flag_Const = BH_BIT(3), Ast_Flag_Comptime = BH_BIT(4), Ast_Flag_Private_Package = BH_BIT(5), + Ast_Flag_Private_File = BH_BIT(6), // Global flags - Ast_Flag_Global_Stack_Top = BH_BIT(6), - Ast_Flag_Global_Stack_Base = BH_BIT(7), + Ast_Flag_Global_Stack_Top = BH_BIT(7), + Ast_Flag_Global_Stack_Base = BH_BIT(8), // Function flags - Ast_Flag_Inline = BH_BIT(8), - Ast_Flag_Intrinsic = BH_BIT(9), - Ast_Flag_Function_Used = BH_BIT(10), - Ast_Flag_No_Stack = BH_BIT(11), + Ast_Flag_Inline = BH_BIT(9), + Ast_Flag_Intrinsic = BH_BIT(10), + Ast_Flag_Function_Used = BH_BIT(11), + Ast_Flag_No_Stack = BH_BIT(12), // Expression flags - Ast_Flag_Expr_Ignored = BH_BIT(12), - Ast_Flag_Param_Use = BH_BIT(13), - Ast_Flag_Address_Taken = BH_BIT(14), + Ast_Flag_Expr_Ignored = BH_BIT(13), + Ast_Flag_Param_Use = BH_BIT(14), + Ast_Flag_Address_Taken = BH_BIT(15), // Type flags - Ast_Flag_Type_Is_Resolved = BH_BIT(15), + Ast_Flag_Type_Is_Resolved = BH_BIT(16), // Enum flags - Ast_Flag_Enum_Is_Flags = BH_BIT(16), + Ast_Flag_Enum_Is_Flags = BH_BIT(17), // Struct flags - Ast_Flag_Struct_Is_Union = BH_BIT(17), + Ast_Flag_Struct_Is_Union = BH_BIT(18), - Ast_Flag_No_Clone = BH_BIT(18), + Ast_Flag_No_Clone = BH_BIT(19), - Ast_Flag_Cannot_Take_Addr = BH_BIT(19), + Ast_Flag_Cannot_Take_Addr = BH_BIT(20), - Ast_Flag_Arg_Is_VarArg = BH_BIT(20), + Ast_Flag_Arg_Is_VarArg = BH_BIT(21), - Ast_Flag_Struct_Mem_Used = BH_BIT(21), + Ast_Flag_Struct_Mem_Used = BH_BIT(22), } AstFlags; typedef enum UnaryOp { @@ -679,6 +680,7 @@ typedef enum EntityType { typedef struct Entity { EntityType type; Package *package; + Scope *scope; union { AstUsePackage *use_package; @@ -698,10 +700,7 @@ typedef struct Entity { struct Package { char *name; - bh_arr(Package *) unqualified_uses; - Scope *scope; - Scope *include_scope; Scope *private_scope; }; diff --git a/include/onyxparser.h b/include/onyxparser.h index 2d5766a0..18b38ebf 100644 --- a/include/onyxparser.h +++ b/include/onyxparser.h @@ -33,6 +33,7 @@ typedef struct OnyxParser { ProgramInfo *program; Package *package; + Scope *file_scope; // NOTE: not used since all tokens are lexed before parsing starts OnyxTokenizer *tokenizer; diff --git a/onyx b/onyx index a18d32f484a6e13aa1b36e618dbc8800afab8535..9975660a7ff32b15b7aa1feba2eb5878776fc296 100755 GIT binary patch delta 88881 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 delta 88362 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

!iX9h8?-8_4uO?1+;=&7%> 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 diff --git a/src/onyx.c b/src/onyx.c index 89bc81b8..5036c03c 100644 --- a/src/onyx.c +++ b/src/onyx.c @@ -226,6 +226,7 @@ static void merge_parse_results(CompilerState* compiler_state, ParseResults* res AstKind nkind = node->kind; ent.package = n->package; + ent.scope = n->scope; switch (nkind) { case Ast_Kind_Function: { diff --git a/src/onyxparser.c b/src/onyxparser.c index 63436cb7..b4e0ea94 100644 --- a/src/onyxparser.c +++ b/src/onyxparser.c @@ -110,7 +110,7 @@ static OnyxToken* soft_expect_token(OnyxParser* parser, TokenType token_type) { static void add_node_to_process(OnyxParser* parser, AstNode* node) { bh_arr_push(parser->results.nodes_to_process, ((NodeToProcess) { .package = parser->package, - .scope = parser->package->scope, + .scope = parser->file_scope, .node = node, })); } @@ -1784,9 +1784,13 @@ static AstTyped* parse_top_level_expression(OnyxParser* parser) { // 'use' // :: static AstNode* parse_top_level_statement(OnyxParser* parser) { - b32 is_private = 0; + AstFlags private_kind = 0; if (parse_possible_directive(parser, "private")) { - is_private = 1; + private_kind = Ast_Flag_Private_Package; + } + + else if (parse_possible_directive(parser, "private_file")) { + private_kind = Ast_Flag_Private_File; } switch ((u16) parser->curr->type) { @@ -1853,8 +1857,7 @@ static AstNode* parse_top_level_statement(OnyxParser* parser) { AstTyped* node = parse_top_level_expression(parser); - if (is_private) - node->flags |= Ast_Flag_Private_Package; + node->flags |= private_kind; if (node->kind == Ast_Kind_Function) { AstFunction* func = (AstFunction *) node; @@ -1908,8 +1911,7 @@ static AstNode* parse_top_level_statement(OnyxParser* parser) { } } - if (is_private) - memres->flags |= Ast_Flag_Private_Package; + memres->flags |= private_kind; add_node_to_process(parser, (AstNode *) memres); @@ -2025,6 +2027,8 @@ ParseResults onyx_parse(OnyxParser *parser) { parser->package = package; } + parser->file_scope = scope_create(parser->allocator, parser->package->private_scope); + AstUsePackage* implicit_use_builtin = make_node(AstUsePackage, Ast_Kind_Use_Package); implicit_use_builtin->package = (AstPackage *) &builtin_package_node; add_node_to_process(parser, (AstNode *) implicit_use_builtin); @@ -2042,11 +2046,18 @@ ParseResults onyx_parse(OnyxParser *parser) { case Ast_Kind_Include_Folder: bh_arr_push(parser->results.includes, (AstInclude *) curr_stmt); break; + case Ast_Kind_Binding: { if (((AstBinding *) curr_stmt)->node->flags & Ast_Flag_Private_Package) { symbol_introduce(parser->package->private_scope, ((AstBinding *) curr_stmt)->token, ((AstBinding *) curr_stmt)->node); + + } else if (((AstBinding *) curr_stmt)->node->flags & Ast_Flag_Private_File) { + symbol_introduce(parser->file_scope, + ((AstBinding *) curr_stmt)->token, + ((AstBinding *) curr_stmt)->node); + } else { symbol_introduce(parser->package->scope, ((AstBinding *) curr_stmt)->token, diff --git a/src/onyxsymres.c b/src/onyxsymres.c index 85a4bd6a..c28519cd 100644 --- a/src/onyxsymres.c +++ b/src/onyxsymres.c @@ -631,7 +631,7 @@ static void symres_use_package(AstUsePackage* package) { pac_node->package = p; pac_node->token = package->alias; - symbol_introduce(semstate.curr_package->include_scope, package->alias, (AstNode *) pac_node); + symbol_introduce(semstate.curr_scope, package->alias, (AstNode *) pac_node); } if (package->only != NULL) { @@ -643,24 +643,12 @@ static void symres_use_package(AstUsePackage* package) { return; } - symbol_introduce(semstate.curr_package->include_scope, (*alias)->alias, thing); + symbol_introduce(semstate.curr_scope, (*alias)->alias, thing); } } if (package->alias == NULL && package->only == NULL) { - b32 already_included = 0; - bh_arr_each(Package *, included_package, semstate.curr_package->unqualified_uses) { - if (*included_package == p) { - already_included = 1; - break; - } - } - - if (already_included) return; - - scope_include(semstate.curr_package->include_scope, p->scope); - - bh_arr_push(semstate.curr_package->unqualified_uses, p); + scope_include(semstate.curr_scope, p->scope); } } @@ -729,7 +717,7 @@ void onyx_resolve_symbols() { bh_arr_each(Entity, entity, semstate.program->entities) { if (entity->package) { - scope_enter(entity->package->private_scope); + scope_enter(entity->scope); semstate.curr_package = entity->package; } diff --git a/src/onyxutils.c b/src/onyxutils.c index f15c0930..b13db668 100644 --- a/src/onyxutils.c +++ b/src/onyxutils.c @@ -122,11 +122,8 @@ Package* program_info_package_lookup_or_create(ProgramInfo* prog, char* package_ memcpy(pac_name, package_name, strlen(package_name) + 1); package->name = pac_name; - package->include_scope = scope_create(alloc, parent_scope); - package->scope = scope_create(alloc, package->include_scope); + package->scope = scope_create(alloc, parent_scope); package->private_scope = scope_create(alloc, package->scope); - package->unqualified_uses = NULL; - bh_arr_new(global_heap_allocator, package->unqualified_uses, 4); bh_table_put(Package *, prog->packages, pac_name, package); -- 2.25.1