summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorA404M <ahmadmahmoudiprogrammer@gmail.com>2025-03-27 19:21:37 +0330
committerA404M <ahmadmahmoudiprogrammer@gmail.com>2025-03-27 19:21:37 +0330
commit8a1016425aba995a391271666b3ae8a29c2dd3f3 (patch)
treec637d88f6f66d9e71ead1a7d51112ee208e2abe7 /src
parentef3346297dc292ea2f2b25368cd671136c529415 (diff)
fix memory leak
Diffstat (limited to 'src')
-rw-r--r--src/compiler/parser.c2
-rw-r--r--src/runner/runner.c1
2 files changed, 2 insertions, 1 deletions
diff --git a/src/compiler/parser.c b/src/compiler/parser.c
index 2ab8860..d508110 100644
--- a/src/compiler/parser.c
+++ b/src/compiler/parser.c
@@ -113,7 +113,7 @@ static constexpr ParserOrder PARSER_ORDER[] = {
ORDER_ARRAY(LEXER_TOKEN_SYMBOL_DEREFERENCE, ),
},
{
- .ltr = true,
+ .ltr = false,
ORDER_ARRAY(LEXER_TOKEN_SYMBOL_PLUS, LEXER_TOKEN_SYMBOL_MINUS,
LEXER_TOKEN_SYMBOL_ADDRESS, ),
},
diff --git a/src/runner/runner.c b/src/runner/runner.c
index 7d36b67..2c38f74 100644
--- a/src/runner/runner.c
+++ b/src/runner/runner.c
@@ -192,6 +192,7 @@ AstTree *runExpression(AstTree *expr, bool *shouldRet) {
UNREACHABLE;
}
left = var->metadata;
+ astTreeDelete(var);
}
runnerVariableSetValue(left, runExpression(&metadata->right, shouldRet));
return copyAstTree(left->value);