diff options
| author | Baitinq <[email protected]> | 2025-01-19 13:55:58 +0100 |
|---|---|---|
| committer | Baitinq <[email protected]> | 2025-01-19 14:09:32 +0100 |
| commit | 01d27c6e43771353ad9ce1d63f546a122735f0ce (patch) | |
| tree | a2ed9a4817f770d141af7b59e210439534d28ee0 /src/tokenizer.zig | |
| parent | Example: Get fibonacci example working (diff) | |
| download | pry-lang-01d27c6e43771353ad9ce1d63f546a122735f0ce.tar.gz pry-lang-01d27c6e43771353ad9ce1d63f546a122735f0ce.tar.bz2 pry-lang-01d27c6e43771353ad9ce1d63f546a122735f0ce.zip | |
Feature: Add support for boolean values
Diffstat (limited to 'src/tokenizer.zig')
| -rw-r--r-- | src/tokenizer.zig | 4 |
1 files changed, 4 insertions, 0 deletions
diff --git a/src/tokenizer.zig b/src/tokenizer.zig index e395835..6765ea9 100644 --- a/src/tokenizer.zig +++ b/src/tokenizer.zig @@ -16,6 +16,7 @@ pub const TokenType = enum { // Literals NUMBER, + BOOLEAN, // Operators EQUALS, @@ -38,6 +39,7 @@ pub const Token = union(TokenType) { ARROW: void, IDENTIFIER: []u8, NUMBER: i64, + BOOLEAN: bool, EQUALS: void, PLUS: void, MINUS: void, @@ -84,6 +86,8 @@ pub const Tokenizer = struct { if (std.mem.eql(u8, string, "let")) return Token{ .LET = void{} }; if (std.mem.eql(u8, string, "if")) return Token{ .IF = void{} }; if (std.mem.eql(u8, string, "return")) return Token{ .RETURN = void{} }; + if (std.mem.eql(u8, string, "true")) return Token{ .BOOLEAN = true }; + if (std.mem.eql(u8, string, "false")) return Token{ .BOOLEAN = false }; if (std.fmt.parseInt(i32, string, 10) catch null) |i| return Token{ .NUMBER = i }; |