From af6a58bfad54dc9d3cb49d1efa1c90a5d094bcb1 Mon Sep 17 00:00:00 2001
From: A404M <ahmadmahmoudiprogrammer@gmail.com>
Date: Sun, 23 Feb 2025 22:09:19 +0330
Subject: fix bugs in float types

---
 src/compiler/ast-tree.c | 3 ++-
 src/compiler/lexer.c    | 1 +
 src/compiler/parser.c   | 5 +++++
 3 files changed, 8 insertions(+), 1 deletion(-)

(limited to 'src/compiler')

diff --git a/src/compiler/ast-tree.c b/src/compiler/ast-tree.c
index 1b56220..8cb1fce 100644
--- a/src/compiler/ast-tree.c
+++ b/src/compiler/ast-tree.c
@@ -2447,7 +2447,8 @@ 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 || helper.lookingType == NULL) {
+  } 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/lexer.c b/src/compiler/lexer.c
index 1c8ae5d..2b7a789 100644
--- a/src/compiler/lexer.c
+++ b/src/compiler/lexer.c
@@ -180,6 +180,7 @@ LexerNodeArray lexer(char *str) {
             goto RETURN_ERROR;
           }
         }
+        continue;
       } else {
         --iter;
         c = *iter;
diff --git a/src/compiler/parser.c b/src/compiler/parser.c
index a25f549..405c921 100644
--- a/src/compiler/parser.c
+++ b/src/compiler/parser.c
@@ -49,6 +49,11 @@ const char *PARSER_TOKEN_STRINGS[] = {
     "PARSER_TOKEN_SYMBOL_COMMA",
 
     "PARSER_TOKEN_OPERATOR_ASSIGN",
+    "PARSER_TOKEN_OPERATOR_SUM_ASSIGN",
+    "PARSER_TOKEN_OPERATOR_SUB_ASSIGN",
+    "PARSER_TOKEN_OPERATOR_MULTIPLY_ASSIGN",
+    "PARSER_TOKEN_OPERATOR_DIVIDE_ASSIGN",
+    "PARSER_TOKEN_OPERATOR_MODULO_ASSIGN",
     "PARSER_TOKEN_OPERATOR_PLUS",
     "PARSER_TOKEN_OPERATOR_MINUS",
     "PARSER_TOKEN_OPERATOR_SUM",
-- 
cgit v1.2.3