X-Git-Url: http://git.shadowcat.co.uk/gitweb/gitweb.cgi?a=blobdiff_plain;f=regcomp.sym;h=656988e10b3c628513016966068345620f71f5eb;hb=19908982fd40a3fcda3d18abed628060f59f2819;hp=73e27a80ed7bc5f03e2772d2e315896244af6046;hpb=7f69552c33ff9bd1eb6665f732d0f22956ac2f30;p=p5sagit%2Fp5-mst-13.2.git diff --git a/regcomp.sym b/regcomp.sym index 73e27a8..656988e 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,30 +146,41 @@ 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 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. #*Special conditionals (70..72) NGROUPP NGROUPP, no-sv 1 Whether the group matched. -RECURSEP RECURSEP, num 1 Whether we are in a specific recurse. +INSUBP INSUBP, num 1 Whether we are in a specific recurse. DEFINEP DEFINEP, none 1 Never execute directly. -#*Bactracking -OPFAIL OPFAIL, none Same as (?!) +#*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 # NEW STUFF ABOVE THIS LINE -- Please update counts below. @@ -207,4 +217,7 @@ 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