diff options
| author | Nic Gaffney <gaffney_nic@protonmail.com> | 2025-02-19 18:07:15 -0600 |
|---|---|---|
| committer | Nic Gaffney <gaffney_nic@protonmail.com> | 2025-02-19 18:07:15 -0600 |
| commit | fe851bcb542dac5f3af312da02ff617aa817f118 (patch) | |
| tree | 9f492f460f12e3b31d5add43e8a623fdb5cb4609 /src/tokenize.zig | |
| parent | eacf9771c53f75a2b4ebe91070a32d5e9a73e524 (diff) | |
| download | calico-fe851bcb542dac5f3af312da02ff617aa817f118.tar.gz | |
Fixed if statements
Diffstat (limited to 'src/tokenize.zig')
| -rw-r--r-- | src/tokenize.zig | 39 |
1 files changed, 36 insertions, 3 deletions
diff --git a/src/tokenize.zig b/src/tokenize.zig index 2c536db..038a4d3 100644 --- a/src/tokenize.zig +++ b/src/tokenize.zig @@ -94,9 +94,9 @@ pub const Token = union(TokenType) { ':' => .colon, '[' => .openBracket, ']' => .closeBracket, - else => { - // std.debug.print("{c}: ", .{char}); - return TokenizeError.UnknownToken; + else => errblk: { + std.debug.print("{c}: ", .{char}); + break :errblk TokenizeError.UnknownToken; }, }; } @@ -111,6 +111,39 @@ pub const Token = union(TokenType) { if (eql(u8, str, "import")) return .import; return Token{ .ident = str }; } + + pub fn toString(self: Token) []const u8 { + return switch (self) { + .ident => "IDENT", + .stringLit => "STRINGlIT", + .intLit => "INTlIT", + .charLit => "CHARlIT", + .ifstmt => "IFSTMT", + .constant => "CONSTANT", + .variable => "VARIABLE", + .exit => "EXIT", + .fun => "FUN", + .import => "IMPORT", + .plus => "PLUS", + .minus => "MINUS", + .star => "STAR", + .slash => "SLASH", + .semiCol => "SEMIcOL", + .equal => "EQUAL", + .eqleql => "EQLEQL", + .lessthan => "LESSTHAN", + .greaterthan => "GREATERTHAN", + .openBrace => "OPENbRACE", + .closeBrace => "CLOSEbRACE", + .openParen => "OPENpAREN", + .closeParen => "CLOSEpAREN", + .openBracket => "OPENbRACKET", + .closeBracket => "CLOSEbRACKET", + .arrow => "ARROW", + .colon => "COLON", + .comma => "COMMA", + }; + } }; pub fn checkType(tok: Token, comptime typ: TokenType) bool { |
