aboutsummaryrefslogtreecommitdiff
path: root/src/Lexer.zig
diff options
context:
space:
mode:
authorMathias Magnusson <mathias@magnusson.space>2025-06-02 18:47:24 +0200
committerMathias Magnusson <mathias@magnusson.space>2025-06-02 18:47:24 +0200
commitbb66477d1423f16c77986b48acd6156222d7d195 (patch)
tree772e8f3915dc5854f0d5e2d4376fcd1490a11dc6 /src/Lexer.zig
parent601916b828b8d94a89df6950da73ea68a20daa69 (diff)
downloadhuginn-bb66477d1423f16c77986b48acd6156222d7d195.tar.gz
add variable declarations
Diffstat (limited to 'src/Lexer.zig')
-rw-r--r--src/Lexer.zig6
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,
});
}