diff options
author | Mathias Magnusson <mathias@magnusson.space> | 2025-06-02 18:47:24 +0200 |
---|---|---|
committer | Mathias Magnusson <mathias@magnusson.space> | 2025-06-02 18:47:24 +0200 |
commit | bb66477d1423f16c77986b48acd6156222d7d195 (patch) | |
tree | 772e8f3915dc5854f0d5e2d4376fcd1490a11dc6 /src/Lexer.zig | |
parent | 601916b828b8d94a89df6950da73ea68a20daa69 (diff) | |
download | huginn-bb66477d1423f16c77986b48acd6156222d7d195.tar.gz |
add variable declarations
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, }); } |