aboutsummaryrefslogtreecommitdiff
path: root/src/parser/ast.h
diff options
context:
space:
mode:
Diffstat (limited to 'src/parser/ast.h')
-rw-r--r--src/parser/ast.h10
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;
};
};