diff options
| author | Nathan Reiner <nathan@nathanreiner.xyz> | 2026-08-04 19:02:27 +0200 |
|---|---|---|
| committer | Nathan Reiner <nathan@nathanreiner.xyz> | 2026-08-04 19:02:27 +0200 |
| commit | a10b091d78208907397a6d49791b27e04e675161 (patch) | |
| tree | bc695613559f14ce69baeb268bb23414dd05ad7e /src/z/parser/js/grammar/whitespace.zig | |
| parent | 0bc6d195195d1e126b535554a4a4105468cd06d9 (diff) | |
add tokenizer for all other variants
Diffstat (limited to 'src/z/parser/js/grammar/whitespace.zig')
| -rw-r--r-- | src/z/parser/js/grammar/whitespace.zig | 16 |
1 files changed, 6 insertions, 10 deletions
diff --git a/src/z/parser/js/grammar/whitespace.zig b/src/z/parser/js/grammar/whitespace.zig index c3435c4..08d031f 100644 --- a/src/z/parser/js/grammar/whitespace.zig +++ b/src/z/parser/js/grammar/whitespace.zig @@ -11,11 +11,11 @@ pub const Whitespace = enum { comptime { errdefer lexer.revert(); - var token = lexer.start(undefined); + var token = lexer.start(.{ .whitespace = undefined }); - switch (lexer.peekChar() orelse 0) { + switch (try lexer.consume()) { ' ', '\t', '\r', '\n' => { - token.kind = .{ .whitespace = .space }; + token.kind.whitespace = .space; while (lexer.peekChar()) |ch| { switch (ch) { @@ -25,13 +25,13 @@ pub const Whitespace = enum { } }, '/' => { - switch (lexer.peekCharAt(1) orelse 0) { + switch (lexer.peekChar() orelse 0) { '*' => { - token.kind = .{ .whitespace = .block_comment }; + token.kind.whitespace = .block_comment; try lexer.skipUntil("*/"); }, '/' => { - token.kind = .{ .whitespace = .line_comment }; + token.kind.whitespace = .line_comment; lexer.skipUntil("\n") catch lexer.skipToEnd(); }, else => return Lexer.Error.UnexpectedToken, @@ -99,8 +99,4 @@ test "mixed" { } else |_| {} try std.testing.expectEqual(7, lexer.tokens.len); - - inline for (lexer.tokens) |token| { - std.debug.print("{f}\n", .{token}); - } } |