diff options
author | Karl Williamson <public@khwilliamson.com> | 2011-12-23 20:19:27 -0700 |
---|---|---|
committer | Karl Williamson <public@khwilliamson.com> | 2012-01-19 11:58:19 -0700 |
commit | fa01018c102d8360898153b9f4b062716ad06702 (patch) | |
tree | 4cd4070d320abb9936fe0d2a08a732c597637def /regnodes.h | |
parent | bb9144850c8033592c0187ea712691a97703385e (diff) | |
download | perl-fa01018c102d8360898153b9f4b062716ad06702.tar.gz |
regex: Remove FOLDCHAR regnode type
This node type hasn't been used since 5.14.0. Instead an ANYOFV node
was generated where formerly a FOLDCHAR node would have been used. The
ANYOFV was used because it already existed and was up-to-date, whereas
FOLDCHAR would have needed some bug fixes to adapt it, even though it
would be faster in execution than ANYOFV; so the code for it was
retained in case it was needed.
However, both these solutions were defective, and a previous commit has
changed things to a different type of solution entirely. Thus FOLDCHAR
is obsolescent and can be removed, though the code in it was used as a
base for some of the new solutions.
Diffstat (limited to 'regnodes.h')
-rw-r--r-- | regnodes.h | 17 |
1 files changed, 6 insertions, 11 deletions
diff --git a/regnodes.h b/regnodes.h index 785ff1c9ca..994159342f 100644 --- a/regnodes.h +++ b/regnodes.h @@ -6,8 +6,8 @@ /* Regops and State definitions */ -#define REGNODE_MAX 113 -#define REGMATCH_STATE_MAX 153 +#define REGNODE_MAX 112 +#define REGMATCH_STATE_MAX 152 #define END 0 /* 0000 End of program. */ #define SUCCEED 1 /* 0x01 Return from a subroutine, basically. */ @@ -120,9 +120,8 @@ #define NVERTWS 108 /* 0x6c not vertical whitespace (Perl 6) */ #define HORIZWS 109 /* 0x6d horizontal whitespace (Perl 6) */ #define NHORIZWS 110 /* 0x6e not horizontal whitespace (Perl 6) */ -#define FOLDCHAR 111 /* 0x6f codepoint with tricky case folding properties. */ -#define OPTIMIZED 112 /* 0x70 Placeholder for dump. */ -#define PSEUDO 113 /* 0x71 Pseudo opcode for internal use. */ +#define OPTIMIZED 111 /* 0x6f Placeholder for dump. */ +#define PSEUDO 112 /* 0x70 Pseudo opcode for internal use. */ /* ------------ States ------------- */ #define TRIE_next (REGNODE_MAX + 1) /* state for TRIE */ #define TRIE_next_fail (REGNODE_MAX + 2) /* state for TRIE */ @@ -282,7 +281,6 @@ EXTCONST U8 PL_regkind[] = { NVERTWS, /* NVERTWS */ HORIZWS, /* HORIZWS */ NHORIZWS, /* NHORIZWS */ - FOLDCHAR, /* FOLDCHAR */ NOTHING, /* OPTIMIZED */ PSEUDO, /* PSEUDO */ /* ------------ States ------------- */ @@ -444,7 +442,6 @@ static const U8 regarglen[] = { 0, /* NVERTWS */ 0, /* HORIZWS */ 0, /* NHORIZWS */ - EXTRA_SIZE(struct regnode_1), /* FOLDCHAR */ 0, /* OPTIMIZED */ 0, /* PSEUDO */ }; @@ -563,7 +560,6 @@ static const char reg_off_by_arg[] = { 0, /* NVERTWS */ 0, /* HORIZWS */ 0, /* NHORIZWS */ - 0, /* FOLDCHAR */ 0, /* OPTIMIZED */ 0, /* PSEUDO */ }; @@ -687,9 +683,8 @@ EXTCONST char * const PL_reg_name[] = { "NVERTWS", /* 0x6c */ "HORIZWS", /* 0x6d */ "NHORIZWS", /* 0x6e */ - "FOLDCHAR", /* 0x6f */ - "OPTIMIZED", /* 0x70 */ - "PSEUDO", /* 0x71 */ + "OPTIMIZED", /* 0x6f */ + "PSEUDO", /* 0x70 */ /* ------------ States ------------- */ "TRIE_next", /* REGNODE_MAX +0x01 */ "TRIE_next_fail", /* REGNODE_MAX +0x02 */ |