aboutsummaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorMathias Magnusson <mathias@magnusson.space>2025-07-30 14:14:52 +0200
committerMathias Magnusson <mathias@magnusson.space>2025-07-30 14:14:52 +0200
commit222ec8886d246b7e1a54157fd974aa5291e1d464 (patch)
tree85a6d3f91eaf369b9970e102b7b07c644534c634 /src
parent580405d656bc896f1e086b72f734a1e61d7c8f50 (diff)
downloadhuginn-222ec8886d246b7e1a54157fd974aa5291e1d464.tar.gz
Allow if statements
Diffstat (limited to 'src')
-rw-r--r--src/parse.zig6
1 files changed, 3 insertions, 3 deletions
diff --git a/src/parse.zig b/src/parse.zig
index 1aa5d07..e22397f 100644
--- a/src/parse.zig
+++ b/src/parse.zig
@@ -184,7 +184,7 @@ const ParseError = error{
ExpectedRightParen,
UnexpectedToken,
InvalidAssignTarget,
- ExprStatementMustBeCall,
+ ExprStatementMustBeCallOrIf,
};
pub fn file(allocator: Allocator, lexer: *Lexer) !File {
@@ -256,8 +256,8 @@ fn parseStatement(allocator: Allocator, lexer: *Lexer) ParseError!Stmt {
.loc = lhs.loc.combine(value.loc),
.type = .{ .assign_var = .{ .ident = lhs.loc, .is_decl = colon != null, .value = value } },
};
- } else if (lhs.type != .call) {
- return error.ExprStatementMustBeCall;
+ } else if (lhs.type != .call and lhs.type != .@"if") {
+ return error.ExprStatementMustBeCallOrIf;
}
return .{
.loc = lhs.loc,