aboutsummaryrefslogtreecommitdiff
path: root/src/Lexer.zig
diff options
context:
space:
mode:
authorMathias Magnusson <mathias@magnusson.space>2025-07-30 16:26:48 +0200
committerMathias Magnusson <mathias@magnusson.space>2025-07-30 16:26:48 +0200
commit132a8da9a41a6303d40c8ec936a31c9481581cbe (patch)
tree89d57f62a100467e5257f36078a07b1adfbf9bbc /src/Lexer.zig
parent222ec8886d246b7e1a54157fd974aa5291e1d464 (diff)
downloadhuginn-132a8da9a41a6303d40c8ec936a31c9481581cbe.tar.gz
implement `==`
Diffstat (limited to 'src/Lexer.zig')
-rw-r--r--src/Lexer.zig6
1 files changed, 5 insertions, 1 deletions
diff --git a/src/Lexer.zig b/src/Lexer.zig
index 19e9cd4..64457bf 100644
--- a/src/Lexer.zig
+++ b/src/Lexer.zig
@@ -13,6 +13,7 @@ pub const Token = struct {
plus,
minus,
equal,
+ equal_equal,
colon,
invalid,
eof,
@@ -85,7 +86,10 @@ fn getNext(self: *Self) Token {
'0', '1', '2', '3', '4', '5', '6', '7', '8', '9' => self.integerLiteral(),
'+' => self.create(.plus),
'-' => self.create(.minus),
- '=' => self.create(.equal),
+ '=' => if (self.eatIfEqual('='))
+ self.create(.equal_equal)
+ else
+ self.create(.equal),
':' => self.create(.colon),
',' => self.create(.comma),
'<' => if (self.eatIfEqual('='))