summaryrefslogtreecommitdiff
path: root/src/compiler
diff options
context:
space:
mode:
authorA404M <ahmadmahmoudiprogrammer@gmail.com>2025-02-23 20:06:47 +0330
committerA404M <ahmadmahmoudiprogrammer@gmail.com>2025-02-23 20:07:04 +0330
commit4a39184dfcf0af72e2a28ffed2e3b342202fcba1 (patch)
tree804e466b54f6c3e99ec0caab9e8a1e1b31b052ba /src/compiler
parent1d13c72fb9fb40e35c64713a9176d263ad5fe09d (diff)
fix some bugs
Diffstat (limited to 'src/compiler')
-rw-r--r--src/compiler/ast-tree.c5
-rw-r--r--src/compiler/parser.c4
2 files changed, 5 insertions, 4 deletions
diff --git a/src/compiler/ast-tree.c b/src/compiler/ast-tree.c
index 97e06dc..1b56220 100644
--- a/src/compiler/ast-tree.c
+++ b/src/compiler/ast-tree.c
@@ -2084,7 +2084,8 @@ bool typeIsEqual(const AstTree *type0, const AstTree *type1) {
AstTree *getValue(AstTree *tree, AstTreeSetTypesHelper helper) {
if (!isConst(tree, helper.treeHelper)) {
- printLog("Can't get value at compile time because it is not const");
+ printError(tree->str_begin, tree->str_end,
+ "Can't get value at compile time because it is not const");
return NULL;
}
switch (tree->token) {
@@ -2446,7 +2447,7 @@ bool setTypesValueFloat(AstTree *tree, AstTreeSetTypesHelper helper) {
printWarning(tree->str_begin, tree->str_end, "Value is overflowing");
}
tree->type = &AST_TREE_F32_TYPE;
- } else if (helper.lookingType == &AST_TREE_F64_TYPE) {
+ } else if (helper.lookingType == &AST_TREE_F64_TYPE || helper.lookingType == NULL) {
tree->token = AST_TREE_TOKEN_VALUE_FLOAT;
AstTreeFloat value = *(AstTreeFloat *)tree->metadata;
f64 newValue = value;
diff --git a/src/compiler/parser.c b/src/compiler/parser.c
index 578d626..a25f549 100644
--- a/src/compiler/parser.c
+++ b/src/compiler/parser.c
@@ -992,7 +992,7 @@ ParserNode *parserParenthesis(LexerNode *closing, LexerNode *begin,
ParserNode *pNode =
getUntilCommonParents(iter->parserNode, parent, parserNode);
if (pNode == NULL) {
- printLog("Bad node", pNode->str_begin, pNode->str_end);
+ printLog(pNode->str_begin, pNode->str_end, "Bad node");
return NULL;
} else {
pNode->parent = parserNode;
@@ -1063,7 +1063,7 @@ ParserNode *parserCurlyBrackets(LexerNode *closing, LexerNode *begin,
ParserNode *pNode =
getUntilCommonParents(iter->parserNode, parent, parserNode);
if (pNode == NULL) {
- printLog(iter->str_begin, iter->str_end, "Bad node");
+ printError(iter->str_begin, iter->str_end, "Bad node");
return NULL;
} else {
pNode->parent = parserNode;