X-Git-Url: https://perl5.git.perl.org/perl5.git/blobdiff_plain/2f306ab9fcefa58507af5830f60ce18c43bbad18..8514fcfe19dd1f0b8c39f9607592a853ac68913f:/regcomp.sym?ds=sidebyside diff --git a/regcomp.sym b/regcomp.sym index f2ddab1..999d965 100644 --- a/regcomp.sym +++ b/regcomp.sym @@ -43,21 +43,22 @@ GPOS GPOS, no ; Matches where last m//g left off. # in regcomp.c uses the enum value of the modifier as an offset from the /d # version. The complements must come after the non-complements. # BOUND, POSIX and their complements are affected, as well as EXACTF. -BOUND BOUND, no ; Match "" at any word boundary using native charset rules for non-utf8 -BOUNDL BOUND, no ; Match "" at any locale word boundary -BOUNDU BOUND, no ; Match "" at any word boundary using Unicode rules -BOUNDA BOUND, no ; Match "" at any word boundary using ASCII rules +BOUND BOUND, no ; Like BOUNDA for non-utf8, otherwise match "" between any Unicode \w\W or \W\w +BOUNDL BOUND, no ; Like BOUND/BOUNDU, but \w and \W are defined by current locale +BOUNDU BOUND, no ; Match "" at any boundary of a given type using Unicode rules +BOUNDA BOUND, no ; Match "" at any boundary between \w\W or \W\w, where \w is [_a-zA-Z0-9] # All NBOUND nodes are required by code in regexec.c to be greater than all BOUND ones -NBOUND NBOUND, no ; Match "" at any word non-boundary using native charset rules for non-utf8 -NBOUNDL NBOUND, no ; Match "" at any locale word non-boundary -NBOUNDU NBOUND, no ; Match "" at any word non-boundary using Unicode rules -NBOUNDA NBOUND, no ; Match "" at any word non-boundary using ASCII rules +NBOUND NBOUND, no ; Like NBOUNDA for non-utf8, otherwise match "" between any Unicode \w\w or \W\W +NBOUNDL NBOUND, no ; Like NBOUND/NBOUNDU, but \w and \W are defined by current locale +NBOUNDU NBOUND, no ; Match "" at any non-boundary of a given type using using Unicode rules +NBOUNDA NBOUND, no ; Match "" betweeen any \w\w or \W\W, where \w is [_a-zA-Z0-9] #* [Special] alternatives: REG_ANY REG_ANY, no 0 S ; Match any one character (except newline). SANY REG_ANY, no 0 S ; Match any one character. -CANY REG_ANY, no 0 S ; Match any one byte. ANYOF ANYOF, sv 1 S ; Match character in (or not in) this class, single char match only +ANYOFD ANYOF, sv 1 S ; Like ANYOF, but /d is in effect +ANYOFL ANYOF, sv 1 S ; Like ANYOF, but /l is in effect #* POSIX Character Classes: # Order of the below is important. See ordering comment above. @@ -90,6 +91,7 @@ BRANCH BRANCH, node 0 V ; Match this alternative, or the next... # NOTE: the relative ordering of these types is important do not change it EXACT EXACT, str ; Match this string (preceded by length). +EXACTL EXACT, str ; Like EXACT, but /l is in effect (used so locale-related warnings can be checked for). EXACTF EXACT, str ; Match this non-UTF-8 string (not guaranteed to be folded) using /id rules (w/len). EXACTFL EXACT, str ; Match this string (not guaranteed to be folded) using /il rules (w/len). EXACTFU EXACT, str ; Match this string (folded iff in UTF-8, length in folding doesn't change if not in UTF-8) using /iu rules (w/len). @@ -98,6 +100,7 @@ EXACTFA EXACT, str ; Match this string (not guaranteed to be folded) # End of important relative ordering. EXACTFU_SS EXACT, str ; Match this string (folded iff in UTF-8, length in folding may change even if not in UTF-8) using /iu rules (w/len). +EXACTFLU8 EXACT, str ; Rare cirucmstances: like EXACTFU, but is under /l, UTF-8, folded, and everything in it is above 255. EXACTFA_NO_TRIE EXACT, str ; Match this string (which is not trie-able; not guaranteed to be folded) using /iaa rules (w/len). #*Do nothing types @@ -187,7 +190,6 @@ AHOCORASICKC TRIE,trie charclass ; Same as AHOCORASICK, but with embedded c #*Regex Subroutines GOSUB GOSUB, num/ofs 2L ; recurse to paren arg1 at (signed) ofs arg2 -GOSTART GOSTART, no ; recurse to start of pattern #*Special conditionals NGROUPP NGROUPP, no-sv 1 ; Whether the group matched. @@ -196,9 +198,8 @@ DEFINEP DEFINEP, none 1 ; Never execute directly. #*Backtracking Verbs ENDLIKE ENDLIKE, none ; Used only for the type field of verbs -OPFAIL ENDLIKE, none ; Same as (?!) -ACCEPT ENDLIKE, parno 1 ; Accepts the current matched string. - +OPFAIL ENDLIKE, no-sv 1 ; Same as (?!), but with verb arg +ACCEPT ENDLIKE, no-sv/num 2L ; Accepts the current matched string, with verbar #*Verbs With Arguments VERB VERB, no-sv 1 ; Used only for the type field of verbs @@ -242,7 +243,7 @@ PSEUDO PSEUDO, off ; Pseudo opcode for internal use. # # TRIE next:FAIL -EVAL AB:FAIL +EVAL B,postponed_AB:FAIL CURLYX end:FAIL WHILEM A_pre,A_min,A_max,B_min,B_max:FAIL BRANCH next:FAIL