diff options
| author | hachem <im@hachem.wtf> | 2026-08-30 13:42:31 +0200 |
|---|---|---|
| committer | hachem <im@hachem.wtf> | 2026-08-30 13:42:31 +0200 |
| commit | deed096e783fca21b1773fa84c28be139a3c57ad (patch) | |
| tree | 6ea3743f5d26a130c25c2df1af1d33a0c916348e /src/parser/ast.h | |
| parent | 9e979a49b041a9d0e8ba6f8fee50bd11520169af (diff) | |
add: parse conditional expressions
Diffstat (limited to 'src/parser/ast.h')
| -rw-r--r-- | src/parser/ast.h | 10 |
1 files changed, 10 insertions, 0 deletions
diff --git a/src/parser/ast.h b/src/parser/ast.h index 199d802..e85e72f 100644 --- a/src/parser/ast.h +++ b/src/parser/ast.h @@ -65,6 +65,7 @@ enum StatementKind STATEMENT_LABEL, STATEMENT_GOTO, STATEMENT_SYSCALL, + STATEMENT_IF, }; struct AssignStatement @@ -85,6 +86,14 @@ struct GotoStatement struct Token label; }; +struct IfStatement +{ + struct Expr* left; + struct Token comparison; + struct Expr* right; + struct Statement* body; +}; + struct Statement { enum StatementKind kind; @@ -93,6 +102,7 @@ struct Statement struct AssignStatement assign; struct LabelStatement label; struct GotoStatement jump; + struct IfStatement branch; }; }; |
