/* -*- buffer-read-only: t -*-
!!!!!!! DO NOT EDIT THIS FILE !!!!!!!
- This file is built by regcomp.pl from regcomp.sym.
+ This file is built by regen/regcomp.pl from regcomp.sym.
Any changes made here will be lost!
*/
#define ENDLIKE 73 /* 0x49 Used only for the type field of verbs */
#define OPFAIL 74 /* 0x4a Same as (?!) */
#define ACCEPT 75 /* 0x4b Accepts the current matched string. */
-#define VERB 76 /* 0x4c no-sv 1 Used only for the type field of verbs */
+#define VERB 76 /* 0x4c Used only for the type field of verbs */
#define PRUNE 77 /* 0x4d Pattern fails at this startpoint if no-backtracking through this */
#define MARKPOINT 78 /* 0x4e Push the current location for rollback by cut. */
#define SKIP 79 /* 0x4f On failure skip forward (to the mark) before retrying */
0, /* ENDLIKE */
0, /* OPFAIL */
EXTRA_SIZE(struct regnode_1), /* ACCEPT */
- 0, /* VERB */
+ EXTRA_SIZE(struct regnode_1), /* VERB */
EXTRA_SIZE(struct regnode_1), /* PRUNE */
EXTRA_SIZE(struct regnode_1), /* MARKPOINT */
EXTRA_SIZE(struct regnode_1), /* SKIP */
EXTCONST char * PL_reg_extflags_name[];
#else
EXTCONST char * const PL_reg_extflags_name[] = {
- /* Bits in extflags defined: 11111111111111111111111100111111 */
- "ANCH_BOL", /* 0x00000001 */
- "ANCH_MBOL", /* 0x00000002 */
- "ANCH_SBOL", /* 0x00000004 */
- "ANCH_GPOS", /* 0x00000008 */
- "GPOS_SEEN", /* 0x00000010 */
- "GPOS_FLOAT", /* 0x00000020 */
- "UNUSED_BIT_6", /* 0x00000040 */
+ /* Bits in extflags defined: 11111111111111111111111001111111 */
+ "MULTILINE", /* 0x00000001 */
+ "SINGLELINE", /* 0x00000002 */
+ "FOLD", /* 0x00000004 */
+ "EXTENDED", /* 0x00000008 */
+ "KEEPCOPY", /* 0x00000010 */
+ "LOCALE", /* 0x00000020 */
+ "UNICODE", /* 0x00000040 */
"UNUSED_BIT_7", /* 0x00000080 */
- "SKIPWHITE", /* 0x00000100 */
- "START_ONLY", /* 0x00000200 */
- "WHITE", /* 0x00000400 */
- "LOCALE", /* 0x00000800 */
- "MULTILINE", /* 0x00001000 */
- "SINGLELINE", /* 0x00002000 */
- "FOLD", /* 0x00004000 */
- "EXTENDED", /* 0x00008000 */
- "KEEPCOPY", /* 0x00010000 */
- "LOOKBEHIND_SEEN", /* 0x00020000 */
- "EVAL_SEEN", /* 0x00040000 */
- "CANY_SEEN", /* 0x00080000 */
- "NOSCAN", /* 0x00100000 */
- "CHECK_ALL", /* 0x00200000 */
- "UTF8", /* 0x00400000 */
- "MATCH_UTF8", /* 0x00800000 */
- "USE_INTUIT_NOML", /* 0x01000000 */
- "USE_INTUIT_ML", /* 0x02000000 */
- "INTUIT_TAIL", /* 0x04000000 */
- "SPLIT", /* 0x08000000 */
- "COPY_DONE", /* 0x10000000 */
- "TAINTED_SEEN", /* 0x20000000 */
- "NULL", /* 0x40000000 */
- "TAINTED", /* 0x80000000 */
+ "UNUSED_BIT_8", /* 0x00000100 */
+ "ANCH_BOL", /* 0x00000200 */
+ "ANCH_MBOL", /* 0x00000400 */
+ "ANCH_SBOL", /* 0x00000800 */
+ "ANCH_GPOS", /* 0x00001000 */
+ "GPOS_SEEN", /* 0x00002000 */
+ "GPOS_FLOAT", /* 0x00004000 */
+ "LOOKBEHIND_SEEN", /* 0x00008000 */
+ "EVAL_SEEN", /* 0x00010000 */
+ "CANY_SEEN", /* 0x00020000 */
+ "NOSCAN", /* 0x00040000 */
+ "CHECK_ALL", /* 0x00080000 */
+ "MATCH_UTF8", /* 0x00100000 */
+ "USE_INTUIT_NOML", /* 0x00200000 */
+ "USE_INTUIT_ML", /* 0x00400000 */
+ "INTUIT_TAIL", /* 0x00800000 */
+ "SPLIT", /* 0x01000000 */
+ "COPY_DONE", /* 0x02000000 */
+ "TAINTED_SEEN", /* 0x04000000 */
+ "TAINTED", /* 0x08000000 */
+ "START_ONLY", /* 0x10000000 */
+ "SKIPWHITE", /* 0x20000000 */
+ "WHITE", /* 0x40000000 */
+ "NULL", /* 0x80000000 */
+};
+#endif /* DOINIT */
+
+/* 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)))
+
+#ifndef DOINIT
+EXTCONST U8 PL_varies[] __attribute__deprecated__;
+#else
+EXTCONST U8 PL_varies[] __attribute__deprecated__ = {
+ CLUMP, BRANCH, BACK, STAR, PLUS, CURLY, CURLYN, CURLYM, CURLYX, WHILEM,
+ REF, REFF, REFFL, SUSPEND, IFTHEN, BRANCHJ, NREF, NREFF, NREFFL,
+ 0
+};
+#endif /* DOINIT */
+
+#ifndef DOINIT
+EXTCONST U8 PL_varies_bitmask[];
+#else
+EXTCONST U8 PL_varies_bitmask[] = {
+ 0x00, 0x00, 0x00, 0xC0, 0xC1, 0x9F, 0x33, 0x01, 0x38, 0x00, 0x00, 0x00
+};
+#endif /* DOINIT */
+
+/* The following always have a length of 1. U8 we can do strchr() on it. */
+/* (Note that length 1 means "one character" under UTF8, not "one octet".) */
+#define REGNODE_SIMPLE(node) (PL_simple_bitmask[(node) >> 3] & (1 << ((node) & 7)))
+
+#ifndef DOINIT
+EXTCONST U8 PL_simple[] __attribute__deprecated__;
+#else
+EXTCONST U8 PL_simple[] __attribute__deprecated__ = {
+ REG_ANY, SANY, CANY, ANYOF, ALNUM, ALNUML, NALNUM, NALNUML, SPACE,
+ SPACEL, NSPACE, NSPACEL, DIGIT, NDIGIT, VERTWS, NVERTWS, HORIZWS,
+ NHORIZWS,
+ 0
+};
+#endif /* DOINIT */
+
+#ifndef DOINIT
+EXTCONST U8 PL_simple_bitmask[];
+#else
+EXTCONST U8 PL_simple_bitmask[] = {
+ 0x00, 0xC0, 0xFF, 0x17, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xF0, 0x00
};
#endif /* DOINIT */