summaryrefslogtreecommitdiff
path: root/src/compiler/ast-tree.h
diff options
context:
space:
mode:
authorA404M <ahmadmahmoudiprogrammer@gmail.com>2025-04-26 14:49:37 +0330
committerA404M <ahmadmahmoudiprogrammer@gmail.com>2025-04-26 14:49:37 +0330
commit03796c59c8e0d7140c85eeb23dc3341837fe54b4 (patch)
treea54d5b5aa9c62005629fd1af8301ce8026648560 /src/compiler/ast-tree.h
parentcccf0dd70816133398fc5d3a8c666b07753edc1e (diff)
add better support for builtin
Diffstat (limited to 'src/compiler/ast-tree.h')
-rw-r--r--src/compiler/ast-tree.h24
1 files changed, 8 insertions, 16 deletions
diff --git a/src/compiler/ast-tree.h b/src/compiler/ast-tree.h
index 4eecd0a..aaf614e 100644
--- a/src/compiler/ast-tree.h
+++ b/src/compiler/ast-tree.h
@@ -5,7 +5,9 @@
typedef enum AstTreeToken {
AST_TREE_TOKEN_FUNCTION,
- AST_TREE_TOKEN_BUILTIN,
+ AST_TREE_TOKEN_BUILTIN_CAST,
+ AST_TREE_TOKEN_BUILTIN_TYPE_OF,
+ AST_TREE_TOKEN_BUILTIN_IMPORT,
AST_TREE_TOKEN_KEYWORD_PUTC,
AST_TREE_TOKEN_KEYWORD_RETURN,
@@ -244,19 +246,6 @@ typedef struct AstTreeBracket {
AstTrees parameters;
} AstTreeBracket;
-typedef enum AstTreeBuiltinToken {
- AST_TREE_BUILTIN_TOKEN_CAST,
- AST_TREE_BUILTIN_TOKEN_TYPE_OF,
- AST_TREE_BUILTIN_TOKEN_IMPORT,
- AST_TREE_BUILTIN_TOKEN__SIZE__,
-} AstTreeBuiltinToken;
-
-extern const char *AST_TREE_BUILTIN_TOKEN_STRINGS[];
-
-typedef struct AstTreeBuiltin {
- AstTreeBuiltinToken token;
-} AstTreeBuiltin;
-
#ifdef PRINT_COMPILE_TREE
void astTreePrint(const AstTree *tree, int indent);
void astTreeVariablePrint(const AstTreeVariable *variable, int indent);
@@ -330,7 +319,6 @@ AstTree *astTreeParseParenthesis(const ParserNode *parserNode, AstTreeHelper *he
AstTree *astTreeParseStruct(const ParserNode *parserNode, AstTreeHelper *helper);
AstTree *astTreeParseAccessOperator(const ParserNode *parserNode,
AstTreeHelper *helper, AstTreeToken token);
-AstTree *astTreeParseBuiltin(const ParserNode *parserNode, AstTreeHelper *helper);
AstTree *astTreeParseBracket(const ParserNode *parserNode, AstTreeHelper *helper,
AstTreeToken token);
@@ -388,7 +376,11 @@ bool setTypesScope(AstTree *tree, AstTreeSetTypesHelper helper,
bool setTypesComptime(AstTree *tree, AstTreeSetTypesHelper helper);
bool setTypesStruct(AstTree *tree, AstTreeSetTypesHelper helper);
bool setTypesOperatorAccess(AstTree *tree, AstTreeSetTypesHelper helper);
-bool setTypesBuiltin(AstTree *tree, AstTreeSetTypesHelper helper,
+bool setTypesBuiltinCast(AstTree *tree, AstTreeSetTypesHelper helper,
+ AstTreeFunctionCall *functionCall);
+bool setTypesBuiltinTypeOf(AstTree *tree, AstTreeSetTypesHelper helper,
+ AstTreeFunctionCall *functionCall);
+bool setTypesBuiltinImport(AstTree *tree, AstTreeSetTypesHelper helper,
AstTreeFunctionCall *functionCall);
bool setTypesTypeArray(AstTree *tree, AstTreeSetTypesHelper helper);
bool setTypesArrayAccess(AstTree *tree, AstTreeSetTypesHelper helper);