diff options
Diffstat (limited to 'src/parser/ast.h')
| -rw-r--r-- | src/parser/ast.h | 15 |
1 files changed, 15 insertions, 0 deletions
diff --git a/src/parser/ast.h b/src/parser/ast.h index 83483e9..4604e1a 100644 --- a/src/parser/ast.h +++ b/src/parser/ast.h @@ -26,6 +26,9 @@ struct Param enum StatementKind { STATEMENT_ASSIGN, + STATEMENT_LABEL, + STATEMENT_GOTO, + STATEMENT_SYSCALL, }; struct AssignStatement @@ -36,12 +39,24 @@ struct AssignStatement struct Token value; }; +struct LabelStatement +{ + struct Token name; +}; + +struct GotoStatement +{ + struct Token label; +}; + struct Statement { enum StatementKind kind; union { struct AssignStatement assign; + struct LabelStatement label; + struct GotoStatement jump; }; }; |
