X-Git-Url: https://perl5.git.perl.org/perl5.git/blobdiff_plain/5461259206276a3618e115d5d68776273bb41ca6..683d9ad15a8b09b17249f2efd39d10a9a251cd95:/regcomp.sym diff --git a/regcomp.sym b/regcomp.sym index f60368c..b0b9faf 100644 --- a/regcomp.sym +++ b/regcomp.sym @@ -146,21 +146,21 @@ RENUM BRANCHJ,off 1 1 Group with independently numbered parens. # inline charclass data (ascii only), the 'C' store it in the structure. # NOTE: the relative order of the TRIE-like regops is signifigant -TRIE TRIE, trie 1 Match many EXACT(FL?)? at once. flags==type -TRIEC TRIE, trie charclass Same as TRIE, but with embedded charclass data +TRIE TRIE, trie 1 Match many EXACT(FL?)? at once. flags==type +TRIEC TRIE,trie charclass Same as TRIE, but with embedded charclass data # For start classes, contains an added fail table. -AHOCORASICK TRIE, trie 1 Aho Corasick stclass. flags==type -AHOCORASICKC TRIE, trie charclass Same as AHOCORASICK, but with embedded charclass data +AHOCORASICK TRIE, trie 1 Aho Corasick stclass. flags==type +AHOCORASICKC TRIE,trie charclass Same as AHOCORASICK, but with embedded charclass data #*Regex Subroutines (65..66) -GOSUB GOSUB, num/ofs 2L recurse to paren arg1 at (signed) ofs arg2 +GOSUB GOSUB, num/ofs 2L recurse to paren arg1 at (signed) ofs arg2 GOSTART GOSTART, no recurse to start of pattern #*Named references (67..69) -NREF NREF, no-sv 1 Match some already matched string -NREFF NREF, no-sv 1 Match already matched string, folded -NREFFL NREF, no-sv 1 Match already matched string, folded in loc. +NREF REF, no-sv 1 Match some already matched string +NREFF REF, no-sv 1 Match already matched string, folded +NREFFL REF, no-sv 1 Match already matched string, folded in loc. #*Special conditionals (70..72) @@ -168,11 +168,33 @@ NGROUPP NGROUPP, no-sv 1 Whether the group matched. INSUBP INSUBP, num 1 Whether we are in a specific recurse. DEFINEP DEFINEP, none 1 Never execute directly. -#*Bactracking -OPFAIL OPFAIL, none Same as (?!) -COMMIT COMMIT, node Pattern fails if backtracking through this +#*Bactracking 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. -# NEW STUFF ABOVE THIS LINE -- Please update counts below. + +#*Verbs With Arguments +VERB VERB, no-sv 1 Used only for the type field of verbs +PRUNE VERB, no-sv 1 Pattern fails at this startpoint if no-backtracking through this +MARKPOINT VERB, no-sv 1 Push the current location for rollback by cut. +SKIP VERB, no-sv 1 On failure skip forward (to the mark) before retrying +COMMIT VERB, no-sv 1 Pattern fails outright if backtracking through this +CUTGROUP VERB, no-sv 1 On failure go to the next alternation in the group + +#*Control what to keep in $&. +KEEPS KEEPS, no $& begins here. + +#*New charclass like patterns +LNBREAK LNBREAK, none generic newline pattern +VERTWS VERTWS, none vertical whitespace (Perl 6) +NVERTWS NVERTWS, none not vertical whitespace (Perl 6) +HORIZWS HORIZWS, none horizontal whitespace (Perl 6) +NHORIZWS NHORIZWS, none not horizontal whitespace (Perl 6) + +FOLDCHAR FOLDCHAR, codepoint 1 codepoint with tricky case folding properties. + +# NEW STUFF ABOVE THIS LINE ################################################################################ @@ -207,4 +229,8 @@ BRANCH next:FAIL CURLYM A,B:FAIL IFMATCH A:FAIL CURLY B_min_known,B_min,B_max:FAIL -COMMIT next:FAIL +COMMIT next:FAIL +MARKPOINT next:FAIL +SKIP next:FAIL +CUTGROUP next:FAIL +KEEPS next:FAIL