ts-parser-perl 1.2.1

Actively maintained tree-sitter grammar for Perl
Documentation
1
2
3
4
5
6
7
8
9
10
11
12
// 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,
}