From 55f45123f21e63e883d0afe16d97dcb5dafdd296 Mon Sep 17 00:00:00 2001 From: Mathias Magnusson Date: Wed, 4 Jun 2025 01:12:01 +0200 Subject: begin implementing if expressions registers are used over block boundaries though, which doesn't work very well so i turned off register freeing to make it look like it works (unless you create more than 12 values total) --- src/Lexer.zig | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) (limited to 'src/Lexer.zig') diff --git a/src/Lexer.zig b/src/Lexer.zig index cb146c7..f59737e 100644 --- a/src/Lexer.zig +++ b/src/Lexer.zig @@ -19,6 +19,8 @@ pub const Token = struct { // Keywords let, + @"if", + @"else", }; }; @@ -120,7 +122,7 @@ fn identifierOrKeyword(self: *Self) Token { } const value = self.source[self.start..self.pos]; return self.create(switch (std.meta.stringToEnum(Token.Type, value) orelse .invalid) { - .let => .let, + .let, .@"if", .@"else" => |t| t, else => .identifier, }); } -- cgit v1.2.3