aboutsummaryrefslogtreecommitdiff
path: root/src/Lexer.zig
diff options
context:
space:
mode:
authorMathias Magnusson <mathias@magnusson.space>2025-06-03 00:34:15 +0200
committerMathias Magnusson <mathias@magnusson.space>2025-06-03 00:34:15 +0200
commit5a421bb91780e74404d83df2e99d7469b3cb8b90 (patch)
treee0b4fdf996701d7f143a59201f227c7013313e75 /src/Lexer.zig
parente2e77b4b06e51c7f7d3ea187defaf1ad08e513c1 (diff)
downloadhuginn-5a421bb91780e74404d83df2e99d7469b3cb8b90.tar.gz
add { blocks } with scoped local variables
Diffstat (limited to 'src/Lexer.zig')
-rw-r--r--src/Lexer.zig4
1 files changed, 4 insertions, 0 deletions
diff --git a/src/Lexer.zig b/src/Lexer.zig
index c8f19c6..f5d8e95 100644
--- a/src/Lexer.zig
+++ b/src/Lexer.zig
@@ -7,6 +7,8 @@ pub const Token = struct {
pub const Type = enum {
left_paren,
right_paren,
+ left_curly,
+ right_curly,
integer_literal,
plus,
minus,
@@ -69,6 +71,8 @@ fn getNext(self: *Self) Token {
return s: switch (self.eatChar() orelse return self.create(.eof)) {
'(' => self.create(.left_paren),
')' => self.create(.right_paren),
+ '{' => self.create(.left_curly),
+ '}' => self.create(.right_curly),
'0', '1', '2', '3', '4', '5', '6', '7', '8', '9' => self.integerLiteral(),
'+' => self.create(.plus),
'-' => self.create(.minus),