diff options
Diffstat (limited to 'src/Lexer.zig')
-rw-r--r-- | src/Lexer.zig | 6 |
1 files changed, 4 insertions, 2 deletions
diff --git a/src/Lexer.zig b/src/Lexer.zig index c85979d..c8f19c6 100644 --- a/src/Lexer.zig +++ b/src/Lexer.zig @@ -11,12 +11,13 @@ pub const Token = struct { plus, minus, semicolon, + equal, invalid, eof, identifier, // Keywords - @"if", + let, }; }; @@ -72,6 +73,7 @@ fn getNext(self: *Self) Token { '+' => self.create(.plus), '-' => self.create(.minus), ';' => self.create(.semicolon), + '=' => self.create(.equal), ' ', '\n' => { self.start = self.pos; continue :s (self.eatChar() orelse return self.create(.eof)); @@ -111,7 +113,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) { - .@"if" => .@"if", + .let => .let, else => .identifier, }); } |