diff options
| author | Nathan Reiner <nathan@nathanreiner.xyz> | 2026-08-04 22:28:25 +0200 |
|---|---|---|
| committer | Nathan Reiner <nathan@nathanreiner.xyz> | 2026-08-04 22:28:25 +0200 |
| commit | 356c2bc0ccb1794b5ec219079d8c5b85ddcc4c87 (patch) | |
| tree | defa9a0e3c46af6e59e3be3d3ac1482c8fad24c8 /src/z/parser/js/grammar/punctuator.zig | |
| parent | 06d1607aabad0a967c0500efe305de3fa732f8d3 (diff) | |
add templates to tokenizer
Diffstat (limited to 'src/z/parser/js/grammar/punctuator.zig')
| -rw-r--r-- | src/z/parser/js/grammar/punctuator.zig | 5 |
1 files changed, 5 insertions, 0 deletions
diff --git a/src/z/parser/js/grammar/punctuator.zig b/src/z/parser/js/grammar/punctuator.zig index a72ab8a..4fd5d16 100644 --- a/src/z/parser/js/grammar/punctuator.zig +++ b/src/z/parser/js/grammar/punctuator.zig @@ -86,6 +86,11 @@ pub const Punctuator = enum { defer lexer.revert(); if (punctuatormap.getLongestPrefix(lexer.buffer)) |pair| { + + if (std.mem.eql(u8, pair.key, "}") and lexer.context.template_nesting > 0) { + return Lexer.Error.UnexpectedToken; + } + const token = lexer.start(.{ .punctuator = pair.value }); try lexer.skipTo(pair.key.len); lexer.commit(token); |