This is a live mirror of the Perl 5 development currently hosted at https://github.com/perl/perl5
regen/regcharclass.pl: White-space only; no code changes
[perl5.git] / regcharclass.h
CommitLineData
8770da0e 1/* -*- buffer-read-only: t -*-
58fbde93
RGS
2 *
3 * regcharclass.h
4 *
2eee27d7 5 * Copyright (C) 2007, 2011 by Larry Wall and others
58fbde93
RGS
6 *
7 * You may distribute under the terms of either the GNU General Public
8 * License or the Artistic License, as specified in the README file.
9 *
10 * !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
98e310af 11 * This file is built by regen/regcharclass.pl.
58fbde93
RGS
12 * Any changes made here will be lost!
13 */
12b72891 14
d10c72f2
KW
15
16#ifndef H_REGCHARCLASS /* Guard against nested #includes */
17#define H_REGCHARCLASS 1
18
12b72891
RGS
19/*
20 LNBREAK: Line Break: \R
21
58fbde93 22 "\x0D\x0A" # CRLF - Network (Windows) line ending
05b688d9 23 \p{VertSpace}
12b72891
RGS
24*/
25/*** GENERATED CODE ***/
26#define is_LNBREAK(s,is_utf8) \
e64b1bd1
YO
27( ( 0x0A <= ((U8*)s)[0] && ((U8*)s)[0] <= 0x0C ) ? 1 \
28: ( 0x0D == ((U8*)s)[0] ) ? \
29 ( ( 0x0A == ((U8*)s)[1] ) ? 2 : 1 ) \
30: ( is_utf8 ) ? \
31 ( ( 0xC2 == ((U8*)s)[0] ) ? \
32 ( ( 0x85 == ((U8*)s)[1] ) ? 2 : 0 ) \
6c4f0678 33 : ( ( ( 0xE2 == ((U8*)s)[0] ) && ( 0x80 == ((U8*)s)[1] ) ) && ( ( ((U8*)s)[2] & 0xFE ) == 0xA8 ) ) ? 3 : 0 )\
e64b1bd1 34: ( 0x85 == ((U8*)s)[0] ) )
e1d1eefb 35
12b72891
RGS
36/*** GENERATED CODE ***/
37#define is_LNBREAK_safe(s,e,is_utf8) \
e64b1bd1
YO
38( ((e)-(s) > 2) ? \
39 ( ( 0x0A <= ((U8*)s)[0] && ((U8*)s)[0] <= 0x0C ) ? 1 \
40 : ( 0x0D == ((U8*)s)[0] ) ? \
41 ( ( 0x0A == ((U8*)s)[1] ) ? 2 : 1 ) \
42 : ( is_utf8 ) ? \
43 ( ( 0xC2 == ((U8*)s)[0] ) ? \
44 ( ( 0x85 == ((U8*)s)[1] ) ? 2 : 0 ) \
6c4f0678 45 : ( ( ( 0xE2 == ((U8*)s)[0] ) && ( 0x80 == ((U8*)s)[1] ) ) && ( ( ((U8*)s)[2] & 0xFE ) == 0xA8 ) ) ? 3 : 0 )\
e64b1bd1
YO
46 : ( 0x85 == ((U8*)s)[0] ) ) \
47: ((e)-(s) > 1) ? \
48 ( ( 0x0A <= ((U8*)s)[0] && ((U8*)s)[0] <= 0x0C ) ? 1 \
49 : ( 0x0D == ((U8*)s)[0] ) ? \
50 ( ( 0x0A == ((U8*)s)[1] ) ? 2 : 1 ) \
51 : ( is_utf8 ) ? \
52 ( ( ( 0xC2 == ((U8*)s)[0] ) && ( 0x85 == ((U8*)s)[1] ) ) ? 2 : 0 ) \
53 : ( 0x85 == ((U8*)s)[0] ) ) \
54: ((e)-(s) > 0) ? \
55 ( ( 0x0A <= ((U8*)s)[0] && ((U8*)s)[0] <= 0x0D ) ? 1 \
56 : ( !( is_utf8 ) ) ? \
57 ( 0x85 == ((U8*)s)[0] ) \
58 : 0 ) \
59: 0 )
e1d1eefb 60
12b72891
RGS
61/*** GENERATED CODE ***/
62#define is_LNBREAK_utf8(s) \
e64b1bd1
YO
63( ( 0x0A <= ((U8*)s)[0] && ((U8*)s)[0] <= 0x0C ) ? 1 \
64: ( 0x0D == ((U8*)s)[0] ) ? \
65 ( ( 0x0A == ((U8*)s)[1] ) ? 2 : 1 ) \
66: ( 0xC2 == ((U8*)s)[0] ) ? \
67 ( ( 0x85 == ((U8*)s)[1] ) ? 2 : 0 ) \
6c4f0678 68: ( ( ( 0xE2 == ((U8*)s)[0] ) && ( 0x80 == ((U8*)s)[1] ) ) && ( ( ((U8*)s)[2] & 0xFE ) == 0xA8 ) ) ? 3 : 0 )
e1d1eefb 69
12b72891
RGS
70/*** GENERATED CODE ***/
71#define is_LNBREAK_utf8_safe(s,e) \
e64b1bd1
YO
72( ((e)-(s) > 2) ? \
73 ( ( 0x0A <= ((U8*)s)[0] && ((U8*)s)[0] <= 0x0C ) ? 1 \
74 : ( 0x0D == ((U8*)s)[0] ) ? \
75 ( ( 0x0A == ((U8*)s)[1] ) ? 2 : 1 ) \
76 : ( 0xC2 == ((U8*)s)[0] ) ? \
77 ( ( 0x85 == ((U8*)s)[1] ) ? 2 : 0 ) \
6c4f0678 78 : ( ( ( 0xE2 == ((U8*)s)[0] ) && ( 0x80 == ((U8*)s)[1] ) ) && ( ( ((U8*)s)[2] & 0xFE ) == 0xA8 ) ) ? 3 : 0 )\
e64b1bd1
YO
79: ((e)-(s) > 1) ? \
80 ( ( 0x0A <= ((U8*)s)[0] && ((U8*)s)[0] <= 0x0C ) ? 1 \
81 : ( 0x0D == ((U8*)s)[0] ) ? \
82 ( ( 0x0A == ((U8*)s)[1] ) ? 2 : 1 ) \
6c4f0678 83 : ( ( 0xC2 == ((U8*)s)[0] ) && ( 0x85 == ((U8*)s)[1] ) ) ? 2 : 0 ) \
e64b1bd1
YO
84: ((e)-(s) > 0) ? \
85 ( 0x0A <= ((U8*)s)[0] && ((U8*)s)[0] <= 0x0D ) \
86: 0 )
e1d1eefb 87
12b72891
RGS
88/*** GENERATED CODE ***/
89#define is_LNBREAK_latin1(s) \
9a3182e9 90( ( ( 0x0A <= ((U8*)s)[0] && ((U8*)s)[0] <= 0x0C ) || 0x85 == ((U8*)s)[0] ) ? 1\
e64b1bd1
YO
91: ( 0x0D == ((U8*)s)[0] ) ? \
92 ( ( 0x0A == ((U8*)s)[1] ) ? 2 : 1 ) \
9a3182e9 93: 0 )
e1d1eefb 94
12b72891
RGS
95/*** GENERATED CODE ***/
96#define is_LNBREAK_latin1_safe(s,e) \
e64b1bd1 97( ((e)-(s) > 1) ? \
9a3182e9 98 ( ( ( 0x0A <= ((U8*)s)[0] && ((U8*)s)[0] <= 0x0C ) || 0x85 == ((U8*)s)[0] ) ? 1\
e64b1bd1
YO
99 : ( 0x0D == ((U8*)s)[0] ) ? \
100 ( ( 0x0A == ((U8*)s)[1] ) ? 2 : 1 ) \
9a3182e9 101 : 0 ) \
e64b1bd1
YO
102: ((e)-(s) > 0) ? \
103 ( ( 0x0A <= ((U8*)s)[0] && ((U8*)s)[0] <= 0x0D ) || 0x85 == ((U8*)s)[0] )\
104: 0 )
12b72891
RGS
105
106/*
107 HORIZWS: Horizontal Whitespace: \h \H
108
05b688d9 109 \p{HorizSpace}
12b72891
RGS
110*/
111/*** GENERATED CODE ***/
112#define is_HORIZWS(s,is_utf8) \
e64b1bd1
YO
113( ( 0x09 == ((U8*)s)[0] || 0x20 == ((U8*)s)[0] ) ? 1 \
114: ( is_utf8 ) ? \
115 ( ( 0xC2 == ((U8*)s)[0] ) ? \
116 ( ( 0xA0 == ((U8*)s)[1] ) ? 2 : 0 ) \
117 : ( 0xE1 == ((U8*)s)[0] ) ? \
118 ( ( 0x9A == ((U8*)s)[1] ) ? \
119 ( ( 0x80 == ((U8*)s)[2] ) ? 3 : 0 ) \
6c4f0678 120 : ( ( 0xA0 == ((U8*)s)[1] ) && ( 0x8E == ((U8*)s)[2] ) ) ? 3 : 0 ) \
e64b1bd1
YO
121 : ( 0xE2 == ((U8*)s)[0] ) ? \
122 ( ( 0x80 == ((U8*)s)[1] ) ? \
123 ( ( ( 0x80 <= ((U8*)s)[2] && ((U8*)s)[2] <= 0x8A ) || 0xAF == ((U8*)s)[2] ) ? 3 : 0 )\
6c4f0678
YO
124 : ( ( 0x81 == ((U8*)s)[1] ) && ( 0x9F == ((U8*)s)[2] ) ) ? 3 : 0 ) \
125 : ( ( ( 0xE3 == ((U8*)s)[0] ) && ( 0x80 == ((U8*)s)[1] ) ) && ( 0x80 == ((U8*)s)[2] ) ) ? 3 : 0 )\
e64b1bd1 126: ( 0xA0 == ((U8*)s)[0] ) )
e1d1eefb 127
12b72891
RGS
128/*** GENERATED CODE ***/
129#define is_HORIZWS_safe(s,e,is_utf8) \
e64b1bd1
YO
130( ((e)-(s) > 2) ? \
131 ( ( 0x09 == ((U8*)s)[0] || 0x20 == ((U8*)s)[0] ) ? 1 \
132 : ( is_utf8 ) ? \
133 ( ( 0xC2 == ((U8*)s)[0] ) ? \
134 ( ( 0xA0 == ((U8*)s)[1] ) ? 2 : 0 ) \
135 : ( 0xE1 == ((U8*)s)[0] ) ? \
136 ( ( 0x9A == ((U8*)s)[1] ) ? \
137 ( ( 0x80 == ((U8*)s)[2] ) ? 3 : 0 ) \
6c4f0678 138 : ( ( 0xA0 == ((U8*)s)[1] ) && ( 0x8E == ((U8*)s)[2] ) ) ? 3 : 0 )\
e64b1bd1
YO
139 : ( 0xE2 == ((U8*)s)[0] ) ? \
140 ( ( 0x80 == ((U8*)s)[1] ) ? \
141 ( ( ( 0x80 <= ((U8*)s)[2] && ((U8*)s)[2] <= 0x8A ) || 0xAF == ((U8*)s)[2] ) ? 3 : 0 )\
6c4f0678
YO
142 : ( ( 0x81 == ((U8*)s)[1] ) && ( 0x9F == ((U8*)s)[2] ) ) ? 3 : 0 )\
143 : ( ( ( 0xE3 == ((U8*)s)[0] ) && ( 0x80 == ((U8*)s)[1] ) ) && ( 0x80 == ((U8*)s)[2] ) ) ? 3 : 0 )\
e64b1bd1
YO
144 : ( 0xA0 == ((U8*)s)[0] ) ) \
145: ((e)-(s) > 1) ? \
146 ( ( 0x09 == ((U8*)s)[0] || 0x20 == ((U8*)s)[0] ) ? 1 \
147 : ( is_utf8 ) ? \
148 ( ( ( 0xC2 == ((U8*)s)[0] ) && ( 0xA0 == ((U8*)s)[1] ) ) ? 2 : 0 ) \
149 : ( 0xA0 == ((U8*)s)[0] ) ) \
150: ((e)-(s) > 0) ? \
151 ( ( 0x09 == ((U8*)s)[0] || 0x20 == ((U8*)s)[0] ) ? 1 \
152 : ( !( is_utf8 ) ) ? \
153 ( 0xA0 == ((U8*)s)[0] ) \
154 : 0 ) \
155: 0 )
e1d1eefb 156
12b72891
RGS
157/*** GENERATED CODE ***/
158#define is_HORIZWS_utf8(s) \
e64b1bd1
YO
159( ( 0x09 == ((U8*)s)[0] || 0x20 == ((U8*)s)[0] ) ? 1 \
160: ( 0xC2 == ((U8*)s)[0] ) ? \
161 ( ( 0xA0 == ((U8*)s)[1] ) ? 2 : 0 ) \
162: ( 0xE1 == ((U8*)s)[0] ) ? \
163 ( ( 0x9A == ((U8*)s)[1] ) ? \
164 ( ( 0x80 == ((U8*)s)[2] ) ? 3 : 0 ) \
6c4f0678 165 : ( ( 0xA0 == ((U8*)s)[1] ) && ( 0x8E == ((U8*)s)[2] ) ) ? 3 : 0 ) \
e64b1bd1
YO
166: ( 0xE2 == ((U8*)s)[0] ) ? \
167 ( ( 0x80 == ((U8*)s)[1] ) ? \
6e130234 168 ( ( ( ((U8*)s)[2] <= 0x8A ) || 0xAF == ((U8*)s)[2] ) ? 3 : 0 ) \
6c4f0678
YO
169 : ( ( 0x81 == ((U8*)s)[1] ) && ( 0x9F == ((U8*)s)[2] ) ) ? 3 : 0 ) \
170: ( ( ( 0xE3 == ((U8*)s)[0] ) && ( 0x80 == ((U8*)s)[1] ) ) && ( 0x80 == ((U8*)s)[2] ) ) ? 3 : 0 )
e1d1eefb 171
12b72891
RGS
172/*** GENERATED CODE ***/
173#define is_HORIZWS_utf8_safe(s,e) \
e64b1bd1
YO
174( ((e)-(s) > 2) ? \
175 ( ( 0x09 == ((U8*)s)[0] || 0x20 == ((U8*)s)[0] ) ? 1 \
176 : ( 0xC2 == ((U8*)s)[0] ) ? \
177 ( ( 0xA0 == ((U8*)s)[1] ) ? 2 : 0 ) \
178 : ( 0xE1 == ((U8*)s)[0] ) ? \
179 ( ( 0x9A == ((U8*)s)[1] ) ? \
180 ( ( 0x80 == ((U8*)s)[2] ) ? 3 : 0 ) \
6c4f0678 181 : ( ( 0xA0 == ((U8*)s)[1] ) && ( 0x8E == ((U8*)s)[2] ) ) ? 3 : 0 ) \
e64b1bd1
YO
182 : ( 0xE2 == ((U8*)s)[0] ) ? \
183 ( ( 0x80 == ((U8*)s)[1] ) ? \
184 ( ( ( 0x80 <= ((U8*)s)[2] && ((U8*)s)[2] <= 0x8A ) || 0xAF == ((U8*)s)[2] ) ? 3 : 0 )\
6c4f0678
YO
185 : ( ( 0x81 == ((U8*)s)[1] ) && ( 0x9F == ((U8*)s)[2] ) ) ? 3 : 0 ) \
186 : ( ( ( 0xE3 == ((U8*)s)[0] ) && ( 0x80 == ((U8*)s)[1] ) ) && ( 0x80 == ((U8*)s)[2] ) ) ? 3 : 0 )\
e64b1bd1
YO
187: ((e)-(s) > 1) ? \
188 ( ( 0x09 == ((U8*)s)[0] || 0x20 == ((U8*)s)[0] ) ? 1 \
6c4f0678 189 : ( ( 0xC2 == ((U8*)s)[0] ) && ( 0xA0 == ((U8*)s)[1] ) ) ? 2 : 0 ) \
e64b1bd1
YO
190: ((e)-(s) > 0) ? \
191 ( 0x09 == ((U8*)s)[0] || 0x20 == ((U8*)s)[0] ) \
192: 0 )
e1d1eefb 193
12b72891
RGS
194/*** GENERATED CODE ***/
195#define is_HORIZWS_latin1(s) \
e64b1bd1 196( 0x09 == ((U8*)s)[0] || 0x20 == ((U8*)s)[0] || 0xA0 == ((U8*)s)[0] )
e1d1eefb 197
12b72891
RGS
198/*** GENERATED CODE ***/
199#define is_HORIZWS_latin1_safe(s,e) \
e64b1bd1
YO
200( ((e)-(s) > 0) ? \
201 ( 0x09 == ((U8*)s)[0] || 0x20 == ((U8*)s)[0] || 0xA0 == ((U8*)s)[0] ) \
202: 0 )
e1d1eefb 203
12b72891
RGS
204/*** GENERATED CODE ***/
205#define is_HORIZWS_cp(cp) \
e64b1bd1
YO
206( 0x09 == cp || ( 0x09 < cp && \
207( 0x20 == cp || ( 0x20 < cp && \
208( 0xA0 == cp || ( 0xA0 < cp && \
209( 0x1680 == cp || ( 0x1680 < cp && \
210( 0x180E == cp || ( 0x180E < cp && \
211( ( 0x2000 <= cp && cp <= 0x200A ) || ( 0x200A < cp && \
212( 0x202F == cp || ( 0x202F < cp && \
213( 0x205F == cp || ( 0x205F < cp && \
2140x3000 == cp ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) )
e1d1eefb 215
12b72891
RGS
216/*
217 VERTWS: Vertical Whitespace: \v \V
e1d1eefb 218
05b688d9 219 \p{VertSpace}
12b72891
RGS
220*/
221/*** GENERATED CODE ***/
222#define is_VERTWS(s,is_utf8) \
e64b1bd1
YO
223( ( 0x0A <= ((U8*)s)[0] && ((U8*)s)[0] <= 0x0D ) ? 1 \
224: ( is_utf8 ) ? \
225 ( ( 0xC2 == ((U8*)s)[0] ) ? \
226 ( ( 0x85 == ((U8*)s)[1] ) ? 2 : 0 ) \
6c4f0678 227 : ( ( ( 0xE2 == ((U8*)s)[0] ) && ( 0x80 == ((U8*)s)[1] ) ) && ( ( ((U8*)s)[2] & 0xFE ) == 0xA8 ) ) ? 3 : 0 )\
e64b1bd1 228: ( 0x85 == ((U8*)s)[0] ) )
e1d1eefb 229
12b72891
RGS
230/*** GENERATED CODE ***/
231#define is_VERTWS_safe(s,e,is_utf8) \
e64b1bd1
YO
232( ((e)-(s) > 2) ? \
233 ( ( 0x0A <= ((U8*)s)[0] && ((U8*)s)[0] <= 0x0D ) ? 1 \
234 : ( is_utf8 ) ? \
235 ( ( 0xC2 == ((U8*)s)[0] ) ? \
236 ( ( 0x85 == ((U8*)s)[1] ) ? 2 : 0 ) \
6c4f0678 237 : ( ( ( 0xE2 == ((U8*)s)[0] ) && ( 0x80 == ((U8*)s)[1] ) ) && ( ( ((U8*)s)[2] & 0xFE ) == 0xA8 ) ) ? 3 : 0 )\
e64b1bd1
YO
238 : ( 0x85 == ((U8*)s)[0] ) ) \
239: ((e)-(s) > 1) ? \
240 ( ( 0x0A <= ((U8*)s)[0] && ((U8*)s)[0] <= 0x0D ) ? 1 \
241 : ( is_utf8 ) ? \
242 ( ( ( 0xC2 == ((U8*)s)[0] ) && ( 0x85 == ((U8*)s)[1] ) ) ? 2 : 0 ) \
243 : ( 0x85 == ((U8*)s)[0] ) ) \
244: ((e)-(s) > 0) ? \
245 ( ( 0x0A <= ((U8*)s)[0] && ((U8*)s)[0] <= 0x0D ) ? 1 \
246 : ( !( is_utf8 ) ) ? \
247 ( 0x85 == ((U8*)s)[0] ) \
248 : 0 ) \
249: 0 )
e1d1eefb 250
12b72891
RGS
251/*** GENERATED CODE ***/
252#define is_VERTWS_utf8(s) \
e64b1bd1
YO
253( ( 0x0A <= ((U8*)s)[0] && ((U8*)s)[0] <= 0x0D ) ? 1 \
254: ( 0xC2 == ((U8*)s)[0] ) ? \
255 ( ( 0x85 == ((U8*)s)[1] ) ? 2 : 0 ) \
6c4f0678 256: ( ( ( 0xE2 == ((U8*)s)[0] ) && ( 0x80 == ((U8*)s)[1] ) ) && ( ( ((U8*)s)[2] & 0xFE ) == 0xA8 ) ) ? 3 : 0 )
e1d1eefb 257
12b72891
RGS
258/*** GENERATED CODE ***/
259#define is_VERTWS_utf8_safe(s,e) \
e64b1bd1
YO
260( ((e)-(s) > 2) ? \
261 ( ( 0x0A <= ((U8*)s)[0] && ((U8*)s)[0] <= 0x0D ) ? 1 \
262 : ( 0xC2 == ((U8*)s)[0] ) ? \
263 ( ( 0x85 == ((U8*)s)[1] ) ? 2 : 0 ) \
6c4f0678 264 : ( ( ( 0xE2 == ((U8*)s)[0] ) && ( 0x80 == ((U8*)s)[1] ) ) && ( ( ((U8*)s)[2] & 0xFE ) == 0xA8 ) ) ? 3 : 0 )\
e64b1bd1
YO
265: ((e)-(s) > 1) ? \
266 ( ( 0x0A <= ((U8*)s)[0] && ((U8*)s)[0] <= 0x0D ) ? 1 \
6c4f0678 267 : ( ( 0xC2 == ((U8*)s)[0] ) && ( 0x85 == ((U8*)s)[1] ) ) ? 2 : 0 ) \
e64b1bd1
YO
268: ((e)-(s) > 0) ? \
269 ( 0x0A <= ((U8*)s)[0] && ((U8*)s)[0] <= 0x0D ) \
270: 0 )
e1d1eefb 271
12b72891
RGS
272/*** GENERATED CODE ***/
273#define is_VERTWS_latin1(s) \
e64b1bd1 274( ( 0x0A <= ((U8*)s)[0] && ((U8*)s)[0] <= 0x0D ) || 0x85 == ((U8*)s)[0] )
e1d1eefb 275
12b72891
RGS
276/*** GENERATED CODE ***/
277#define is_VERTWS_latin1_safe(s,e) \
e64b1bd1
YO
278( ((e)-(s) > 0) ? \
279 ( ( 0x0A <= ((U8*)s)[0] && ((U8*)s)[0] <= 0x0D ) || 0x85 == ((U8*)s)[0] )\
280: 0 )
e1d1eefb 281
12b72891
RGS
282/*** GENERATED CODE ***/
283#define is_VERTWS_cp(cp) \
e64b1bd1
YO
284( ( 0x0A <= cp && cp <= 0x0D ) || ( 0x0D < cp && \
285( 0x85 == cp || ( 0x85 < cp && \
286( 0x2028 == cp || ( 0x2028 < cp && \
2870x2029 == cp ) ) ) ) ) )
e1d1eefb 288
612ead59 289/*
b96a92fb
KW
290 REPLACEMENT: Unicode REPLACEMENT CHARACTER
291
292 0xFFFD
293*/
294/*** GENERATED CODE ***/
295#define is_REPLACEMENT_utf8_safe(s,e) \
296( ( ( ( ((e)-(s) > 2) && ( 0xEF == ((U8*)s)[0] ) ) && ( 0xBF == ((U8*)s)[1] ) ) && ( 0xBD == ((U8*)s)[2] ) ) ? 3 : 0 )
297
298/*
299 NONCHAR: Non character code points
300
301 \p{Nchar}
302*/
303/*** GENERATED CODE ***/
304#define is_NONCHAR_utf8(s) \
305( ( 0xEF == ((U8*)s)[0] ) ? \
306 ( ( 0xB7 == ((U8*)s)[1] ) ? \
307 ( ( 0x90 <= ((U8*)s)[2] && ((U8*)s)[2] <= 0xAF ) ? 3 : 0 ) \
6c4f0678 308 : ( ( 0xBF == ((U8*)s)[1] ) && ( ((U8*)s)[2] >= 0xBE ) ) ? 3 : 0 ) \
b96a92fb
KW
309: ( 0xF0 == ((U8*)s)[0] ) ? \
310 ( ( ( ( 0x9F == ((U8*)s)[1] || 0xAF == ((U8*)s)[1] || 0xBF == ((U8*)s)[1] ) && ( 0xBF == ((U8*)s)[2] ) ) && ( ((U8*)s)[3] >= 0xBE ) ) ? 4 : 0 )\
311: ( 0xF1 <= ((U8*)s)[0] && ((U8*)s)[0] <= 0xF3 ) ? \
312 ( ( ( ( ( ((U8*)s)[1] & 0xCF ) == 0x8F ) && ( 0xBF == ((U8*)s)[2] ) ) && ( ((U8*)s)[3] >= 0xBE ) ) ? 4 : 0 )\
6c4f0678 313: ( ( ( ( 0xF4 == ((U8*)s)[0] ) && ( 0x8F == ((U8*)s)[1] ) ) && ( 0xBF == ((U8*)s)[2] ) ) && ( ((U8*)s)[3] >= 0xBE ) ) ? 4 : 0 )
b96a92fb
KW
314
315/*
316 SURROGATE: Surrogate characters
317
318 \p{Gc=Cs}
319*/
320/*** GENERATED CODE ***/
321#define is_SURROGATE_utf8(s) \
322( ( ( 0xED == ((U8*)s)[0] ) && ( ((U8*)s)[1] >= 0xA0 ) ) ? 3 : 0 )
323
324/*
612ead59
KW
325 GCB_L: Grapheme_Cluster_Break=L
326
327 \p{_X_GCB_L}
328*/
329/*** GENERATED CODE ***/
330#define is_GCB_L_utf8(s) \
331( ( 0xE1 == ((U8*)s)[0] ) ? \
332 ( ( 0x84 == ((U8*)s)[1] ) ? \
6e130234 333 3 \
6c4f0678
YO
334 : ( ( 0x85 == ((U8*)s)[1] ) && ( ((U8*)s)[2] <= 0x9F ) ) ? 3 : 0 ) \
335: ( ( ( 0xEA == ((U8*)s)[0] ) && ( 0xA5 == ((U8*)s)[1] ) ) && ( 0xA0 <= ((U8*)s)[2] && ((U8*)s)[2] <= 0xBC ) ) ? 3 : 0 )
612ead59
KW
336
337/*
338 GCB_LV_LVT_V: Grapheme_Cluster_Break=(LV or LVT or V)
339
340 \p{_X_LV_LVT_V}
341*/
342/*** GENERATED CODE ***/
343#define is_GCB_LV_LVT_V_utf8(s) \
344( ( 0xE1 == ((U8*)s)[0] ) ? \
345 ( ( 0x85 == ((U8*)s)[1] ) ? \
6e130234 346 ( ( ((U8*)s)[2] >= 0xA0 ) ? 3 : 0 ) \
6c4f0678 347 : ( ( 0x86 == ((U8*)s)[1] ) && ( ((U8*)s)[2] <= 0xA7 ) ) ? 3 : 0 ) \
612ead59 348: ( 0xEA == ((U8*)s)[0] ) ? \
6e130234
KW
349 ( ( ((U8*)s)[1] >= 0xB0 ) ? \
350 3 \
351 : 0 ) \
612ead59 352: ( 0xEB == ((U8*)s)[0] || 0xEC == ((U8*)s)[0] ) ? \
6e130234 353 3 \
612ead59 354: ( 0xED == ((U8*)s)[0] ) ? \
6e130234
KW
355 ( ( ((U8*)s)[1] <= 0x9D ) ? \
356 3 \
612ead59 357 : ( 0x9E == ((U8*)s)[1] ) ? \
6e130234 358 ( ( ( ((U8*)s)[2] <= 0xA3 ) || ( ((U8*)s)[2] >= 0xB0 ) ) ? 3 : 0 ) \
6c4f0678 359 : ( ( 0x9F == ((U8*)s)[1] ) && ( ((U8*)s)[2] <= 0x86 ) ) ? 3 : 0 ) \
612ead59
KW
360: 0 )
361
362/*
363 GCB_Prepend: Grapheme_Cluster_Break=Prepend
364
365 \p{_X_GCB_Prepend}
366*/
367/*** GENERATED CODE ***/
368#define is_GCB_Prepend_utf8(s) \
369( 0 )
370
371/*
372 GCB_RI: Grapheme_Cluster_Break=RI
373
374 \p{_X_RI}
375*/
376/*** GENERATED CODE ***/
377#define is_GCB_RI_utf8(s) \
6e130234 378( ( ( ( ( 0xF0 == ((U8*)s)[0] ) && ( 0x9F == ((U8*)s)[1] ) ) && ( 0x87 == ((U8*)s)[2] ) ) && ( ((U8*)s)[3] >= 0xA6 ) ) ? 4 : 0 )
612ead59
KW
379
380/*
381 GCB_SPECIAL_BEGIN: Grapheme_Cluster_Break=special_begins
382
383 \p{_X_Special_Begin}
384*/
385/*** GENERATED CODE ***/
386#define is_GCB_SPECIAL_BEGIN_utf8(s) \
6e130234
KW
387( ( 0xE1 == ((U8*)s)[0] ) ? \
388 ( ( ( ((U8*)s)[1] & 0xFC ) == 0x84 ) ? \
389 3 \
390 : 0 ) \
612ead59
KW
391: ( 0xEA == ((U8*)s)[0] ) ? \
392 ( ( 0xA5 == ((U8*)s)[1] ) ? \
393 ( ( 0xA0 <= ((U8*)s)[2] && ((U8*)s)[2] <= 0xBC ) ? 3 : 0 ) \
6e130234
KW
394 : ( ((U8*)s)[1] >= 0xB0 ) ? \
395 3 \
612ead59
KW
396 : 0 ) \
397: ( 0xEB == ((U8*)s)[0] || 0xEC == ((U8*)s)[0] ) ? \
6e130234 398 3 \
612ead59 399: ( 0xED == ((U8*)s)[0] ) ? \
6e130234
KW
400 ( ( ((U8*)s)[1] <= 0x9D ) ? \
401 3 \
612ead59 402 : ( 0x9E == ((U8*)s)[1] ) ? \
6e130234 403 ( ( ( ((U8*)s)[2] <= 0xA3 ) || ( ((U8*)s)[2] >= 0xB0 ) ) ? 3 : 0 ) \
6c4f0678
YO
404 : ( ( 0x9F == ((U8*)s)[1] ) && ( ( ((U8*)s)[2] <= 0x86 ) || ( 0x8B <= ((U8*)s)[2] && ((U8*)s)[2] <= 0xBB ) ) ) ? 3 : 0 )\
405: ( ( ( ( 0xF0 == ((U8*)s)[0] ) && ( 0x9F == ((U8*)s)[1] ) ) && ( 0x87 == ((U8*)s)[2] ) ) && ( ((U8*)s)[3] >= 0xA6 ) ) ? 4 : 0 )
612ead59
KW
406
407/*
408 GCB_T: Grapheme_Cluster_Break=T
409
410 \p{_X_GCB_T}
411*/
412/*** GENERATED CODE ***/
413#define is_GCB_T_utf8(s) \
414( ( 0xE1 == ((U8*)s)[0] ) ? \
415 ( ( 0x86 == ((U8*)s)[1] ) ? \
6e130234 416 ( ( ((U8*)s)[2] >= 0xA8 ) ? 3 : 0 ) \
612ead59 417 : ( 0x87 == ((U8*)s)[1] ) ? \
6e130234 418 3 \
612ead59 419 : 0 ) \
6c4f0678 420: ( ( ( 0xED == ((U8*)s)[0] ) && ( 0x9F == ((U8*)s)[1] ) ) && ( 0x8B <= ((U8*)s)[2] && ((U8*)s)[2] <= 0xBB ) ) ? 3 : 0 )
612ead59
KW
421
422/*
423 GCB_V: Grapheme_Cluster_Break=V
424
425 \p{_X_GCB_V}
426*/
427/*** GENERATED CODE ***/
428#define is_GCB_V_utf8(s) \
429( ( 0xE1 == ((U8*)s)[0] ) ? \
430 ( ( 0x85 == ((U8*)s)[1] ) ? \
6e130234 431 ( ( ((U8*)s)[2] >= 0xA0 ) ? 3 : 0 ) \
6c4f0678 432 : ( ( 0x86 == ((U8*)s)[1] ) && ( ((U8*)s)[2] <= 0xA7 ) ) ? 3 : 0 ) \
612ead59
KW
433: ( 0xED == ((U8*)s)[0] ) ? \
434 ( ( 0x9E == ((U8*)s)[1] ) ? \
6e130234 435 ( ( ((U8*)s)[2] >= 0xB0 ) ? 3 : 0 ) \
6c4f0678 436 : ( ( 0x9F == ((U8*)s)[1] ) && ( ((U8*)s)[2] <= 0x86 ) ) ? 3 : 0 ) \
612ead59
KW
437: 0 )
438
685289b5
KW
439/*
440 QUOTEMETA: Meta-characters that \Q should quote
441
442 \p{_Perl_Quotemeta}
443*/
444/*** GENERATED CODE ***/
445#define is_QUOTEMETA_high(s) \
446( ( 0xCD == ((U8*)s)[0] ) ? \
447 ( ( 0x8F == ((U8*)s)[1] ) ? 2 : 0 ) \
448: ( 0xE1 == ((U8*)s)[0] ) ? \
449 ( ( 0x85 == ((U8*)s)[1] ) ? \
450 ( ( 0x9F == ((U8*)s)[2] || 0xA0 == ((U8*)s)[2] ) ? 3 : 0 ) \
451 : ( 0x9A == ((U8*)s)[1] ) ? \
452 ( ( 0x80 == ((U8*)s)[2] ) ? 3 : 0 ) \
453 : ( 0x9E == ((U8*)s)[1] ) ? \
2efb8143 454 ( ( ( ((U8*)s)[2] & 0xFE ) == 0xB4 ) ? 3 : 0 ) \
6c4f0678 455 : ( ( 0xA0 == ((U8*)s)[1] ) && ( 0x8B <= ((U8*)s)[2] && ((U8*)s)[2] <= 0x8E ) ) ? 3 : 0 )\
685289b5
KW
456: ( 0xE2 == ((U8*)s)[0] ) ? \
457 ( ( 0x80 == ((U8*)s)[1] ) ? \
6e130234 458 ( ( ((U8*)s)[2] <= 0xBE ) ? 3 : 0 ) \
685289b5
KW
459 : ( 0x81 == ((U8*)s)[1] ) ? \
460 ( ( ( 0x81 <= ((U8*)s)[2] && ((U8*)s)[2] <= 0x93 ) || ( 0x95 <= ((U8*)s)[2] && ((U8*)s)[2] <= 0xAF ) ) ? 3 : 0 )\
461 : ( 0x86 == ((U8*)s)[1] ) ? \
6e130234 462 ( ( ((U8*)s)[2] >= 0x90 ) ? 3 : 0 ) \
9a3182e9 463 : ( ( 0x87 <= ((U8*)s)[1] && ((U8*)s)[1] <= 0x90 ) || ( 0x94 <= ((U8*)s)[1] && ((U8*)s)[1] <= 0x9C ) || ( 0x9F <= ((U8*)s)[1] && ((U8*)s)[1] <= 0xAF ) || ( ((U8*)s)[1] & 0xFE ) == 0xB8 ) ?\
6e130234 464 3 \
685289b5 465 : ( 0x91 == ((U8*)s)[1] ) ? \
6e130234 466 ( ( ((U8*)s)[2] <= 0x9F ) ? 3 : 0 ) \
685289b5 467 : ( 0x9D == ((U8*)s)[1] ) ? \
6e130234 468 ( ( ((U8*)s)[2] <= 0xB5 ) ? 3 : 0 ) \
9a3182e9 469 : ( ( 0x9E == ((U8*)s)[1] ) && ( ((U8*)s)[2] >= 0x94 ) ) ? 3 : 0 ) \
685289b5
KW
470: ( 0xE3 == ((U8*)s)[0] ) ? \
471 ( ( 0x80 == ((U8*)s)[1] ) ? \
6e130234 472 ( ( ( ((U8*)s)[2] <= 0x83 ) || ( 0x88 <= ((U8*)s)[2] && ((U8*)s)[2] <= 0xA0 ) || 0xB0 == ((U8*)s)[2] ) ? 3 : 0 )\
6c4f0678 473 : ( ( 0x85 == ((U8*)s)[1] ) && ( 0xA4 == ((U8*)s)[2] ) ) ? 3 : 0 ) \
685289b5
KW
474: ( 0xEF == ((U8*)s)[0] ) ? \
475 ( ( 0xB4 == ((U8*)s)[1] ) ? \
6e130234 476 ( ( ((U8*)s)[2] >= 0xBE ) ? 3 : 0 ) \
685289b5 477 : ( 0xB8 == ((U8*)s)[1] ) ? \
6e130234 478 ( ( ((U8*)s)[2] <= 0x8F ) ? 3 : 0 ) \
685289b5
KW
479 : ( 0xB9 == ((U8*)s)[1] ) ? \
480 ( ( 0x85 == ((U8*)s)[2] || 0x86 == ((U8*)s)[2] ) ? 3 : 0 ) \
481 : ( 0xBB == ((U8*)s)[1] ) ? \
482 ( ( 0xBF == ((U8*)s)[2] ) ? 3 : 0 ) \
483 : ( 0xBE == ((U8*)s)[1] ) ? \
484 ( ( 0xA0 == ((U8*)s)[2] ) ? 3 : 0 ) \
6c4f0678 485 : ( ( 0xBF == ((U8*)s)[1] ) && ( 0xB0 <= ((U8*)s)[2] && ((U8*)s)[2] <= 0xB8 ) ) ? 3 : 0 )\
685289b5
KW
486: ( 0xF0 == ((U8*)s)[0] ) ? \
487 ( ( ( ( 0x9D == ((U8*)s)[1] ) && ( 0x85 == ((U8*)s)[2] ) ) && ( 0xB3 <= ((U8*)s)[3] && ((U8*)s)[3] <= 0xBA ) ) ? 4 : 0 )\
6c4f0678 488: ( ( 0xF3 == ((U8*)s)[0] ) && ( 0xA0 == ((U8*)s)[1] ) ) ? 4 : 0 )
685289b5 489
8769f413
KW
490/*
491 MULTI_CHAR_FOLD: multi-char strings that are folded to by a single character
492
493 do regen/regcharclass_multi_char_folds.pl
494 &regcharclass_multi_char_folds::multi_char_folds(1)
495*/
496/*** GENERATED CODE ***/
497#define is_MULTI_CHAR_FOLD_utf8_safe(s,e) \
498( ((e)-(s) > 5) ? \
499 ( ( 0x61 == ((U8*)s)[0] ) ? \
500 ( ( ( 0xCA == ((U8*)s)[1] ) && ( 0xBE == ((U8*)s)[2] ) ) ? 3 : 0 ) \
501 : ( 0x66 == ((U8*)s)[0] ) ? \
502 ( ( 0x66 == ((U8*)s)[1] ) ? \
503 ( ( 0x69 == ((U8*)s)[2] || 0x6C == ((U8*)s)[2] ) ? 3 : 2 ) \
504 : ( 0x69 == ((U8*)s)[1] || 0x6C == ((U8*)s)[1] ) ? 2 : 0 ) \
505 : ( 0x68 == ((U8*)s)[0] ) ? \
506 ( ( ( 0xCC == ((U8*)s)[1] ) && ( 0xB1 == ((U8*)s)[2] ) ) ? 3 : 0 ) \
507 : ( 0x69 == ((U8*)s)[0] ) ? \
508 ( ( ( 0xCC == ((U8*)s)[1] ) && ( 0x87 == ((U8*)s)[2] ) ) ? 3 : 0 ) \
509 : ( 0x6A == ((U8*)s)[0] ) ? \
510 ( ( ( 0xCC == ((U8*)s)[1] ) && ( 0x8C == ((U8*)s)[2] ) ) ? 3 : 0 ) \
511 : ( 0x73 == ((U8*)s)[0] ) ? \
512 ( ( 0x73 == ((U8*)s)[1] || 0x74 == ((U8*)s)[1] ) ? 2 : 0 ) \
513 : ( 0x74 == ((U8*)s)[0] ) ? \
514 ( ( ( 0xCC == ((U8*)s)[1] ) && ( 0x88 == ((U8*)s)[2] ) ) ? 3 : 0 ) \
515 : ( 0x77 == ((U8*)s)[0] || 0x79 == ((U8*)s)[0] ) ? \
516 ( ( ( 0xCC == ((U8*)s)[1] ) && ( 0x8A == ((U8*)s)[2] ) ) ? 3 : 0 ) \
517 : ( 0xCA == ((U8*)s)[0] ) ? \
518 ( ( ( 0xBC == ((U8*)s)[1] ) && ( 0x6E == ((U8*)s)[2] ) ) ? 3 : 0 ) \
519 : ( 0xCE == ((U8*)s)[0] ) ? \
520 ( ( ( ((U8*)s)[1] & 0xFD ) == 0xAC ) ? \
521 ( ( ( 0xCE == ((U8*)s)[2] ) && ( 0xB9 == ((U8*)s)[3] ) ) ? 4 : 0 )\
522 : ( 0xB1 == ((U8*)s)[1] || 0xB7 == ((U8*)s)[1] ) ? \
523 ( ( 0xCD == ((U8*)s)[2] ) ? \
524 ( ( 0x82 == ((U8*)s)[3] ) ? \
525 ( ( ( 0xCE == ((U8*)s)[4] ) && ( 0xB9 == ((U8*)s)[5] ) ) ? 6 : 4 )\
526 : 0 ) \
527 : ( ( 0xCE == ((U8*)s)[2] ) && ( 0xB9 == ((U8*)s)[3] ) ) ? 4 : 0 )\
528 : ( 0xB9 == ((U8*)s)[1] ) ? \
529 ( ( 0xCC == ((U8*)s)[2] ) ? \
530 ( ( 0x88 == ((U8*)s)[3] ) ? \
531 ( ( 0xCC == ((U8*)s)[4] ) ? \
532 ( ( ( ((U8*)s)[5] & 0xFE ) == 0x80 ) ? 6 : 0 ) \
533 : ( ( 0xCD == ((U8*)s)[4] ) && ( 0x82 == ((U8*)s)[5] ) ) ? 6 : 0 )\
534 : 0 ) \
535 : ( ( 0xCD == ((U8*)s)[2] ) && ( 0x82 == ((U8*)s)[3] ) ) ? 4 : 0 )\
536 : 0 ) \
537 : ( 0xCF == ((U8*)s)[0] ) ? \
538 ( ( 0x81 == ((U8*)s)[1] ) ? \
539 ( ( ( 0xCC == ((U8*)s)[2] ) && ( 0x93 == ((U8*)s)[3] ) ) ? 4 : 0 )\
540 : ( 0x85 == ((U8*)s)[1] ) ? \
541 ( ( 0xCC == ((U8*)s)[2] ) ? \
542 ( ( 0x88 == ((U8*)s)[3] ) ? \
543 ( ( 0xCC == ((U8*)s)[4] ) ? \
544 ( ( ( ((U8*)s)[5] & 0xFE ) == 0x80 ) ? 6 : 0 ) \
545 : ( ( 0xCD == ((U8*)s)[4] ) && ( 0x82 == ((U8*)s)[5] ) ) ? 6 : 0 )\
546 : ( 0x93 == ((U8*)s)[3] ) ? \
547 ( ( 0xCC == ((U8*)s)[4] ) ? \
548 ( ( ( ((U8*)s)[5] & 0xFE ) == 0x80 ) ? 6 : 4 ) \
549 : ( ( 0xCD == ((U8*)s)[4] ) && ( 0x82 == ((U8*)s)[5] ) ) ? 6 : 4 )\
550 : 0 ) \
551 : ( ( 0xCD == ((U8*)s)[2] ) && ( 0x82 == ((U8*)s)[3] ) ) ? 4 : 0 )\
552 : ( 0x89 == ((U8*)s)[1] ) ? \
553 ( ( 0xCD == ((U8*)s)[2] ) ? \
554 ( ( 0x82 == ((U8*)s)[3] ) ? \
555 ( ( ( 0xCE == ((U8*)s)[4] ) && ( 0xB9 == ((U8*)s)[5] ) ) ? 6 : 4 )\
556 : 0 ) \
557 : ( ( 0xCE == ((U8*)s)[2] ) && ( 0xB9 == ((U8*)s)[3] ) ) ? 4 : 0 )\
558 : ( ( ( 0x8E == ((U8*)s)[1] ) && ( 0xCE == ((U8*)s)[2] ) ) && ( 0xB9 == ((U8*)s)[3] ) ) ? 4 : 0 )\
559 : ( 0xD5 == ((U8*)s)[0] ) ? \
560 ( ( 0xA5 == ((U8*)s)[1] ) ? \
561 ( ( ( 0xD6 == ((U8*)s)[2] ) && ( 0x82 == ((U8*)s)[3] ) ) ? 4 : 0 )\
562 : ( 0xB4 == ((U8*)s)[1] ) ? \
563 ( ( ( 0xD5 == ((U8*)s)[2] ) && ( 0xA5 == ((U8*)s)[3] || 0xAB == ((U8*)s)[3] || 0xAD == ((U8*)s)[3] || 0xB6 == ((U8*)s)[3] ) ) ? 4 : 0 )\
564 : ( ( ( 0xBE == ((U8*)s)[1] ) && ( 0xD5 == ((U8*)s)[2] ) ) && ( 0xB6 == ((U8*)s)[3] ) ) ? 4 : 0 )\
565 : ( 0xE1 == ((U8*)s)[0] ) ? \
566 ( ( 0xBC == ((U8*)s)[1] ) ? \
567 ( ( ( ( ( ((U8*)s)[2] & 0xD8 ) == 0x80 ) && ( 0xCE == ((U8*)s)[3] ) ) && ( 0xB9 == ((U8*)s)[4] ) ) ? 5 : 0 )\
568 : ( ( ( ( 0xBD == ((U8*)s)[1] ) && ( ( ((U8*)s)[2] & 0xF8 ) == 0xA0 || 0xB0 == ((U8*)s)[2] || 0xB4 == ((U8*)s)[2] || 0xBC == ((U8*)s)[2] ) ) && ( 0xCE == ((U8*)s)[3] ) ) && ( 0xB9 == ((U8*)s)[4] ) ) ? 5 : 0 )\
569 : 0 ) \
570: ((e)-(s) > 4) ? \
571 ( ( 0x61 == ((U8*)s)[0] ) ? \
572 ( ( ( 0xCA == ((U8*)s)[1] ) && ( 0xBE == ((U8*)s)[2] ) ) ? 3 : 0 ) \
573 : ( 0x66 == ((U8*)s)[0] ) ? \
574 ( ( 0x66 == ((U8*)s)[1] ) ? \
575 ( ( 0x69 == ((U8*)s)[2] || 0x6C == ((U8*)s)[2] ) ? 3 : 2 ) \
576 : ( 0x69 == ((U8*)s)[1] || 0x6C == ((U8*)s)[1] ) ? 2 : 0 ) \
577 : ( 0x68 == ((U8*)s)[0] ) ? \
578 ( ( ( 0xCC == ((U8*)s)[1] ) && ( 0xB1 == ((U8*)s)[2] ) ) ? 3 : 0 ) \
579 : ( 0x69 == ((U8*)s)[0] ) ? \
580 ( ( ( 0xCC == ((U8*)s)[1] ) && ( 0x87 == ((U8*)s)[2] ) ) ? 3 : 0 ) \
581 : ( 0x6A == ((U8*)s)[0] ) ? \
582 ( ( ( 0xCC == ((U8*)s)[1] ) && ( 0x8C == ((U8*)s)[2] ) ) ? 3 : 0 ) \
583 : ( 0x73 == ((U8*)s)[0] ) ? \
584 ( ( 0x73 == ((U8*)s)[1] || 0x74 == ((U8*)s)[1] ) ? 2 : 0 ) \
585 : ( 0x74 == ((U8*)s)[0] ) ? \
586 ( ( ( 0xCC == ((U8*)s)[1] ) && ( 0x88 == ((U8*)s)[2] ) ) ? 3 : 0 ) \
587 : ( 0x77 == ((U8*)s)[0] || 0x79 == ((U8*)s)[0] ) ? \
588 ( ( ( 0xCC == ((U8*)s)[1] ) && ( 0x8A == ((U8*)s)[2] ) ) ? 3 : 0 ) \
589 : ( 0xCA == ((U8*)s)[0] ) ? \
590 ( ( ( 0xBC == ((U8*)s)[1] ) && ( 0x6E == ((U8*)s)[2] ) ) ? 3 : 0 ) \
591 : ( 0xCE == ((U8*)s)[0] ) ? \
592 ( ( ( ((U8*)s)[1] & 0xFD ) == 0xAC ) ? \
593 ( ( ( 0xCE == ((U8*)s)[2] ) && ( 0xB9 == ((U8*)s)[3] ) ) ? 4 : 0 )\
594 : ( 0xB1 == ((U8*)s)[1] || 0xB7 == ((U8*)s)[1] ) ? \
595 ( ( 0xCD == ((U8*)s)[2] ) ? \
596 ( ( 0x82 == ((U8*)s)[3] ) ? 4 : 0 ) \
597 : ( ( 0xCE == ((U8*)s)[2] ) && ( 0xB9 == ((U8*)s)[3] ) ) ? 4 : 0 )\
598 : ( ( ( 0xB9 == ((U8*)s)[1] ) && ( 0xCD == ((U8*)s)[2] ) ) && ( 0x82 == ((U8*)s)[3] ) ) ? 4 : 0 )\
599 : ( 0xCF == ((U8*)s)[0] ) ? \
600 ( ( 0x81 == ((U8*)s)[1] ) ? \
601 ( ( ( 0xCC == ((U8*)s)[2] ) && ( 0x93 == ((U8*)s)[3] ) ) ? 4 : 0 )\
602 : ( 0x85 == ((U8*)s)[1] ) ? \
603 ( ( 0xCC == ((U8*)s)[2] ) ? \
604 ( ( 0x93 == ((U8*)s)[3] ) ? 4 : 0 ) \
605 : ( ( 0xCD == ((U8*)s)[2] ) && ( 0x82 == ((U8*)s)[3] ) ) ? 4 : 0 )\
606 : ( 0x89 == ((U8*)s)[1] ) ? \
607 ( ( 0xCD == ((U8*)s)[2] ) ? \
608 ( ( 0x82 == ((U8*)s)[3] ) ? 4 : 0 ) \
609 : ( ( 0xCE == ((U8*)s)[2] ) && ( 0xB9 == ((U8*)s)[3] ) ) ? 4 : 0 )\
610 : ( ( ( 0x8E == ((U8*)s)[1] ) && ( 0xCE == ((U8*)s)[2] ) ) && ( 0xB9 == ((U8*)s)[3] ) ) ? 4 : 0 )\
611 : ( 0xD5 == ((U8*)s)[0] ) ? \
612 ( ( 0xA5 == ((U8*)s)[1] ) ? \
613 ( ( ( 0xD6 == ((U8*)s)[2] ) && ( 0x82 == ((U8*)s)[3] ) ) ? 4 : 0 )\
614 : ( 0xB4 == ((U8*)s)[1] ) ? \
615 ( ( ( 0xD5 == ((U8*)s)[2] ) && ( 0xA5 == ((U8*)s)[3] || 0xAB == ((U8*)s)[3] || 0xAD == ((U8*)s)[3] || 0xB6 == ((U8*)s)[3] ) ) ? 4 : 0 )\
616 : ( ( ( 0xBE == ((U8*)s)[1] ) && ( 0xD5 == ((U8*)s)[2] ) ) && ( 0xB6 == ((U8*)s)[3] ) ) ? 4 : 0 )\
617 : ( 0xE1 == ((U8*)s)[0] ) ? \
618 ( ( 0xBC == ((U8*)s)[1] ) ? \
619 ( ( ( ( ( ((U8*)s)[2] & 0xD8 ) == 0x80 ) && ( 0xCE == ((U8*)s)[3] ) ) && ( 0xB9 == ((U8*)s)[4] ) ) ? 5 : 0 )\
620 : ( ( ( ( 0xBD == ((U8*)s)[1] ) && ( ( ((U8*)s)[2] & 0xF8 ) == 0xA0 || 0xB0 == ((U8*)s)[2] || 0xB4 == ((U8*)s)[2] || 0xBC == ((U8*)s)[2] ) ) && ( 0xCE == ((U8*)s)[3] ) ) && ( 0xB9 == ((U8*)s)[4] ) ) ? 5 : 0 )\
621 : 0 ) \
622: ((e)-(s) > 3) ? \
623 ( ( 0x61 == ((U8*)s)[0] ) ? \
624 ( ( ( 0xCA == ((U8*)s)[1] ) && ( 0xBE == ((U8*)s)[2] ) ) ? 3 : 0 ) \
625 : ( 0x66 == ((U8*)s)[0] ) ? \
626 ( ( 0x66 == ((U8*)s)[1] ) ? \
627 ( ( 0x69 == ((U8*)s)[2] || 0x6C == ((U8*)s)[2] ) ? 3 : 2 ) \
628 : ( 0x69 == ((U8*)s)[1] || 0x6C == ((U8*)s)[1] ) ? 2 : 0 ) \
629 : ( 0x68 == ((U8*)s)[0] ) ? \
630 ( ( ( 0xCC == ((U8*)s)[1] ) && ( 0xB1 == ((U8*)s)[2] ) ) ? 3 : 0 ) \
631 : ( 0x69 == ((U8*)s)[0] ) ? \
632 ( ( ( 0xCC == ((U8*)s)[1] ) && ( 0x87 == ((U8*)s)[2] ) ) ? 3 : 0 ) \
633 : ( 0x6A == ((U8*)s)[0] ) ? \
634 ( ( ( 0xCC == ((U8*)s)[1] ) && ( 0x8C == ((U8*)s)[2] ) ) ? 3 : 0 ) \
635 : ( 0x73 == ((U8*)s)[0] ) ? \
636 ( ( 0x73 == ((U8*)s)[1] || 0x74 == ((U8*)s)[1] ) ? 2 : 0 ) \
637 : ( 0x74 == ((U8*)s)[0] ) ? \
638 ( ( ( 0xCC == ((U8*)s)[1] ) && ( 0x88 == ((U8*)s)[2] ) ) ? 3 : 0 ) \
639 : ( 0x77 == ((U8*)s)[0] || 0x79 == ((U8*)s)[0] ) ? \
640 ( ( ( 0xCC == ((U8*)s)[1] ) && ( 0x8A == ((U8*)s)[2] ) ) ? 3 : 0 ) \
641 : ( 0xCA == ((U8*)s)[0] ) ? \
642 ( ( ( 0xBC == ((U8*)s)[1] ) && ( 0x6E == ((U8*)s)[2] ) ) ? 3 : 0 ) \
643 : ( 0xCE == ((U8*)s)[0] ) ? \
644 ( ( ( ((U8*)s)[1] & 0xFD ) == 0xAC ) ? \
645 ( ( ( 0xCE == ((U8*)s)[2] ) && ( 0xB9 == ((U8*)s)[3] ) ) ? 4 : 0 )\
646 : ( 0xB1 == ((U8*)s)[1] || 0xB7 == ((U8*)s)[1] ) ? \
647 ( ( 0xCD == ((U8*)s)[2] ) ? \
648 ( ( 0x82 == ((U8*)s)[3] ) ? 4 : 0 ) \
649 : ( ( 0xCE == ((U8*)s)[2] ) && ( 0xB9 == ((U8*)s)[3] ) ) ? 4 : 0 )\
650 : ( ( ( 0xB9 == ((U8*)s)[1] ) && ( 0xCD == ((U8*)s)[2] ) ) && ( 0x82 == ((U8*)s)[3] ) ) ? 4 : 0 )\
651 : ( 0xCF == ((U8*)s)[0] ) ? \
652 ( ( 0x81 == ((U8*)s)[1] ) ? \
653 ( ( ( 0xCC == ((U8*)s)[2] ) && ( 0x93 == ((U8*)s)[3] ) ) ? 4 : 0 )\
654 : ( 0x85 == ((U8*)s)[1] ) ? \
655 ( ( 0xCC == ((U8*)s)[2] ) ? \
656 ( ( 0x93 == ((U8*)s)[3] ) ? 4 : 0 ) \
657 : ( ( 0xCD == ((U8*)s)[2] ) && ( 0x82 == ((U8*)s)[3] ) ) ? 4 : 0 )\
658 : ( 0x89 == ((U8*)s)[1] ) ? \
659 ( ( 0xCD == ((U8*)s)[2] ) ? \
660 ( ( 0x82 == ((U8*)s)[3] ) ? 4 : 0 ) \
661 : ( ( 0xCE == ((U8*)s)[2] ) && ( 0xB9 == ((U8*)s)[3] ) ) ? 4 : 0 )\
662 : ( ( ( 0x8E == ((U8*)s)[1] ) && ( 0xCE == ((U8*)s)[2] ) ) && ( 0xB9 == ((U8*)s)[3] ) ) ? 4 : 0 )\
663 : ( 0xD5 == ((U8*)s)[0] ) ? \
664 ( ( 0xA5 == ((U8*)s)[1] ) ? \
665 ( ( ( 0xD6 == ((U8*)s)[2] ) && ( 0x82 == ((U8*)s)[3] ) ) ? 4 : 0 )\
666 : ( 0xB4 == ((U8*)s)[1] ) ? \
667 ( ( ( 0xD5 == ((U8*)s)[2] ) && ( 0xA5 == ((U8*)s)[3] || 0xAB == ((U8*)s)[3] || 0xAD == ((U8*)s)[3] || 0xB6 == ((U8*)s)[3] ) ) ? 4 : 0 )\
668 : ( ( ( 0xBE == ((U8*)s)[1] ) && ( 0xD5 == ((U8*)s)[2] ) ) && ( 0xB6 == ((U8*)s)[3] ) ) ? 4 : 0 )\
669 : 0 ) \
670: ((e)-(s) > 2) ? \
671 ( ( 0x61 == ((U8*)s)[0] ) ? \
672 ( ( ( 0xCA == ((U8*)s)[1] ) && ( 0xBE == ((U8*)s)[2] ) ) ? 3 : 0 ) \
673 : ( 0x66 == ((U8*)s)[0] ) ? \
674 ( ( 0x66 == ((U8*)s)[1] ) ? \
675 ( ( 0x69 == ((U8*)s)[2] || 0x6C == ((U8*)s)[2] ) ? 3 : 2 ) \
676 : ( 0x69 == ((U8*)s)[1] || 0x6C == ((U8*)s)[1] ) ? 2 : 0 ) \
677 : ( 0x68 == ((U8*)s)[0] ) ? \
678 ( ( ( 0xCC == ((U8*)s)[1] ) && ( 0xB1 == ((U8*)s)[2] ) ) ? 3 : 0 ) \
679 : ( 0x69 == ((U8*)s)[0] ) ? \
680 ( ( ( 0xCC == ((U8*)s)[1] ) && ( 0x87 == ((U8*)s)[2] ) ) ? 3 : 0 ) \
681 : ( 0x6A == ((U8*)s)[0] ) ? \
682 ( ( ( 0xCC == ((U8*)s)[1] ) && ( 0x8C == ((U8*)s)[2] ) ) ? 3 : 0 ) \
683 : ( 0x73 == ((U8*)s)[0] ) ? \
684 ( ( 0x73 == ((U8*)s)[1] || 0x74 == ((U8*)s)[1] ) ? 2 : 0 ) \
685 : ( 0x74 == ((U8*)s)[0] ) ? \
686 ( ( ( 0xCC == ((U8*)s)[1] ) && ( 0x88 == ((U8*)s)[2] ) ) ? 3 : 0 ) \
687 : ( 0x77 == ((U8*)s)[0] || 0x79 == ((U8*)s)[0] ) ? \
688 ( ( ( 0xCC == ((U8*)s)[1] ) && ( 0x8A == ((U8*)s)[2] ) ) ? 3 : 0 ) \
689 : ( ( ( 0xCA == ((U8*)s)[0] ) && ( 0xBC == ((U8*)s)[1] ) ) && ( 0x6E == ((U8*)s)[2] ) ) ? 3 : 0 )\
690: ((e)-(s) > 1) ? \
691 ( ( 0x66 == ((U8*)s)[0] ) ? \
692 ( ( 0x66 == ((U8*)s)[1] || 0x69 == ((U8*)s)[1] || 0x6C == ((U8*)s)[1] ) ? 2 : 0 )\
693 : ( ( 0x73 == ((U8*)s)[0] ) && ( 0x73 == ((U8*)s)[1] || 0x74 == ((U8*)s)[1] ) ) ? 2 : 0 )\
694: 0 )
695
696/*
40b1ba4f 697 MULTI_CHAR_FOLD: multi-char strings that are folded to by a single character
8769f413
KW
698
699 &regcharclass_multi_char_folds::multi_char_folds(0)
700*/
701/*** GENERATED CODE ***/
40b1ba4f 702#define is_MULTI_CHAR_FOLD_latin1_safe(s,e) \
8769f413
KW
703( ((e)-(s) > 2) ? \
704 ( ( ( ((U8*)s)[0] & 0xDF ) == 0x46 ) ? \
705 ( ( ( ((U8*)s)[1] & 0xDF ) == 0x46 ) ? \
706 ( ( 0x49 == ((U8*)s)[2] || 0x4C == ((U8*)s)[2] || 0x69 == ((U8*)s)[2] || 0x6C == ((U8*)s)[2] ) ? 3 : 2 )\
707 : ( 0x49 == ((U8*)s)[1] || 0x4C == ((U8*)s)[1] || 0x69 == ((U8*)s)[1] || 0x6C == ((U8*)s)[1] ) ? 2 : 0 )\
708 : ( ( ( ((U8*)s)[0] & 0xDF ) == 0x53 ) && ( ( 0x53 == ((U8*)s)[1] || 0x54 == ((U8*)s)[1] ) || ( 0x73 == ((U8*)s)[1] || 0x74 == ((U8*)s)[1] ) ) ) ? 2 : 0 )\
709: ((e)-(s) > 1) ? \
710 ( ( ( ((U8*)s)[0] & 0xDF ) == 0x46 ) ? \
711 ( ( 0x46 == ((U8*)s)[1] || 0x49 == ((U8*)s)[1] || 0x4C == ((U8*)s)[1] || 0x66 == ((U8*)s)[1] || 0x69 == ((U8*)s)[1] || 0x6C == ((U8*)s)[1] ) ? 2 : 0 )\
712 : ( ( ( ((U8*)s)[0] & 0xDF ) == 0x53 ) && ( ( 0x53 == ((U8*)s)[1] || 0x54 == ((U8*)s)[1] ) || ( 0x73 == ((U8*)s)[1] || 0x74 == ((U8*)s)[1] ) ) ) ? 2 : 0 )\
713: 0 )
714
8770da0e 715
d10c72f2
KW
716#endif /* H_REGCHARCLASS */
717
58fbde93 718/* ex: set ro: */