X-Git-Url: https://perl5.git.perl.org/perl5.git/blobdiff_plain/81714fb9c03d91d66b66cab6e899e81bf64a2ca7..767650bc0751e6a09fa6822e35d18d8a6ea775bf:/regcomp.sym diff --git a/regcomp.sym b/regcomp.sym index 21904e1..b0b9faf 100644 --- a/regcomp.sym +++ b/regcomp.sym @@ -98,9 +98,8 @@ STAR STAR, node Match this (simple) thing 0 or more times. PLUS PLUS, node Match this (simple) thing 1 or more times. CURLY CURLY, sv 2 Match this simple thing {n,m} times. -CURLYN CURLY, no 2 Match next-after-this simple thing -# {n,m} times, set parenths. -CURLYM CURLY, no 2 Match this medium-complex thing {n,m} times. +CURLYN CURLY, no 2 Capture next-after-this simple thing +CURLYM CURLY, no 2 Capture this medium-complex thing {n,m} times. CURLYX CURLY, sv 2 Match this complex thing {n,m} times. # This terminator creates a loop structure for CURLYX @@ -147,28 +146,59 @@ 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 -#*Recursion (65..66) -RECURSE RECURSE, num/ofs 2L recurse to paren arg1 at (signed) ofs arg2 -SRECURSE RECURSE, no recurse to start of pattern +#*Regex Subroutines (65..66) +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. -# NEW STUFF ABOVE THIS LINE -- Please update counts below. +#*Special conditionals (70..72) +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 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. + + +#*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 ################################################################################ -#*SPECIAL REGOPS (70, 71) +#*SPECIAL REGOPS # This is not really a node, but an optimized away piece of a "long" node. # To simplify debugging output, we mark it as if it were a node @@ -199,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 +MARKPOINT next:FAIL +SKIP next:FAIL +CUTGROUP next:FAIL +KEEPS next:FAIL