From d1c2514965ad48ed34660d85e702b90c481e0ecd Mon Sep 17 00:00:00 2001 From: Brendan Hansen Date: Sun, 26 Jul 2020 14:40:51 -0500 Subject: [PATCH] Added flags directive to enums --- docs/plan | 2 +- include/onyxastnodes.h | 3 +++ onyx | Bin 329568 -> 329776 bytes progs/ez.onyx | 8 +------- src/onyxparser.c | 17 ++++++++++++++++- src/onyxsymres.c | 8 ++++++-- 6 files changed, 27 insertions(+), 11 deletions(-) diff --git a/docs/plan b/docs/plan index fd4b099f..aa24c32e 100644 --- a/docs/plan +++ b/docs/plan @@ -117,7 +117,7 @@ HOW: [X] Package system - [ ] Enum types + [X] Enum types [ ] Static pointers to sized data diff --git a/include/onyxastnodes.h b/include/onyxastnodes.h index 1393417b..785cda91 100644 --- a/include/onyxastnodes.h +++ b/include/onyxastnodes.h @@ -135,6 +135,9 @@ typedef enum AstFlags { // Type flags Ast_Flag_Type_Is_Resolved = BH_BIT(8), + + // Enum flags + Ast_Flag_Enum_Is_Flags = BH_BIT(11), } AstFlags; typedef enum UnaryOp { diff --git a/onyx b/onyx index 5aad47df32e260995fada08dd0ac63d7f215c535..90f0812b9b7061f6d372896caefc770bb6f4d174 100755 GIT binary patch delta 83509 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"wM7Q9#ig( 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 JD~?+&{tr0K@HGGc diff --git a/progs/ez.onyx b/progs/ez.onyx index 47784d99..0ab71b5f 100644 --- a/progs/ez.onyx +++ b/progs/ez.onyx @@ -17,19 +17,13 @@ asdf :: proc (pa: PrintableArray) { for i: 0, pa.len print(pa.data[i] as i32); } -SomeType :: enum (u16) { - Value1; - Value2; - Value3 = 80; - Value4; -} +SomeType :: enum #flags { Value1; Value2; Value3; Value4; } print_st :: proc (st: SomeType) { print(st as i32); } proc #export "main" { - st := SomeType.Value4; print_st(st); diff --git a/src/onyxparser.c b/src/onyxparser.c index 10b93d0e..9c54464d 100644 --- a/src/onyxparser.c +++ b/src/onyxparser.c @@ -1077,6 +1077,19 @@ static AstEnumType* parse_enum_declaration(OnyxParser* parser) { bh_arr_new(global_heap_allocator, enum_node->values, 4); + while (parser->curr->type == '#') { + if (parse_possible_directive(parser, "flags")) { + enum_node->flags |= Ast_Flag_Enum_Is_Flags; + } else { + OnyxToken* directive_token = expect_token(parser, '#'); + OnyxToken* symbol_token = expect_token(parser, Token_Type_Symbol); + + onyx_message_add(Msg_Type_Unknown_Directive, + directive_token->pos, + symbol_token->text, symbol_token->length); + } + } + AstType* backing = (AstType *) &basic_type_u32; if (parser->curr->type == '(') { consume_token(parser); @@ -1096,8 +1109,10 @@ static AstEnumType* parse_enum_declaration(OnyxParser* parser) { evalue->token = expect_token(parser, Token_Type_Symbol); evalue->type_node = (AstType *) enum_node; - if (parser->curr->type == '=') { + if (parser->curr->type == ':') { consume_token(parser); + expect_token(parser, ':'); + evalue->value = parse_numeric_literal(parser); } diff --git a/src/onyxsymres.c b/src/onyxsymres.c index c7a04c41..029a062b 100644 --- a/src/onyxsymres.c +++ b/src/onyxsymres.c @@ -421,7 +421,7 @@ static void symres_enum(AstEnumType* enum_node) { enum_node->backing_type = type_build_from_ast(semstate.allocator, enum_node->backing); enum_node->scope = scope_create(semstate.node_allocator, NULL); - u64 next_assign_value = 0; + u64 next_assign_value = (enum_node->flags & Ast_Flag_Enum_Is_Flags) ? 1 : 0; bh_arr_each(AstEnumValue *, value, enum_node->values) { symbol_introduce(enum_node->scope, (*value)->token, (AstNode *) *value); @@ -446,7 +446,11 @@ static void symres_enum(AstEnumType* enum_node) { (*value)->value = num; } - next_assign_value++; + if (enum_node->flags & Ast_Flag_Enum_Is_Flags) { + next_assign_value <<= 1; + } else { + next_assign_value++; + } } } -- 2.25.1