From 5a421bb91780e74404d83df2e99d7469b3cb8b90 Mon Sep 17 00:00:00 2001 From: Mathias Magnusson Date: Tue, 3 Jun 2025 00:34:15 +0200 Subject: add { blocks } with scoped local variables --- src/Lexer.zig | 4 ++++ 1 file changed, 4 insertions(+) (limited to 'src/Lexer.zig') 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), -- cgit v1.2.3