diff options
| author | nsfisis <nsfisis@gmail.com> | 2026-01-24 12:29:17 +0900 |
|---|---|---|
| committer | nsfisis <nsfisis@gmail.com> | 2026-01-24 12:32:39 +0900 |
| commit | a5bff442c1f09792ff7291652103048688c3a128 (patch) | |
| tree | d30d94201236471591b2af495f8ad41ae6a4cef5 /src/ast.h | |
| parent | c780cbb6acd0e0526f2d305138190392bdc8cdd7 (diff) | |
| download | ducc-a5bff442c1f09792ff7291652103048688c3a128.tar.gz ducc-a5bff442c1f09792ff7291652103048688c3a128.tar.zst ducc-a5bff442c1f09792ff7291652103048688c3a128.zip | |
feat: implement array initializer
Diffstat (limited to 'src/ast.h')
| -rw-r--r-- | src/ast.h | 7 |
1 files changed, 7 insertions, 0 deletions
@@ -88,6 +88,7 @@ typedef enum { AstNodeKind_unknown, AstNodeKind_nop, + AstNodeKind_array_initializer, AstNodeKind_assign_expr, AstNodeKind_binary_expr, AstNodeKind_break_stmt, @@ -310,6 +311,10 @@ typedef struct { } TypedefDeclNode; typedef struct { + AstNode* list; +} ArrayInitializerNode; + +typedef struct { AstNode* items; int len; int cap; @@ -354,6 +359,7 @@ struct AstNode { GvarNode* gvar; StructMemberNode* struct_member; TypedefDeclNode* typedef_decl; + ArrayInitializerNode* array_initializer; ListNode* list; } as; }; @@ -407,5 +413,6 @@ AstNode* ast_new_typedef_decl(const char* name, Type* ty); AstNode* ast_new_struct_def(const char* name); AstNode* ast_new_union_def(const char* name); AstNode* ast_new_enum_def(const char* name); +AstNode* ast_new_array_initializer(AstNode* list); #endif |
