/* This is the stuff that used to live in regexp.h that was truly
private to the engine itself. It now lives here. */
-/* swap buffer for paren structs */
-typedef struct regexp_paren_ofs {
- I32 *startp;
- I32 *endp;
-} regexp_paren_ofs;
+
typedef struct regexp_internal {
int name_list_idx; /* Optional data index of an array of paren names */
U32 proglen;
} u;
- regexp_paren_ofs *swap; /* Swap copy of *startp / *endp */
regnode *regstclass; /* Optional startclass as identified or constructed
by the optimiser */
struct reg_data *data; /* Additional miscellaneous data used by the program.
optimisation in Perl_regdupe. */
struct _reg_trie_data {
U32 refcount; /* number of times this trie is referenced */
- U16 uniquecharcount; /* unique chars in trie (width of trans table) */
U32 lasttrans; /* last valid transition element */
U16 *charmap; /* byte to charid lookup array */
reg_trie_state *states; /* state data */
reg_trie_trans *trans; /* array of transition elements */
char *bitmap; /* stclass bitmap */
- U32 startstate; /* initial state - used for common prefix optimisation */
- STRLEN minlen; /* minimum length of words in trie - build/opt only? */
- STRLEN maxlen; /* maximum length of words in trie - build/opt only? */
U32 *wordlen; /* array of lengths of words */
U16 *jump; /* optional 1 indexed array of offsets before tail
for the node following a given word. */
U16 *nextword; /* optional 1 indexed array to support linked list
of duplicate wordnums */
+ U16 uniquecharcount; /* unique chars in trie (width of trans table) */
+ U32 startstate; /* initial state - used for common prefix optimisation */
+ STRLEN minlen; /* minimum length of words in trie - build/opt only? */
+ STRLEN maxlen; /* maximum length of words in trie - build/opt only? */
U32 statecount; /* Build only - number of states in the states array
(including the unused zero state) */
U32 wordcount; /* Build only */
optimisation in Perl_regdupe. */
struct _reg_ac_data {
U32 refcount;
+ U32 trie;
U32 *fail;
reg_trie_state *states;
- U32 trie;
};
typedef struct _reg_ac_data reg_ac_data;