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/ast.h | |
| parent | 9d47486aac9cd1a4422b78ee273b7a27bf7b733a (diff) | |
feat: add while loops
Diffstat (limited to 'src/ast.h')
| -rw-r--r-- | src/ast.h | 11 |
1 files changed, 11 insertions, 0 deletions
@@ -115,6 +115,7 @@ enum StatementKind STATEMENT_GOTO, STATEMENT_SYSCALL, STATEMENT_IF, + STATEMENT_WHILE, STATEMENT_CALL, STATEMENT_STACK, }; @@ -149,6 +150,15 @@ struct IfStatement size_t else_count; }; +struct WhileStatement +{ + struct Expr* left; + struct Token comparison; + struct Expr* right; + struct Statement* body; + size_t body_count; +}; + struct CallStatement { struct Token name; @@ -172,6 +182,7 @@ struct Statement struct LabelStatement label; struct GotoStatement jump; struct IfStatement branch; + struct WhileStatement loop; struct CallStatement call; struct StackStatement stack; }; |
