diff options
| author | Baitinq <[email protected]> | 2025-05-25 22:49:18 +0200 |
|---|---|---|
| committer | Baitinq <[email protected]> | 2025-05-25 22:49:53 +0200 |
| commit | f5904b62012ca475c14ad55b7f2c0b0c5c48b362 (patch) | |
| tree | 890b3f1274b8dab2e7e2a2052d7d452fa3ca6db2 /src/tokenizer.zig | |
| parent | Examples: Fix example 21 (diff) | |
| download | pry-lang-f5904b62012ca475c14ad55b7f2c0b0c5c48b362.tar.gz pry-lang-f5904b62012ca475c14ad55b7f2c0b0c5c48b362.tar.bz2 pry-lang-f5904b62012ca475c14ad55b7f2c0b0c5c48b362.zip | |
Feature: Start adding structs support
Diffstat (limited to '')
| -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 d150058..f6fbf11 100644 --- a/src/tokenizer.zig +++ b/src/tokenizer.zig @@ -15,6 +15,7 @@ pub const TokenType = union(enum) { BREAK: void, CONTINUE: void, ARROW: void, + STRUCT: void, // Identifiers IDENTIFIER: []u8, @@ -36,6 +37,7 @@ pub const TokenType = union(enum) { BANG: void, LESS: void, GREATER: void, + DOT: void, // Punctuation SEMICOLON: void, @@ -98,6 +100,7 @@ pub const Tokenizer = struct { if (self.accept_string("true")) return self.create_token(.{ .BOOLEAN = true }); if (self.accept_string("false")) return self.create_token(.{ .BOOLEAN = false }); if (self.accept_string("null")) return self.create_token(.{ .NULL = void{} }); + if (self.accept_string("struct")) return self.create_token(.{ .STRUCT = void{} }); if (self.accept_string("=>")) return self.create_token(.{ .ARROW = void{} }); if (self.accept_string(";")) return self.create_token(.{ .SEMICOLON = void{} }); @@ -116,6 +119,7 @@ pub const Tokenizer = struct { if (self.accept_string("!")) return self.create_token(.{ .BANG = void{} }); if (self.accept_string("<")) return self.create_token(.{ .LESS = void{} }); if (self.accept_string(">")) return self.create_token(.{ .GREATER = void{} }); + if (self.accept_string(".")) return self.create_token(.{ .DOT = void{} }); if (self.accept_int_type()) |i| return self.create_token(.{ .NUMBER = i }); if (self.accept_char_type()) |c| return self.create_token(.{ .CHAR = c }); |