=for regcomp.pl begin
- # TYPE arg-description [num-args] [longjump-len] DESCRIPTION
+ # TYPE arg-description [regnode-struct-suffix] [longjump-len] DESCRIPTION
# Exit points
BOUNDL no Like BOUND/BOUNDU, but \w and \W are
defined by current locale
BOUNDU no Match "" at any boundary of a given type
- using Unicode rules
+ using /u rules.
BOUNDA no Match "" at any boundary between \w\W or
\W\w, where \w is [_a-zA-Z0-9]
NBOUND no Like NBOUNDA for non-utf8, otherwise match
NBOUNDL no Like NBOUND/NBOUNDU, but \w and \W are
defined by current locale
NBOUNDU no Match "" at any non-boundary of a given
- type using using Unicode rules
+ type using using /u rules.
NBOUNDA no Match "" betweeen any \w\w or \W\W, where
\w is [_a-zA-Z0-9]
ANYOFPOSIXL sv Like ANYOFL, but matches [[:posix:]]
charclass_ classes
posixl
+
+ ANYOFH sv 1 Like ANYOF, but only has "High" matches,
+ none in the bitmap; the flags field
+ contains the lowest matchable UTF-8 start
+ byte
+ ANYOFHb sv 1 Like ANYOFH, but all matches share the same
+ UTF-8 start byte, given in the flags field
+ ANYOFHr sv 1 Like ANYOFH, but the flags field contains
+ packed bounds for all matchable UTF-8 start
+ bytes.
+
ANYOFM byte 1 Like ANYOF, but matches an invariant byte
as determined by the mask and arg
NANYOFM byte 1 complement of ANYOFM
# Literals
- EXACT str Match this string (preceded by length).
+ EXACT str Match this string (flags field is the
+ length).
EXACTL str Like EXACT, but /l is in effect (used so
locale-related warnings can be checked
for).
- EXACTF str Match this string using /id rules (w/len);
+ EXACTF str Like EXACT, but match using /id rules;
(string not UTF-8, not guaranteed to be
folded).
- EXACTFL str Match this string using /il rules (w/len);
- (string not guaranteed to be folded).
- EXACTFU str Match this string using /iu rules (w/len);
- (string folded iff in UTF-8; non-UTF8
- folded length <= unfolded).
- EXACTFAA str Match this string using /iaa rules (w/len)
- (string folded iff in UTF-8; non-UTF8
- folded length <= unfolded).
-
- EXACTFUP str Match this string using /iu rules (w/len);
+ EXACTFL str Like EXACT, but match using /il rules;
+ (string not likely to be folded).
+ EXACTFU str Like EXACT, but match using /iu rules;
+ (string folded).
+ EXACTFAA str Like EXACT, but match using /iaa rules;
+ (string folded iff pattern is UTF8; folded
+ length <= unfolded).
+
+ EXACTFUP str Like EXACT, but match using /iu rules;
(string not UTF-8, not guaranteed to be
- folded; and its Problematic).
+ folded; and it is Problematic).
- EXACTFLU8 str Like EXACTFU, but use /il, UTF-8, folded,
- and everything in it is above 255.
- EXACTFAA_NO_TRIE str Match this string using /iaa rules (w/len)
+ EXACTFLU8 str Like EXACTFU, but use /il, UTF-8, (string
+ is folded, and everything in it is above
+ 255.
+ EXACTFAA_NO_TRIE str Like EXACT, but match using /iaa rules
(string not UTF-8, not guaranteed to be
folded, not currently trie-able).
SRCLOSE none Close preceding SROPEN
REF num 1 Match some already matched string
- REFF num 1 Match already matched string, folded using
- native charset rules for non-utf8
- REFFL num 1 Match already matched string, folded in
- loc.
- REFFU num 1 Match already matched string, folded using
- unicode rules for non-utf8
- REFFA num 1 Match already matched string, folded using
- unicode rules for non-utf8, no mixing
- ASCII, non-ASCII
+ REFF num 1 Match already matched string, using /di
+ rules.
+ REFFL num 1 Match already matched string, using /li
+ rules.
+ REFFU num 1 Match already matched string, usng /ui.
+ REFFA num 1 Match already matched string, using /aai
+ rules.
# Named references. Code in regcomp.c assumes that these all are after
# the numbered references
- NREF no-sv 1 Match some already matched string
- NREFF no-sv 1 Match already matched string, folded using
- native charset rules for non-utf8
- NREFFL no-sv 1 Match already matched string, folded in
- loc.
- NREFFU num 1 Match already matched string, folded using
- unicode rules for non-utf8
- NREFFA num 1 Match already matched string, folded using
- unicode rules for non-utf8, no mixing
- ASCII, non-ASCII
+ REFN no-sv 1 Match some already matched string
+ REFFN no-sv 1 Match already matched string, using /di
+ rules.
+ REFFLN no-sv 1 Match already matched string, using /li
+ rules.
+ REFFUN num 1 Match already matched string, using /ui
+ rules.
+ REFFAN num 1 Match already matched string, using /aai
+ rules.
# Support for long RE
LONGJMP off 1 1 Jump far away.
BRANCHJ off 1 1 BRANCH with long offset.
# Special Case Regops
- IFMATCH off 1 1 Succeeds if the following matches.
- UNLESSM off 1 1 Fails if the following matches.
+ IFMATCH off 1 1 Succeeds if the following matches; non-zero
+ flags "f", next_off "o" means lookbehind
+ assertion starting "f..(f-o)" characters
+ before current
+ UNLESSM off 1 1 Fails if the following matches; non-zero
+ flags "f", next_off "o" means lookbehind
+ assertion starting "f..(f-o)" characters
+ before current
SUSPEND off 1 1 "Independent" sub-RE.
IFTHEN off 1 1 Switch, should be preceded by switcher.
GROUPP num 1 Whether the group matched.
GOSUB num/ofs 2L recurse to paren arg1 at (signed) ofs arg2
# Special conditionals
- NGROUPP no-sv 1 Whether the group matched.
+ GROUPPN no-sv 1 Whether the group matched.
INSUBP num 1 Whether we are in a specific recurse.
DEFINEP none 1 Never execute directly.