#define EOL 6 /* 0x06 Match "" at end of line. */
#define MEOL 7 /* 0x07 Same, assuming multiline. */
#define SEOL 8 /* 0x08 Same, assuming singleline. */
-#define BOUND 9 /* 0x09 Match "" at any word boundary using native charset semantics for non-utf8 */
+#define BOUND 9 /* 0x09 Match "" at any word boundary using native charset rules for non-utf8 */
#define BOUNDL 10 /* 0x0a Match "" at any locale word boundary */
-#define BOUNDU 11 /* 0x0b Match "" at any word boundary using Unicode semantics */
-#define BOUNDA 12 /* 0x0c Match "" at any word boundary using ASCII semantics */
-#define NBOUND 13 /* 0x0d Match "" at any word non-boundary using native charset semantics for non-utf8 */
+#define BOUNDU 11 /* 0x0b Match "" at any word boundary using Unicode rules */
+#define BOUNDA 12 /* 0x0c Match "" at any word boundary using ASCII rules */
+#define NBOUND 13 /* 0x0d Match "" at any word non-boundary using native charset rules for non-utf8 */
#define NBOUNDL 14 /* 0x0e Match "" at any locale word non-boundary */
-#define NBOUNDU 15 /* 0x0f Match "" at any word non-boundary using Unicode semantics */
-#define NBOUNDA 16 /* 0x10 Match "" at any word non-boundary using ASCII semantics */
+#define NBOUNDU 15 /* 0x0f Match "" at any word non-boundary using Unicode rules */
+#define NBOUNDA 16 /* 0x10 Match "" at any word non-boundary using ASCII rules */
#define GPOS 17 /* 0x11 Matches where last m//g left off. */
#define REG_ANY 18 /* 0x12 Match any one character (except newline). */
#define SANY 19 /* 0x13 Match any one character. */
#define OPEN 49 /* 0x31 Mark this point in input as start of #n. */
#define CLOSE 50 /* 0x32 Analogous to OPEN. */
#define REF 51 /* 0x33 Match some already matched string */
-#define REFF 52 /* 0x34 Match already matched string, folded using native charset semantics for non-utf8 */
+#define REFF 52 /* 0x34 Match already matched string, folded using native charset rules for non-utf8 */
#define REFFL 53 /* 0x35 Match already matched string, folded in loc. */
-#define REFFU 54 /* 0x36 Match already matched string, folded using unicode semantics for non-utf8 */
-#define REFFA 55 /* 0x37 Match already matched string, folded using unicode semantics for non-utf8, no mixing ASCII, non-ASCII */
+#define REFFU 54 /* 0x36 Match already matched string, folded using unicode rules for non-utf8 */
+#define REFFA 55 /* 0x37 Match already matched string, folded using unicode rules for non-utf8, no mixing ASCII, non-ASCII */
#define NREF 56 /* 0x38 Match some already matched string */
-#define NREFF 57 /* 0x39 Match already matched string, folded using native charset semantics for non-utf8 */
+#define NREFF 57 /* 0x39 Match already matched string, folded using native charset rules for non-utf8 */
#define NREFFL 58 /* 0x3a Match already matched string, folded in loc. */
-#define NREFFU 59 /* 0x3b Match already matched string, folded using unicode semantics for non-utf8 */
-#define NREFFA 60 /* 0x3c Match already matched string, folded using unicode semantics for non-utf8, no mixing ASCII, non-ASCII */
+#define NREFFU 59 /* 0x3b Match already matched string, folded using unicode rules for non-utf8 */
+#define NREFFA 60 /* 0x3c Match already matched string, folded using unicode rules for non-utf8, no mixing ASCII, non-ASCII */
#define IFMATCH 61 /* 0x3d Succeeds if the following matches. */
#define UNLESSM 62 /* 0x3e Fails if the following matches. */
#define SUSPEND 63 /* 0x3f "Independent" sub-RE. */
"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 */
};
#endif /* DOINIT */
+#ifdef DEBUGGING
+# define REG_EXTFLAGS_NAME_SIZE 32
+#endif
+
/* PL_reg_intflags_name[] - Opcode/state names in string form, for debugging */
#ifndef DOINIT
"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 */
+#ifdef DEBUGGING
+# define REG_INTFLAGS_NAME_SIZE 14
+#endif
+
/* The following have no fixed length. U8 so we can do strchr() on it. */
#define REGNODE_VARIES(node) (PL_varies_bitmask[(node) >> 3] & (1 << ((node) & 7)))