pub fn tokenize(pattern: &str) -> Vec<Token>
Split a pattern into Tokens. An unclosed { degrades the remainder into a literal — pattern_problems rejects it at load; the matcher stays total.
Token
{
pattern_problems