This is a live mirror of the Perl 5 development currently hosted at https://github.com/perl/perl5
PVMG can be isUV too.
[perl5.git] / regcomp.sym
index 73e27a8..656988e 100644 (file)
@@ -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