diff options
author | A404M <ahmadmahmoudiprogrammer@gmail.com> | 2025-05-09 23:01:00 +0330 |
---|---|---|
committer | A404M <ahmadmahmoudiprogrammer@gmail.com> | 2025-05-09 23:01:00 +0330 |
commit | f5dfb8ca90a014a6b7667e5ded62e0bae1d60367 (patch) | |
tree | 1f032c667207a7dca719594b0b1ccfccae7e3492 /src/compiler/ast-tree.h | |
parent | 5ff257eaefcb9e1ff30f4b2fe7edcc48b024ab45 (diff) |
add named imports
Diffstat (limited to 'src/compiler/ast-tree.h')
-rw-r--r-- | src/compiler/ast-tree.h | 13 |
1 files changed, 12 insertions, 1 deletions
diff --git a/src/compiler/ast-tree.h b/src/compiler/ast-tree.h index 4d81616..91beae3 100644 --- a/src/compiler/ast-tree.h +++ b/src/compiler/ast-tree.h @@ -52,6 +52,7 @@ typedef enum AstTreeToken { AST_TREE_TOKEN_TYPE_F64, AST_TREE_TOKEN_TYPE_F128, AST_TREE_TOKEN_TYPE_CODE, + AST_TREE_TOKEN_TYPE_NAMESPACE, AST_TREE_TOKEN_TYPE_BOOL, AST_TREE_TOKEN_VALUE_VOID, AST_TREE_TOKEN_STATIC_VARS_END = AST_TREE_TOKEN_VALUE_VOID, @@ -61,6 +62,7 @@ typedef enum AstTreeToken { AST_TREE_TOKEN_VARIABLE_DEFINE, AST_TREE_TOKEN_VALUE_NULL, AST_TREE_TOKEN_VALUE_UNDEFINED, + AST_TREE_TOKEN_VALUE_NAMESPACE, AST_TREE_TOKEN_VALUE_INT, AST_TREE_TOKEN_VALUE_FLOAT, AST_TREE_TOKEN_VALUE_BOOL, @@ -122,6 +124,7 @@ extern AstTree AST_TREE_F32_TYPE; extern AstTree AST_TREE_F64_TYPE; extern AstTree AST_TREE_F128_TYPE; extern AstTree AST_TREE_CODE_TYPE; +extern AstTree AST_TREE_NAMESPACE_TYPE; extern AstTree AST_TREE_VOID_VALUE; typedef struct AstTreeVariable { @@ -148,7 +151,10 @@ typedef struct AstTreeRoot { char *filePath; AstTreeVariables variables; AstTrees trees; - struct AstTreeRoot **imports; + struct { + struct AstTreeRoot *root; + bool visible; + } *imports; size_t imports_size; } AstTreeRoot; @@ -244,6 +250,7 @@ typedef struct AstTreeSetTypesHelper { AstTree *lookingType; AstTreeVariables dependencies; AstTreeVariables variables; + AstTreeRoot *root; } AstTreeSetTypesHelper; typedef struct AstTreeStruct { @@ -269,6 +276,10 @@ typedef struct AstTreeBracket { AstTrees parameters; } AstTreeBracket; +typedef struct AstTreeNamespace { + size_t importedIndex; +} AstTreeNamespace; + #ifdef PRINT_COMPILE_TREE void astTreePrint(const AstTree *tree, int indent); void astTreeVariablePrint(const AstTreeVariable *variable, int indent); |