aboutsummaryrefslogtreecommitdiff
path: root/src/parser/ast.h
diff options
context:
space:
mode:
authorhachem <im@hachem.wtf>2026-08-30 13:42:31 +0200
committerhachem <im@hachem.wtf>2026-08-30 13:42:31 +0200
commitdeed096e783fca21b1773fa84c28be139a3c57ad (patch)
tree6ea3743f5d26a130c25c2df1af1d33a0c916348e /src/parser/ast.h
parent9e979a49b041a9d0e8ba6f8fee50bd11520169af (diff)
add: parse conditional expressions
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;
};
};