diff options
| author | hachem <im@hachem.wtf> | 2026-09-08 12:16:51 +0200 |
|---|---|---|
| committer | hachem <im@hachem.wtf> | 2026-09-08 12:16:51 +0200 |
| commit | 60c0e084b159801a45570b56f152f0f5e9193d72 (patch) | |
| tree | ad6c72d6782ab5d9edff336e1e852ca7b995bcdc /src/sema.c | |
| parent | 9d47486aac9cd1a4422b78ee273b7a27bf7b733a (diff) | |
feat: add while loops
Diffstat (limited to 'src/sema.c')
| -rw-r--r-- | src/sema.c | 6 |
1 files changed, 6 insertions, 0 deletions
@@ -470,6 +470,12 @@ static void check_statement(struct RefCheck* check, struct Statement* statement) for (size_t i = 0; i < statement->branch.else_count; i += 1) check_statement(check, &statement->branch.else_body[i]); break; + case STATEMENT_WHILE: + check_expr(check, statement->loop.left); + check_expr(check, statement->loop.right); + for (size_t i = 0; i < statement->loop.body_count; i += 1) + check_statement(check, &statement->loop.body[i]); + break; case STATEMENT_CALL: { struct CallStatement* call = &statement->call; |
