mirror of
https://github.com/storytold/vectorcraft.git
synced 2026-11-08 23:35:07 +00:00
is_id_start accepts the letter categories (Lu, Ll, Lt, Lm, Lo, Nl) and is_id_part adds Mn, Mc, Nd and Pc, read with unicode-general-category. A superscript digit (No) inside an identifier and a mark such as U+09BE at its start are now SyntaxErrors, and identifiers with marks outside the old list, such as the Bengali and Tamil viramas, now parse. Labels in scope are kept in a map, and duplicate labels in a chain and duplicate parameters of a strict function are found with a hash set, so long chains, many labeled statements and long parameter lists are checked in linear time.