This is a live mirror of the Perl 5 development currently hosted at https://github.com/perl/perl5
Free up bit for regex ANYOF nodes
[perl5.git] / regnodes.h
index f1a5fe2..f9de6c3 100644 (file)
@@ -31,7 +31,7 @@
 #define        SANY                    19      /* 0x13 Match any one character. */
 #define        CANY                    20      /* 0x14 Match any one byte. */
 #define        ANYOF                   21      /* 0x15 Match character in (or not in) this class, single char match only */
-#define        ANYOF_SYNTHETIC         22      /* 0x16 Synthetic start class */
+#define        ANYOF_NON_UTF8_NON_ASCII_ALL    22      /* 0x16 like ANYOF, also matches any U+80 - U+FF when not in UTF-8 */
 #define        POSIXD                  23      /* 0x17 Some [[:class:]] under /d; the FLAGS field gives which one */
 #define        POSIXL                  24      /* 0x18 Some [[:class:]] under /l; the FLAGS field gives which one */
 #define        POSIXU                  25      /* 0x19 Some [[:class:]] under /u; the FLAGS field gives which one */
@@ -174,7 +174,7 @@ EXTCONST U8 PL_regkind[] = {
        REG_ANY,        /* SANY                   */
        REG_ANY,        /* CANY                   */
        ANYOF,          /* ANYOF                  */
-       ANYOF,          /* ANYOF_SYNTHETIC        */
+       ANYOF,          /* ANYOF_NON_UTF8_NON_ASCII_ALL */
        POSIXD,         /* POSIXD                 */
        POSIXD,         /* POSIXL                 */
        POSIXD,         /* POSIXU                 */
@@ -317,7 +317,7 @@ static const U8 regarglen[] = {
        0,                                      /* SANY         */
        0,                                      /* CANY         */
        0,                                      /* ANYOF        */
-       0,                                      /* ANYOF_SYNTHETIC */
+       0,                                      /* ANYOF_NON_UTF8_NON_ASCII_ALL */
        0,                                      /* POSIXD       */
        0,                                      /* POSIXL       */
        0,                                      /* POSIXU       */
@@ -417,7 +417,7 @@ static const char reg_off_by_arg[] = {
        0,      /* SANY         */
        0,      /* CANY         */
        0,      /* ANYOF        */
-       0,      /* ANYOF_SYNTHETIC */
+       0,      /* ANYOF_NON_UTF8_NON_ASCII_ALL */
        0,      /* POSIXD       */
        0,      /* POSIXL       */
        0,      /* POSIXU       */
@@ -522,7 +522,7 @@ EXTCONST char * const PL_reg_name[] = {
        "SANY",                         /* 0x13 */
        "CANY",                         /* 0x14 */
        "ANYOF",                        /* 0x15 */
-       "ANYOF_SYNTHETIC",              /* 0x16 */
+       "ANYOF_NON_UTF8_NON_ASCII_ALL", /* 0x16 */
        "POSIXD",                       /* 0x17 */
        "POSIXL",                       /* 0x18 */
        "POSIXU",                       /* 0x19 */
@@ -655,16 +655,16 @@ EXTCONST char * const PL_reg_extflags_name[] = {
        "CHARSET1",         /* 0x00000040 : "CHARSET" - 0x000000e0 */
        "CHARSET2",         /* 0x00000080 : "CHARSET" - 0x000000e0 */
        "SPLIT",            /* 0x00000100 */
-       "ANCH_BOL",         /* 0x00000200 */
-       "ANCH_MBOL",        /* 0x00000400 */
-       "ANCH_SBOL",        /* 0x00000800 */
-       "ANCH_GPOS",        /* 0x00001000 */
-       "GPOS_SEEN",        /* 0x00002000 */
-       "GPOS_FLOAT",       /* 0x00004000 */
+       "IS_ANCHORED",      /* 0x00000200 */
+       "UNUSED1",          /* 0x00000400 */
+       "UNUSED2",          /* 0x00000800 */
+       "UNUSED3",          /* 0x00001000 */
+       "UNUSED4",          /* 0x00002000 */
+       "UNUSED5",          /* 0x00004000 */
        "NO_INPLACE_SUBST", /* 0x00008000 */
        "EVAL_SEEN",        /* 0x00010000 */
-       "CANY_SEEN",        /* 0x00020000 */
-       "NOSCAN",           /* 0x00040000 */
+       "UNUSED8",          /* 0x00020000 */
+       "UNBOUNDED_QUANTIFIER_SEEN",/* 0x00040000 */
        "CHECK_ALL",        /* 0x00080000 */
        "MATCH_UTF8",       /* 0x00100000 */
        "USE_INTUIT_NOML",  /* 0x00200000 */
@@ -693,6 +693,14 @@ EXTCONST char * const PL_reg_intflags_name[] = {
        "VERBARG_SEEN",               /* 0x00000008 - PREGf_VERBARG_SEEN */
        "CUTGROUP_SEEN",              /* 0x00000010 - PREGf_CUTGROUP_SEEN */
        "USE_RE_EVAL",                /* 0x00000020 - PREGf_USE_RE_EVAL -  compiled with "use re 'eval'"  */
+       "NOSCAN",                     /* 0x00000040 - PREGf_NOSCAN */
+       "CANY_SEEN",                  /* 0x00000080 - PREGf_CANY_SEEN */
+       "GPOS_SEEN",                  /* 0x00000100 - PREGf_GPOS_SEEN */
+       "GPOS_FLOAT",                 /* 0x00000200 - PREGf_GPOS_FLOAT */
+       "ANCH_BOL",                   /* 0x00000400 - PREGf_ANCH_BOL */
+       "ANCH_MBOL",                  /* 0x00000800 - PREGf_ANCH_MBOL */
+       "ANCH_SBOL",                  /* 0x00001000 - PREGf_ANCH_SBOL */
+       "ANCH_GPOS",                  /* 0x00002000 - PREGf_ANCH_GPOS */
 };
 #endif /* DOINIT */
 
@@ -726,8 +734,8 @@ EXTCONST U8 PL_varies_bitmask[] = {
 EXTCONST U8 PL_simple[] __attribute__deprecated__;
 #else
 EXTCONST U8 PL_simple[] __attribute__deprecated__ = {
-    REG_ANY, SANY, CANY, ANYOF, ANYOF_SYNTHETIC, POSIXD, POSIXL, POSIXU,
-    POSIXA, NPOSIXD, NPOSIXL, NPOSIXU, NPOSIXA,
+    REG_ANY, SANY, CANY, ANYOF, ANYOF_NON_UTF8_NON_ASCII_ALL, POSIXD,
+    POSIXL, POSIXU, POSIXA, NPOSIXD, NPOSIXL, NPOSIXU, NPOSIXA,
     0
 };
 #endif /* DOINIT */