// NOTE - this is generated by unicode_ranges.pl
module.exports={// these patterns are simply XID_Start followed by XID_Continue, minus things which don't match perl's \p{Word}
identifier:/[_\p{XID_Start}][\p{XID_Continue}]*/v,// Any amount of :: before/between/after identifiers. NOTE the anchored shape:
// the repeat re-enters only on the `::` literal, never directly back into the
// huge XID class. The "obvious" form ((::)|IDENT)+ loops the repeat over an
// alternation containing XID_Continue, which makes clang's wasm codegen blow
// up to >16GB and OOM the release runner (same family as tree-sitter#3496).
// Keep this anchored; do not "simplify" it back to (A|B)+.
bareword:/(::)*[_\p{XID_Start}][\p{XID_Continue}]*((::)+[_\p{XID_Start}][\p{XID_Continue}]*)*(::)*|(::)+/v,}