aboutsummaryrefslogtreecommitdiff
path: root/src/compiler/ast-tree.h
diff options
context:
space:
mode:
authorA404M <ahmadmahmoudiprogrammer@gmail.com>2025-05-07 01:29:34 +0330
committerA404M <ahmadmahmoudiprogrammer@gmail.com>2025-05-07 01:29:34 +0330
commitd7c31e44861b4d98fbddc177002e0a311a6d26af (patch)
tree038d13dce38f8dfdd6bf0ac10d30ea9ec1fcdc54 /src/compiler/ast-tree.h
parent8655602aa44c4ff65b4c6839ba804e4621e10338 (diff)
fix bugs in dereference and address and logs
Diffstat (limited to 'src/compiler/ast-tree.h')
-rw-r--r--src/compiler/ast-tree.h29
1 files changed, 16 insertions, 13 deletions
diff --git a/src/compiler/ast-tree.h b/src/compiler/ast-tree.h
index 74aa027..e52d8c2 100644
--- a/src/compiler/ast-tree.h
+++ b/src/compiler/ast-tree.h
@@ -100,8 +100,8 @@ typedef struct AstTree {
AstTreeToken token;
void *metadata;
struct AstTree *type;
- char *str_begin;
- char *str_end;
+ char const *str_begin;
+ char const *str_end;
} AstTree;
extern AstTree AST_TREE_TYPE_TYPE;
@@ -125,8 +125,8 @@ extern AstTree AST_TREE_CODE_TYPE;
extern AstTree AST_TREE_VOID_VALUE;
typedef struct AstTreeVariable {
- char *name_begin;
- char *name_end;
+ char const *name_begin;
+ char const *name_end;
AstTree *type;
AstTree *value;
AstTree *initValue;
@@ -171,10 +171,10 @@ typedef struct AstTreeFunction {
} AstTreeFunction;
typedef struct AstTreeTypeFunctionArgument {
- char *str_begin;
- char *str_end;
- char *name_begin;
- char *name_end;
+ char const *str_begin;
+ char const *str_end;
+ char const *name_begin;
+ char const *name_end;
AstTree *type;
} AstTreeTypeFunctionArgument;
@@ -185,8 +185,8 @@ typedef struct AstTreeTypeFunction {
} AstTreeTypeFunction;
typedef struct AstTreeFunctionCallParam {
- char *nameBegin;
- char *nameEnd;
+ char const *nameBegin;
+ char const *nameEnd;
AstTree *value;
} AstTreeFunctionCallParam;
@@ -251,8 +251,8 @@ typedef struct AstTreeStruct {
} AstTreeStruct;
typedef struct AstTreeName {
- char *begin;
- char *end;
+ char const *begin;
+ char const *end;
} AstTreeName;
typedef struct AstTreeAccess {
@@ -283,7 +283,7 @@ void astTreeRootDelete(AstTreeRoot *root);
void astTreeRootsDestroy(AstTreeRoots roots);
AstTree *newAstTree(AstTreeToken token, void *metadata, AstTree *type,
- char *str_begin, char *str_end);
+ char const *str_begin, char const *str_end);
AstTree *copyAstTree(AstTree *tree);
AstTree *copyAstTreeBack(AstTree *tree, AstTreeVariables oldVariables[],
AstTreeVariables newVariables[],
@@ -338,6 +338,9 @@ AstTree *astTreeParseBinaryOperator(const ParserNode *parserNode,
AstTreeHelper *helper, AstTreeToken token);
AstTree *astTreeParseUnaryOperator(const ParserNode *parserNode,
AstTreeHelper *helper, AstTreeToken token);
+AstTree *astTreeParseUnaryOperatorSingleChild(const ParserNode *parserNode,
+ AstTreeHelper *helper,
+ AstTreeToken token);
AstTree *astTreeParseOperateAssignOperator(const ParserNode *parserNode,
AstTreeHelper *helper,
AstTreeToken token);