diff options
| author | hachem <im@hachem.wtf> | 2026-08-30 12:14:04 +0200 |
|---|---|---|
| committer | hachem <im@hachem.wtf> | 2026-08-30 12:14:04 +0200 |
| commit | 53946c982cb3290a25f7c8529ef1399f0635ef37 (patch) | |
| tree | 969bc78c304e13d733b794ffc98d44bf44b53621 /src/parser/ast.h | |
| parent | 6532b074e5c1db4a1c32298cc338a1a533208641 (diff) | |
add: parse labels and syscalls
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; }; }; |
