@@ -54,6 +54,15 @@ struct RExC_state_t {
54
54
regnode_offset emit ; /* Code-emit pointer */
55
55
I32 naughty ; /* How bad is this pattern? */
56
56
bool sawback ; /* Did we see \1, ...? */
57
+
58
+ bool utf8 ; /* whether the pattern is utf8 or not */
59
+ bool orig_utf8 ; /* whether the pattern was originally in utf8 */
60
+ /* XXX use this for future optimisation of case
61
+ * where pattern must be upgraded to utf8. */
62
+ bool uni_semantics ; /* If a d charset modifier should use unicode
63
+ rules, even if the pattern is not in
64
+ utf8 */
65
+
57
66
SSize_t size ; /* Number of regnode equivalents in
58
67
pattern */
59
68
Size_t sets_depth ; /* Counts recursion depth of already-
@@ -127,37 +136,29 @@ struct RExC_state_t {
127
136
accept */
128
137
I32 seen_zerolen ;
129
138
regnode * end_op ; /* END node in program */
130
- bool utf8 ; /* whether the pattern is utf8 or not */
131
- bool orig_utf8 ; /* whether the pattern was originally in utf8 */
132
- /* XXX use this for future optimisation of case
133
- * where pattern must be upgraded to utf8. */
134
- bool uni_semantics ; /* If a d charset modifier should use unicode
135
- rules, even if the pattern is not in
136
- utf8 */
137
-
139
+ bool in_lookaround ;
140
+ bool contains_locale ;
141
+ bool recode_x_to_native ;
142
+ bool in_multi_char_class ;
138
143
I32 recurse_count ; /* Number of recurse regops we have generated */
139
144
regnode * * recurse ; /* Recurse regops */
140
145
U8 * study_chunk_recursed ; /* bitmap of which subs we have moved
141
146
through */
142
147
U32 study_chunk_recursed_bytes ; /* bytes in bitmap */
143
- bool in_lookaround ;
144
- bool contains_locale ;
145
- bool recode_x_to_native ;
146
- bool in_multi_char_class ;
147
148
int code_index ; /* next code_blocks[] slot */
148
149
struct reg_code_blocks * code_blocks ;/* positions of literal (?{})
149
150
within pattern */
150
151
SSize_t maxlen ; /* minimum possible number of chars in string to match */
151
152
scan_frame * frame_head ;
152
153
scan_frame * frame_last ;
153
154
U32 frame_count ;
154
- AV * warn_text ;
155
- HV * unlexed_names ;
156
- SV * runtime_code_qr ; /* qr with the runtime code blocks */
157
155
bool seen_d_op ;
158
156
bool strict ;
159
157
bool study_started ;
160
158
bool in_script_run ;
159
+ AV * warn_text ;
160
+ HV * unlexed_names ;
161
+ SV * runtime_code_qr ; /* qr with the runtime code blocks */
161
162
bool use_BRANCHJ ;
162
163
bool sWARN_EXPERIMENTAL__VLB ;
163
164
bool sWARN_EXPERIMENTAL__REGEX_SETS ;
@@ -170,12 +171,12 @@ struct RExC_state_t {
170
171
* See GH Issue #21558 and also ba6e2c38aafc23cf114f3ba0d0ff3baead34328b
171
172
*/
172
173
#if defined(DEBUGGING ) || !defined(USE_DYNAMIC_LOADING )
173
- const char * lastparse ;
174
174
I32 lastnum ;
175
- U32 study_chunk_recursed_count ;
175
+ const char * lastparse ;
176
176
AV * paren_name_list ; /* idx -> name */
177
177
SV * mysv1 ;
178
178
SV * mysv2 ;
179
+ U32 study_chunk_recursed_count ;
179
180
#endif
180
181
};
181
182
0 commit comments