diff options
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; }; }; |
