This is a live mirror of the Perl 5 development currently hosted at https://github.com/perl/perl5
ignore extensions based on the configuration
[perl5.git] / regcomp.sym
index 707da08..286b942 100644 (file)
@@ -4,7 +4,7 @@
 #
 # Empty rows after #-comment are removed from input are ignored
 #
-# First section is for regops, second sectionis for regmatch-states
+# First section is for regops, second section is for regmatch-states
 #
 # Note that the order in this file is important.
 #
@@ -30,10 +30,15 @@ EOS         EOL,        no        ; Match "" at end of string.
 EOL         EOL,        no        ; Match "" at end of line.
 MEOL        EOL,        no        ; Same, assuming multiline.
 SEOL        EOL,        no        ; Same, assuming singleline.
-BOUND       BOUND,      no        ; Match "" at any word boundary
-BOUNDL      BOUND,      no        ; Match "" at any word boundary
-NBOUND      NBOUND,     no        ; Match "" at any word non-boundary
-NBOUNDL     NBOUND,     no        ; Match "" at any word non-boundary
+BOUND       BOUND,      no        ; Match "" at any word boundary using native charset semantics for non-utf8
+BOUNDL      BOUND,      no        ; Match "" at any locale word boundary
+BOUNDU      BOUND,      no        ; Match "" at any word boundary using Unicode semantics
+BOUNDA      BOUND,      no         ; Match "" at any word boundary using ASCII semantics
+# All NBOUND nodes are required by a line regexec.c to be greater than all BOUND ones
+NBOUND      NBOUND,     no        ; Match "" at any word non-boundary using native charset semantics for non-utf8
+NBOUNDL     NBOUND,     no        ; Match "" at any locale word non-boundary
+NBOUNDU     NBOUND,     no        ; Match "" at any word non-boundary using Unicode semantics
+NBOUNDA     NBOUND,     no        ; Match "" at any word non-boundary using ASCII semantics
 GPOS        GPOS,       no        ; Matches where last m//g left off.
 
 #* [Special] alternatives:
@@ -41,19 +46,30 @@ GPOS        GPOS,       no        ; Matches where last m//g left off.
 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 0 S    ; Match character in (or not in) this class, folding is native charset for non-utf8.
-ALNUM       ALNUM,      no 0 S    ; Match any alphanumeric character
+ANYOF       ANYOF,      sv 0 S    ; Match character in (or not in) this class, single char match only
+ANYOFV      ANYOF,      sv 0 V    ; Match character in (or not in) this class, can match-multiple chars
+ALNUM       ALNUM,      no 0 S    ; Match any alphanumeric character using native charset semantics for non-utf8
 ALNUML      ALNUM,      no 0 S    ; Match any alphanumeric char in locale
-NALNUM      NALNUM,     no 0 S    ; Match any non-alphanumeric character
+ALNUMU      ALNUM,      no 0 S    ; Match any alphanumeric char using Unicode semantics
+ALNUMA      ALNUM,      no 0 S    ; Match [A-Za-z_0-9]
+NALNUM      NALNUM,     no 0 S    ; Match any non-alphanumeric character using native charset semantics for non-utf8
 NALNUML     NALNUM,     no 0 S    ; Match any non-alphanumeric char in locale
-SPACE       SPACE,      no 0 S    ; Match any whitespace character
+NALNUMU     NALNUM,     no 0 S    ; Match any non-alphanumeric char using Unicode semantics
+NALNUMA     NALNUM,     no 0 S    ; Match [^A-Za-z_0-9]
+SPACE       SPACE,      no 0 S    ; Match any whitespace character using native charset semantics for non-utf8
 SPACEL      SPACE,      no 0 S    ; Match any whitespace char in locale
-NSPACE      NSPACE,     no 0 S    ; Match any non-whitespace character
+SPACEU      SPACE,      no 0 S    ; Match any whitespace char using Unicode semantics
+SPACEA      SPACE,      no 0 S    ; Match [ \t\n\f\r]
+NSPACE      NSPACE,     no 0 S    ; Match any non-whitespace character using native charset semantics for non-utf8
 NSPACEL     NSPACE,     no 0 S    ; Match any non-whitespace char in locale
-DIGIT       DIGIT,      no 0 S    ; Match any numeric character
+NSPACEU     NSPACE,     no 0 S    ; Match any non-whitespace char using Unicode semantics
+NSPACEA     NSPACE,     no 0 S    ; Match [^ \t\n\f\r]
+DIGIT       DIGIT,      no 0 S    ; Match any numeric character using native charset semantics for non-utf8
 DIGITL      DIGIT,      no 0 S    ; Match any numeric character in locale
-NDIGIT      NDIGIT,     no 0 S    ; Match any non-numeric character
+DIGITA      DIGIT,      no 0 S    ; Match [0-9]
+NDIGIT      NDIGIT,     no 0 S    ; Match any non-numeric character using native charset semantics for non-utf8
 NDIGITL     NDIGIT,     no 0 S    ; Match any non-numeric character in locale
+NDIGITA     NDIGIT,     no 0 S    ; Match [^0-9]
 CLUMP       CLUMP,      no 0 V    ; Match any extended grapheme cluster sequence
 
 #* Alternation
@@ -129,7 +145,7 @@ NREFFU      REF,        num   1 V ; Match already matched string, folded using u
 IFMATCH     BRANCHJ,    off 1 . 2 ; Succeeds if the following matches.
 UNLESSM     BRANCHJ,    off 1 . 2 ; Fails if the following matches.
 SUSPEND     BRANCHJ,    off 1 V 1 ; "Independent" sub-RE.
-IFTHEN      BRANCHJ,    off 1 V 1 ; Switch, should be preceeded by switcher .
+IFTHEN      BRANCHJ,    off 1 V 1 ; Switch, should be preceded by switcher .
 GROUPP      GROUPP,     num 1     ; Whether the group matched.
 
 #*Support for long RE
@@ -153,7 +169,7 @@ RENUM       BRANCHJ,    off 1 . 1 ; Group with independently numbered parens.
 
 # Behave the same as A|LIST|OF|WORDS would. The '..C' variants have  
 # inline charclass data (ascii only), the 'C' store it in the structure.
-# NOTE: the relative order of the TRIE-like regops  is signifigant
+# NOTE: the relative order of the TRIE-like regops  is significant
 
 TRIE        TRIE,       trie 1    ; Match many EXACT(F[LU]?)? at once. flags==type
 TRIEC       TRIE,trie charclass   ; Same as TRIE, but with embedded charclass data
@@ -171,7 +187,7 @@ 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
+#*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.