From 60c0e084b159801a45570b56f152f0f5e9193d72 Mon Sep 17 00:00:00 2001 From: hachem Date: Tue, 8 Sep 2026 12:16:51 +0200 Subject: feat: add while loops --- src/ast.c | 7 +++++++ 1 file changed, 7 insertions(+) (limited to 'src/ast.c') diff --git a/src/ast.c b/src/ast.c index 28bb98e..da51b05 100644 --- a/src/ast.c +++ b/src/ast.c @@ -46,6 +46,13 @@ void free_statement(struct Statement* statement) free_statement(&statement->branch.else_body[i]); free(statement->branch.else_body); break; + case STATEMENT_WHILE: + free_expr(statement->loop.left); + free_expr(statement->loop.right); + for (size_t i = 0; i < statement->loop.body_count; i += 1) + free_statement(&statement->loop.body[i]); + free(statement->loop.body); + break; case STATEMENT_CALL: for (size_t i = 0; i < statement->call.arg_count; i += 1) free_expr(statement->call.args[i]); -- cgit v1.3