From 356c2bc0ccb1794b5ec219079d8c5b85ddcc4c87 Mon Sep 17 00:00:00 2001 From: Nathan Reiner Date: Tue, 4 Aug 2026 22:28:25 +0200 Subject: add templates to tokenizer --- src/z/parser/js/grammar/punctuator.zig | 5 +++++ 1 file changed, 5 insertions(+) (limited to 'src/z/parser/js/grammar/punctuator.zig') 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); -- cgit v1.2.3-70-g09d2