Commit | Line | Data |
---|---|---|
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) \ | |
75929b4b | 196 | ( ((U8*)s)[0] == 0x09 || ( ( ((U8*)s)[0] & 0x7F ) == 0x20 ) ) |
e1d1eefb | 197 | |
12b72891 RGS |
198 | /*** GENERATED CODE ***/ |
199 | #define is_HORIZWS_latin1_safe(s,e) \ | |
e64b1bd1 | 200 | ( ((e)-(s) > 0) ? \ |
75929b4b | 201 | ( ((U8*)s)[0] == 0x09 || ( ( ((U8*)s)[0] & 0x7F ) == 0x20 ) ) \ |
e64b1bd1 | 202 | : 0 ) |
e1d1eefb | 203 | |
12b72891 | 204 | /*** GENERATED CODE ***/ |
2cafb56b KW |
205 | #define is_HORIZWS_high(s) \ |
206 | ( ( 0xE1 == ((U8*)s)[0] ) ? \ | |
207 | ( ( 0x9A == ((U8*)s)[1] ) ? \ | |
208 | ( ( 0x80 == ((U8*)s)[2] ) ? 3 : 0 ) \ | |
209 | : ( ( 0xA0 == ((U8*)s)[1] ) && ( 0x8E == ((U8*)s)[2] ) ) ? 3 : 0 ) \ | |
210 | : ( 0xE2 == ((U8*)s)[0] ) ? \ | |
211 | ( ( 0x80 == ((U8*)s)[1] ) ? \ | |
212 | ( ( ( ((U8*)s)[2] <= 0x8A ) || 0xAF == ((U8*)s)[2] ) ? 3 : 0 ) \ | |
213 | : ( ( 0x81 == ((U8*)s)[1] ) && ( 0x9F == ((U8*)s)[2] ) ) ? 3 : 0 ) \ | |
214 | : ( ( ( 0xE3 == ((U8*)s)[0] ) && ( 0x80 == ((U8*)s)[1] ) ) && ( 0x80 == ((U8*)s)[2] ) ) ? 3 : 0 ) | |
215 | ||
216 | /*** GENERATED CODE ***/ | |
217 | #define is_HORIZWS_high_safe(s,e) \ | |
218 | ( ((e)-(s) > 2) ? \ | |
219 | ( ( 0xE1 == ((U8*)s)[0] ) ? \ | |
220 | ( ( 0x9A == ((U8*)s)[1] ) ? \ | |
221 | ( ( 0x80 == ((U8*)s)[2] ) ? 3 : 0 ) \ | |
222 | : ( ( 0xA0 == ((U8*)s)[1] ) && ( 0x8E == ((U8*)s)[2] ) ) ? 3 : 0 ) \ | |
223 | : ( 0xE2 == ((U8*)s)[0] ) ? \ | |
224 | ( ( 0x80 == ((U8*)s)[1] ) ? \ | |
225 | ( ( ( 0x80 <= ((U8*)s)[2] && ((U8*)s)[2] <= 0x8A ) || 0xAF == ((U8*)s)[2] ) ? 3 : 0 )\ | |
226 | : ( ( 0x81 == ((U8*)s)[1] ) && ( 0x9F == ((U8*)s)[2] ) ) ? 3 : 0 ) \ | |
227 | : ( ( ( 0xE3 == ((U8*)s)[0] ) && ( 0x80 == ((U8*)s)[1] ) ) && ( 0x80 == ((U8*)s)[2] ) ) ? 3 : 0 )\ | |
228 | : 0 ) | |
229 | ||
230 | /*** GENERATED CODE ***/ | |
12b72891 | 231 | #define is_HORIZWS_cp(cp) \ |
e64b1bd1 YO |
232 | ( 0x09 == cp || ( 0x09 < cp && \ |
233 | ( 0x20 == cp || ( 0x20 < cp && \ | |
234 | ( 0xA0 == cp || ( 0xA0 < cp && \ | |
235 | ( 0x1680 == cp || ( 0x1680 < cp && \ | |
236 | ( 0x180E == cp || ( 0x180E < cp && \ | |
237 | ( ( 0x2000 <= cp && cp <= 0x200A ) || ( 0x200A < cp && \ | |
238 | ( 0x202F == cp || ( 0x202F < cp && \ | |
ee98d22d | 239 | ( 0x205F == cp || 0x3000 == cp ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) |
e1d1eefb | 240 | |
2cafb56b KW |
241 | /*** GENERATED CODE ***/ |
242 | #define is_HORIZWS_cp_high(cp) \ | |
243 | ( 0x1680 == cp || ( 0x1680 < cp && \ | |
244 | ( 0x180E == cp || ( 0x180E < cp && \ | |
245 | ( ( 0x2000 <= cp && cp <= 0x200A ) || ( 0x200A < cp && \ | |
246 | ( 0x202F == cp || ( 0x202F < cp && \ | |
247 | ( 0x205F == cp || 0x3000 == cp ) ) ) ) ) ) ) ) ) | |
248 | ||
12b72891 RGS |
249 | /* |
250 | VERTWS: Vertical Whitespace: \v \V | |
e1d1eefb | 251 | |
05b688d9 | 252 | \p{VertSpace} |
12b72891 RGS |
253 | */ |
254 | /*** GENERATED CODE ***/ | |
255 | #define is_VERTWS(s,is_utf8) \ | |
e64b1bd1 YO |
256 | ( ( 0x0A <= ((U8*)s)[0] && ((U8*)s)[0] <= 0x0D ) ? 1 \ |
257 | : ( is_utf8 ) ? \ | |
258 | ( ( 0xC2 == ((U8*)s)[0] ) ? \ | |
259 | ( ( 0x85 == ((U8*)s)[1] ) ? 2 : 0 ) \ | |
6c4f0678 | 260 | : ( ( ( 0xE2 == ((U8*)s)[0] ) && ( 0x80 == ((U8*)s)[1] ) ) && ( ( ((U8*)s)[2] & 0xFE ) == 0xA8 ) ) ? 3 : 0 )\ |
e64b1bd1 | 261 | : ( 0x85 == ((U8*)s)[0] ) ) |
e1d1eefb | 262 | |
12b72891 RGS |
263 | /*** GENERATED CODE ***/ |
264 | #define is_VERTWS_safe(s,e,is_utf8) \ | |
e64b1bd1 YO |
265 | ( ((e)-(s) > 2) ? \ |
266 | ( ( 0x0A <= ((U8*)s)[0] && ((U8*)s)[0] <= 0x0D ) ? 1 \ | |
267 | : ( is_utf8 ) ? \ | |
268 | ( ( 0xC2 == ((U8*)s)[0] ) ? \ | |
269 | ( ( 0x85 == ((U8*)s)[1] ) ? 2 : 0 ) \ | |
6c4f0678 | 270 | : ( ( ( 0xE2 == ((U8*)s)[0] ) && ( 0x80 == ((U8*)s)[1] ) ) && ( ( ((U8*)s)[2] & 0xFE ) == 0xA8 ) ) ? 3 : 0 )\ |
e64b1bd1 YO |
271 | : ( 0x85 == ((U8*)s)[0] ) ) \ |
272 | : ((e)-(s) > 1) ? \ | |
273 | ( ( 0x0A <= ((U8*)s)[0] && ((U8*)s)[0] <= 0x0D ) ? 1 \ | |
274 | : ( is_utf8 ) ? \ | |
275 | ( ( ( 0xC2 == ((U8*)s)[0] ) && ( 0x85 == ((U8*)s)[1] ) ) ? 2 : 0 ) \ | |
276 | : ( 0x85 == ((U8*)s)[0] ) ) \ | |
277 | : ((e)-(s) > 0) ? \ | |
278 | ( ( 0x0A <= ((U8*)s)[0] && ((U8*)s)[0] <= 0x0D ) ? 1 \ | |
279 | : ( !( is_utf8 ) ) ? \ | |
280 | ( 0x85 == ((U8*)s)[0] ) \ | |
281 | : 0 ) \ | |
282 | : 0 ) | |
e1d1eefb | 283 | |
12b72891 RGS |
284 | /*** GENERATED CODE ***/ |
285 | #define is_VERTWS_utf8(s) \ | |
e64b1bd1 YO |
286 | ( ( 0x0A <= ((U8*)s)[0] && ((U8*)s)[0] <= 0x0D ) ? 1 \ |
287 | : ( 0xC2 == ((U8*)s)[0] ) ? \ | |
288 | ( ( 0x85 == ((U8*)s)[1] ) ? 2 : 0 ) \ | |
6c4f0678 | 289 | : ( ( ( 0xE2 == ((U8*)s)[0] ) && ( 0x80 == ((U8*)s)[1] ) ) && ( ( ((U8*)s)[2] & 0xFE ) == 0xA8 ) ) ? 3 : 0 ) |
e1d1eefb | 290 | |
12b72891 RGS |
291 | /*** GENERATED CODE ***/ |
292 | #define is_VERTWS_utf8_safe(s,e) \ | |
e64b1bd1 YO |
293 | ( ((e)-(s) > 2) ? \ |
294 | ( ( 0x0A <= ((U8*)s)[0] && ((U8*)s)[0] <= 0x0D ) ? 1 \ | |
295 | : ( 0xC2 == ((U8*)s)[0] ) ? \ | |
296 | ( ( 0x85 == ((U8*)s)[1] ) ? 2 : 0 ) \ | |
6c4f0678 | 297 | : ( ( ( 0xE2 == ((U8*)s)[0] ) && ( 0x80 == ((U8*)s)[1] ) ) && ( ( ((U8*)s)[2] & 0xFE ) == 0xA8 ) ) ? 3 : 0 )\ |
e64b1bd1 YO |
298 | : ((e)-(s) > 1) ? \ |
299 | ( ( 0x0A <= ((U8*)s)[0] && ((U8*)s)[0] <= 0x0D ) ? 1 \ | |
6c4f0678 | 300 | : ( ( 0xC2 == ((U8*)s)[0] ) && ( 0x85 == ((U8*)s)[1] ) ) ? 2 : 0 ) \ |
e64b1bd1 YO |
301 | : ((e)-(s) > 0) ? \ |
302 | ( 0x0A <= ((U8*)s)[0] && ((U8*)s)[0] <= 0x0D ) \ | |
303 | : 0 ) | |
e1d1eefb | 304 | |
12b72891 | 305 | /*** GENERATED CODE ***/ |
840f8e92 KW |
306 | #define is_VERTWS_high(s) \ |
307 | ( ( ( ( 0xE2 == ((U8*)s)[0] ) && ( 0x80 == ((U8*)s)[1] ) ) && ( ( ((U8*)s)[2] & 0xFE ) == 0xA8 ) ) ? 3 : 0 ) | |
308 | ||
309 | /*** GENERATED CODE ***/ | |
310 | #define is_VERTWS_high_safe(s,e) \ | |
311 | ( ( ( ( ((e)-(s) > 2) && ( 0xE2 == ((U8*)s)[0] ) ) && ( 0x80 == ((U8*)s)[1] ) ) && ( ( ((U8*)s)[2] & 0xFE ) == 0xA8 ) ) ? 3 : 0 ) | |
312 | ||
313 | /*** GENERATED CODE ***/ | |
12b72891 | 314 | #define is_VERTWS_latin1(s) \ |
e64b1bd1 | 315 | ( ( 0x0A <= ((U8*)s)[0] && ((U8*)s)[0] <= 0x0D ) || 0x85 == ((U8*)s)[0] ) |
e1d1eefb | 316 | |
12b72891 RGS |
317 | /*** GENERATED CODE ***/ |
318 | #define is_VERTWS_latin1_safe(s,e) \ | |
e64b1bd1 YO |
319 | ( ((e)-(s) > 0) ? \ |
320 | ( ( 0x0A <= ((U8*)s)[0] && ((U8*)s)[0] <= 0x0D ) || 0x85 == ((U8*)s)[0] )\ | |
321 | : 0 ) | |
e1d1eefb | 322 | |
12b72891 RGS |
323 | /*** GENERATED CODE ***/ |
324 | #define is_VERTWS_cp(cp) \ | |
e64b1bd1 YO |
325 | ( ( 0x0A <= cp && cp <= 0x0D ) || ( 0x0D < cp && \ |
326 | ( 0x85 == cp || ( 0x85 < cp && \ | |
ee98d22d | 327 | ( 0x2028 == cp || 0x2029 == cp ) ) ) ) ) |
e1d1eefb | 328 | |
840f8e92 KW |
329 | /*** GENERATED CODE ***/ |
330 | #define is_VERTWS_cp_high(cp) \ | |
331 | ( 0x2028 == cp || 0x2029 == cp ) | |
332 | ||
612ead59 | 333 | /* |
4ac6419d KW |
334 | XDIGIT: Hexadecimal digits |
335 | ||
336 | \p{XDigit} | |
337 | */ | |
338 | /*** GENERATED CODE ***/ | |
339 | #define is_XDIGIT_utf8(s) \ | |
340 | ( ( ( 0x30 <= ((U8*)s)[0] && ((U8*)s)[0] <= 0x39 ) || ( 0x41 <= ((U8*)s)[0] && ((U8*)s)[0] <= 0x46 ) || ( 0x61 <= ((U8*)s)[0] && ((U8*)s)[0] <= 0x66 ) ) ? 1\ | |
341 | : ( 0xEF == ((U8*)s)[0] ) ? \ | |
342 | ( ( 0xBC == ((U8*)s)[1] ) ? \ | |
343 | ( ( ( 0x90 <= ((U8*)s)[2] && ((U8*)s)[2] <= 0x99 ) || ( 0xA1 <= ((U8*)s)[2] && ((U8*)s)[2] <= 0xA6 ) ) ? 3 : 0 )\ | |
344 | : ( ( 0xBD == ((U8*)s)[1] ) && ( 0x81 <= ((U8*)s)[2] && ((U8*)s)[2] <= 0x86 ) ) ? 3 : 0 )\ | |
345 | : 0 ) | |
346 | ||
347 | /*** GENERATED CODE ***/ | |
348 | #define is_XDIGIT_high(s) \ | |
349 | ( ( 0xEF == ((U8*)s)[0] ) ? \ | |
350 | ( ( 0xBC == ((U8*)s)[1] ) ? \ | |
351 | ( ( ( 0x90 <= ((U8*)s)[2] && ((U8*)s)[2] <= 0x99 ) || ( 0xA1 <= ((U8*)s)[2] && ((U8*)s)[2] <= 0xA6 ) ) ? 3 : 0 )\ | |
352 | : ( ( 0xBD == ((U8*)s)[1] ) && ( 0x81 <= ((U8*)s)[2] && ((U8*)s)[2] <= 0x86 ) ) ? 3 : 0 )\ | |
353 | : 0 ) | |
354 | ||
355 | /*** GENERATED CODE ***/ | |
356 | #define is_XDIGIT_cp_high(cp) \ | |
357 | ( ( 0xFF10 <= cp && cp <= 0xFF19 ) || ( 0xFF19 < cp && \ | |
358 | ( ( 0xFF21 <= cp && cp <= 0xFF26 ) || ( 0xFF41 <= cp && cp <= 0xFF46 ) ) ) ) | |
359 | ||
360 | /* | |
bedac28b KW |
361 | XPERLSPACE: \p{XPerlSpace} |
362 | ||
363 | \p{XPerlSpace} | |
364 | */ | |
365 | /*** GENERATED CODE ***/ | |
366 | #define is_XPERLSPACE(s,is_utf8) \ | |
367 | ( ( ( 0x09 <= ((U8*)s)[0] && ((U8*)s)[0] <= 0x0D ) || 0x20 == ((U8*)s)[0] ) ? 1\ | |
368 | : ( is_utf8 ) ? \ | |
369 | ( ( 0xC2 == ((U8*)s)[0] ) ? \ | |
370 | ( ( 0x85 == ((U8*)s)[1] || 0xA0 == ((U8*)s)[1] ) ? 2 : 0 ) \ | |
371 | : ( 0xE1 == ((U8*)s)[0] ) ? \ | |
372 | ( ( 0x9A == ((U8*)s)[1] ) ? \ | |
373 | ( ( 0x80 == ((U8*)s)[2] ) ? 3 : 0 ) \ | |
374 | : ( ( 0xA0 == ((U8*)s)[1] ) && ( 0x8E == ((U8*)s)[2] ) ) ? 3 : 0 ) \ | |
375 | : ( 0xE2 == ((U8*)s)[0] ) ? \ | |
376 | ( ( 0x80 == ((U8*)s)[1] ) ? \ | |
377 | ( ( ( 0x80 <= ((U8*)s)[2] && ((U8*)s)[2] <= 0x8A ) || ( ((U8*)s)[2] & 0xFE ) == 0xA8 || 0xAF == ((U8*)s)[2] ) ? 3 : 0 )\ | |
378 | : ( ( 0x81 == ((U8*)s)[1] ) && ( 0x9F == ((U8*)s)[2] ) ) ? 3 : 0 ) \ | |
379 | : ( ( ( 0xE3 == ((U8*)s)[0] ) && ( 0x80 == ((U8*)s)[1] ) ) && ( 0x80 == ((U8*)s)[2] ) ) ? 3 : 0 )\ | |
380 | : ( 0x85 == ((U8*)s)[0] || 0xA0 == ((U8*)s)[0] ) ) | |
381 | ||
382 | /*** GENERATED CODE ***/ | |
383 | #define is_XPERLSPACE_utf8(s) \ | |
384 | ( ( ( 0x09 <= ((U8*)s)[0] && ((U8*)s)[0] <= 0x0D ) || 0x20 == ((U8*)s)[0] ) ? 1\ | |
385 | : ( 0xC2 == ((U8*)s)[0] ) ? \ | |
386 | ( ( 0x85 == ((U8*)s)[1] || 0xA0 == ((U8*)s)[1] ) ? 2 : 0 ) \ | |
387 | : ( 0xE1 == ((U8*)s)[0] ) ? \ | |
388 | ( ( 0x9A == ((U8*)s)[1] ) ? \ | |
389 | ( ( 0x80 == ((U8*)s)[2] ) ? 3 : 0 ) \ | |
390 | : ( ( 0xA0 == ((U8*)s)[1] ) && ( 0x8E == ((U8*)s)[2] ) ) ? 3 : 0 ) \ | |
391 | : ( 0xE2 == ((U8*)s)[0] ) ? \ | |
392 | ( ( 0x80 == ((U8*)s)[1] ) ? \ | |
393 | ( ( ( ((U8*)s)[2] <= 0x8A ) || ( ((U8*)s)[2] & 0xFE ) == 0xA8 || 0xAF == ((U8*)s)[2] ) ? 3 : 0 )\ | |
394 | : ( ( 0x81 == ((U8*)s)[1] ) && ( 0x9F == ((U8*)s)[2] ) ) ? 3 : 0 ) \ | |
395 | : ( ( ( 0xE3 == ((U8*)s)[0] ) && ( 0x80 == ((U8*)s)[1] ) ) && ( 0x80 == ((U8*)s)[2] ) ) ? 3 : 0 ) | |
396 | ||
397 | /*** GENERATED CODE ***/ | |
398 | #define is_XPERLSPACE_high(s) \ | |
399 | ( ( 0xE1 == ((U8*)s)[0] ) ? \ | |
400 | ( ( 0x9A == ((U8*)s)[1] ) ? \ | |
401 | ( ( 0x80 == ((U8*)s)[2] ) ? 3 : 0 ) \ | |
402 | : ( ( 0xA0 == ((U8*)s)[1] ) && ( 0x8E == ((U8*)s)[2] ) ) ? 3 : 0 ) \ | |
403 | : ( 0xE2 == ((U8*)s)[0] ) ? \ | |
404 | ( ( 0x80 == ((U8*)s)[1] ) ? \ | |
405 | ( ( ( ((U8*)s)[2] <= 0x8A ) || ( ((U8*)s)[2] & 0xFE ) == 0xA8 || 0xAF == ((U8*)s)[2] ) ? 3 : 0 )\ | |
406 | : ( ( 0x81 == ((U8*)s)[1] ) && ( 0x9F == ((U8*)s)[2] ) ) ? 3 : 0 ) \ | |
407 | : ( ( ( 0xE3 == ((U8*)s)[0] ) && ( 0x80 == ((U8*)s)[1] ) ) && ( 0x80 == ((U8*)s)[2] ) ) ? 3 : 0 ) | |
408 | ||
409 | /*** GENERATED CODE ***/ | |
410 | #define is_XPERLSPACE_cp_high(cp) \ | |
411 | ( 0x1680 == cp || ( 0x1680 < cp && \ | |
412 | ( 0x180E == cp || ( 0x180E < cp && \ | |
413 | ( ( 0x2000 <= cp && cp <= 0x200A ) || ( 0x200A < cp && \ | |
414 | ( 0x2028 == cp || ( 0x2028 < cp && \ | |
415 | ( 0x2029 == cp || ( 0x2029 < cp && \ | |
416 | ( 0x202F == cp || ( 0x202F < cp && \ | |
417 | ( 0x205F == cp || 0x3000 == cp ) ) ) ) ) ) ) ) ) ) ) ) ) | |
418 | ||
419 | /* | |
b96a92fb KW |
420 | REPLACEMENT: Unicode REPLACEMENT CHARACTER |
421 | ||
422 | 0xFFFD | |
423 | */ | |
424 | /*** GENERATED CODE ***/ | |
425 | #define is_REPLACEMENT_utf8_safe(s,e) \ | |
426 | ( ( ( ( ((e)-(s) > 2) && ( 0xEF == ((U8*)s)[0] ) ) && ( 0xBF == ((U8*)s)[1] ) ) && ( 0xBD == ((U8*)s)[2] ) ) ? 3 : 0 ) | |
427 | ||
428 | /* | |
429 | NONCHAR: Non character code points | |
430 | ||
431 | \p{Nchar} | |
432 | */ | |
433 | /*** GENERATED CODE ***/ | |
434 | #define is_NONCHAR_utf8(s) \ | |
435 | ( ( 0xEF == ((U8*)s)[0] ) ? \ | |
436 | ( ( 0xB7 == ((U8*)s)[1] ) ? \ | |
437 | ( ( 0x90 <= ((U8*)s)[2] && ((U8*)s)[2] <= 0xAF ) ? 3 : 0 ) \ | |
6c4f0678 | 438 | : ( ( 0xBF == ((U8*)s)[1] ) && ( ((U8*)s)[2] >= 0xBE ) ) ? 3 : 0 ) \ |
b96a92fb | 439 | : ( 0xF0 == ((U8*)s)[0] ) ? \ |
75929b4b | 440 | ( ( ( ( ((U8*)s)[1] == 0x9F || ( ( ((U8*)s)[1] & 0xEF ) == 0xAF ) ) && ( 0xBF == ((U8*)s)[2] ) ) && ( ((U8*)s)[3] >= 0xBE ) ) ? 4 : 0 )\ |
b96a92fb KW |
441 | : ( 0xF1 <= ((U8*)s)[0] && ((U8*)s)[0] <= 0xF3 ) ? \ |
442 | ( ( ( ( ( ((U8*)s)[1] & 0xCF ) == 0x8F ) && ( 0xBF == ((U8*)s)[2] ) ) && ( ((U8*)s)[3] >= 0xBE ) ) ? 4 : 0 )\ | |
6c4f0678 | 443 | : ( ( ( ( 0xF4 == ((U8*)s)[0] ) && ( 0x8F == ((U8*)s)[1] ) ) && ( 0xBF == ((U8*)s)[2] ) ) && ( ((U8*)s)[3] >= 0xBE ) ) ? 4 : 0 ) |
b96a92fb KW |
444 | |
445 | /* | |
446 | SURROGATE: Surrogate characters | |
447 | ||
448 | \p{Gc=Cs} | |
449 | */ | |
450 | /*** GENERATED CODE ***/ | |
451 | #define is_SURROGATE_utf8(s) \ | |
452 | ( ( ( 0xED == ((U8*)s)[0] ) && ( ((U8*)s)[1] >= 0xA0 ) ) ? 3 : 0 ) | |
453 | ||
454 | /* | |
612ead59 KW |
455 | GCB_L: Grapheme_Cluster_Break=L |
456 | ||
457 | \p{_X_GCB_L} | |
458 | */ | |
459 | /*** GENERATED CODE ***/ | |
460 | #define is_GCB_L_utf8(s) \ | |
461 | ( ( 0xE1 == ((U8*)s)[0] ) ? \ | |
462 | ( ( 0x84 == ((U8*)s)[1] ) ? \ | |
6e130234 | 463 | 3 \ |
6c4f0678 YO |
464 | : ( ( 0x85 == ((U8*)s)[1] ) && ( ((U8*)s)[2] <= 0x9F ) ) ? 3 : 0 ) \ |
465 | : ( ( ( 0xEA == ((U8*)s)[0] ) && ( 0xA5 == ((U8*)s)[1] ) ) && ( 0xA0 <= ((U8*)s)[2] && ((U8*)s)[2] <= 0xBC ) ) ? 3 : 0 ) | |
612ead59 KW |
466 | |
467 | /* | |
468 | GCB_LV_LVT_V: Grapheme_Cluster_Break=(LV or LVT or V) | |
469 | ||
470 | \p{_X_LV_LVT_V} | |
471 | */ | |
472 | /*** GENERATED CODE ***/ | |
473 | #define is_GCB_LV_LVT_V_utf8(s) \ | |
474 | ( ( 0xE1 == ((U8*)s)[0] ) ? \ | |
475 | ( ( 0x85 == ((U8*)s)[1] ) ? \ | |
6e130234 | 476 | ( ( ((U8*)s)[2] >= 0xA0 ) ? 3 : 0 ) \ |
6c4f0678 | 477 | : ( ( 0x86 == ((U8*)s)[1] ) && ( ((U8*)s)[2] <= 0xA7 ) ) ? 3 : 0 ) \ |
612ead59 | 478 | : ( 0xEA == ((U8*)s)[0] ) ? \ |
6e130234 KW |
479 | ( ( ((U8*)s)[1] >= 0xB0 ) ? \ |
480 | 3 \ | |
481 | : 0 ) \ | |
612ead59 | 482 | : ( 0xEB == ((U8*)s)[0] || 0xEC == ((U8*)s)[0] ) ? \ |
6e130234 | 483 | 3 \ |
612ead59 | 484 | : ( 0xED == ((U8*)s)[0] ) ? \ |
6e130234 KW |
485 | ( ( ((U8*)s)[1] <= 0x9D ) ? \ |
486 | 3 \ | |
612ead59 | 487 | : ( 0x9E == ((U8*)s)[1] ) ? \ |
6e130234 | 488 | ( ( ( ((U8*)s)[2] <= 0xA3 ) || ( ((U8*)s)[2] >= 0xB0 ) ) ? 3 : 0 ) \ |
6c4f0678 | 489 | : ( ( 0x9F == ((U8*)s)[1] ) && ( ((U8*)s)[2] <= 0x86 ) ) ? 3 : 0 ) \ |
612ead59 KW |
490 | : 0 ) |
491 | ||
492 | /* | |
493 | GCB_Prepend: Grapheme_Cluster_Break=Prepend | |
494 | ||
495 | \p{_X_GCB_Prepend} | |
496 | */ | |
497 | /*** GENERATED CODE ***/ | |
498 | #define is_GCB_Prepend_utf8(s) \ | |
499 | ( 0 ) | |
500 | ||
501 | /* | |
502 | GCB_RI: Grapheme_Cluster_Break=RI | |
503 | ||
504 | \p{_X_RI} | |
505 | */ | |
506 | /*** GENERATED CODE ***/ | |
507 | #define is_GCB_RI_utf8(s) \ | |
6e130234 | 508 | ( ( ( ( ( 0xF0 == ((U8*)s)[0] ) && ( 0x9F == ((U8*)s)[1] ) ) && ( 0x87 == ((U8*)s)[2] ) ) && ( ((U8*)s)[3] >= 0xA6 ) ) ? 4 : 0 ) |
612ead59 KW |
509 | |
510 | /* | |
bff53399 | 511 | GCB_SPECIAL_BEGIN_START: Grapheme_Cluster_Break=special_begin_starts |
612ead59 | 512 | |
bff53399 | 513 | \p{_X_Special_Begin_Start} |
612ead59 KW |
514 | */ |
515 | /*** GENERATED CODE ***/ | |
bff53399 | 516 | #define is_GCB_SPECIAL_BEGIN_START_utf8(s) \ |
6e130234 KW |
517 | ( ( 0xE1 == ((U8*)s)[0] ) ? \ |
518 | ( ( ( ((U8*)s)[1] & 0xFC ) == 0x84 ) ? \ | |
519 | 3 \ | |
520 | : 0 ) \ | |
612ead59 KW |
521 | : ( 0xEA == ((U8*)s)[0] ) ? \ |
522 | ( ( 0xA5 == ((U8*)s)[1] ) ? \ | |
523 | ( ( 0xA0 <= ((U8*)s)[2] && ((U8*)s)[2] <= 0xBC ) ? 3 : 0 ) \ | |
6e130234 KW |
524 | : ( ((U8*)s)[1] >= 0xB0 ) ? \ |
525 | 3 \ | |
612ead59 KW |
526 | : 0 ) \ |
527 | : ( 0xEB == ((U8*)s)[0] || 0xEC == ((U8*)s)[0] ) ? \ | |
6e130234 | 528 | 3 \ |
612ead59 | 529 | : ( 0xED == ((U8*)s)[0] ) ? \ |
6e130234 KW |
530 | ( ( ((U8*)s)[1] <= 0x9D ) ? \ |
531 | 3 \ | |
612ead59 | 532 | : ( 0x9E == ((U8*)s)[1] ) ? \ |
6e130234 | 533 | ( ( ( ((U8*)s)[2] <= 0xA3 ) || ( ((U8*)s)[2] >= 0xB0 ) ) ? 3 : 0 ) \ |
6c4f0678 YO |
534 | : ( ( 0x9F == ((U8*)s)[1] ) && ( ( ((U8*)s)[2] <= 0x86 ) || ( 0x8B <= ((U8*)s)[2] && ((U8*)s)[2] <= 0xBB ) ) ) ? 3 : 0 )\ |
535 | : ( ( ( ( 0xF0 == ((U8*)s)[0] ) && ( 0x9F == ((U8*)s)[1] ) ) && ( 0x87 == ((U8*)s)[2] ) ) && ( ((U8*)s)[3] >= 0xA6 ) ) ? 4 : 0 ) | |
612ead59 KW |
536 | |
537 | /* | |
538 | GCB_T: Grapheme_Cluster_Break=T | |
539 | ||
540 | \p{_X_GCB_T} | |
541 | */ | |
542 | /*** GENERATED CODE ***/ | |
543 | #define is_GCB_T_utf8(s) \ | |
544 | ( ( 0xE1 == ((U8*)s)[0] ) ? \ | |
545 | ( ( 0x86 == ((U8*)s)[1] ) ? \ | |
6e130234 | 546 | ( ( ((U8*)s)[2] >= 0xA8 ) ? 3 : 0 ) \ |
612ead59 | 547 | : ( 0x87 == ((U8*)s)[1] ) ? \ |
6e130234 | 548 | 3 \ |
612ead59 | 549 | : 0 ) \ |
6c4f0678 | 550 | : ( ( ( 0xED == ((U8*)s)[0] ) && ( 0x9F == ((U8*)s)[1] ) ) && ( 0x8B <= ((U8*)s)[2] && ((U8*)s)[2] <= 0xBB ) ) ? 3 : 0 ) |
612ead59 KW |
551 | |
552 | /* | |
553 | GCB_V: Grapheme_Cluster_Break=V | |
554 | ||
555 | \p{_X_GCB_V} | |
556 | */ | |
557 | /*** GENERATED CODE ***/ | |
558 | #define is_GCB_V_utf8(s) \ | |
559 | ( ( 0xE1 == ((U8*)s)[0] ) ? \ | |
560 | ( ( 0x85 == ((U8*)s)[1] ) ? \ | |
6e130234 | 561 | ( ( ((U8*)s)[2] >= 0xA0 ) ? 3 : 0 ) \ |
6c4f0678 | 562 | : ( ( 0x86 == ((U8*)s)[1] ) && ( ((U8*)s)[2] <= 0xA7 ) ) ? 3 : 0 ) \ |
612ead59 KW |
563 | : ( 0xED == ((U8*)s)[0] ) ? \ |
564 | ( ( 0x9E == ((U8*)s)[1] ) ? \ | |
6e130234 | 565 | ( ( ((U8*)s)[2] >= 0xB0 ) ? 3 : 0 ) \ |
6c4f0678 | 566 | : ( ( 0x9F == ((U8*)s)[1] ) && ( ((U8*)s)[2] <= 0x86 ) ) ? 3 : 0 ) \ |
612ead59 KW |
567 | : 0 ) |
568 | ||
685289b5 KW |
569 | /* |
570 | QUOTEMETA: Meta-characters that \Q should quote | |
571 | ||
572 | \p{_Perl_Quotemeta} | |
573 | */ | |
574 | /*** GENERATED CODE ***/ | |
575 | #define is_QUOTEMETA_high(s) \ | |
576 | ( ( 0xCD == ((U8*)s)[0] ) ? \ | |
577 | ( ( 0x8F == ((U8*)s)[1] ) ? 2 : 0 ) \ | |
578 | : ( 0xE1 == ((U8*)s)[0] ) ? \ | |
579 | ( ( 0x85 == ((U8*)s)[1] ) ? \ | |
580 | ( ( 0x9F == ((U8*)s)[2] || 0xA0 == ((U8*)s)[2] ) ? 3 : 0 ) \ | |
581 | : ( 0x9A == ((U8*)s)[1] ) ? \ | |
582 | ( ( 0x80 == ((U8*)s)[2] ) ? 3 : 0 ) \ | |
583 | : ( 0x9E == ((U8*)s)[1] ) ? \ | |
2efb8143 | 584 | ( ( ( ((U8*)s)[2] & 0xFE ) == 0xB4 ) ? 3 : 0 ) \ |
6c4f0678 | 585 | : ( ( 0xA0 == ((U8*)s)[1] ) && ( 0x8B <= ((U8*)s)[2] && ((U8*)s)[2] <= 0x8E ) ) ? 3 : 0 )\ |
685289b5 KW |
586 | : ( 0xE2 == ((U8*)s)[0] ) ? \ |
587 | ( ( 0x80 == ((U8*)s)[1] ) ? \ | |
6e130234 | 588 | ( ( ((U8*)s)[2] <= 0xBE ) ? 3 : 0 ) \ |
685289b5 KW |
589 | : ( 0x81 == ((U8*)s)[1] ) ? \ |
590 | ( ( ( 0x81 <= ((U8*)s)[2] && ((U8*)s)[2] <= 0x93 ) || ( 0x95 <= ((U8*)s)[2] && ((U8*)s)[2] <= 0xAF ) ) ? 3 : 0 )\ | |
591 | : ( 0x86 == ((U8*)s)[1] ) ? \ | |
6e130234 | 592 | ( ( ((U8*)s)[2] >= 0x90 ) ? 3 : 0 ) \ |
9a3182e9 | 593 | : ( ( 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 | 594 | 3 \ |
685289b5 | 595 | : ( 0x91 == ((U8*)s)[1] ) ? \ |
6e130234 | 596 | ( ( ((U8*)s)[2] <= 0x9F ) ? 3 : 0 ) \ |
685289b5 | 597 | : ( 0x9D == ((U8*)s)[1] ) ? \ |
6e130234 | 598 | ( ( ((U8*)s)[2] <= 0xB5 ) ? 3 : 0 ) \ |
9a3182e9 | 599 | : ( ( 0x9E == ((U8*)s)[1] ) && ( ((U8*)s)[2] >= 0x94 ) ) ? 3 : 0 ) \ |
685289b5 KW |
600 | : ( 0xE3 == ((U8*)s)[0] ) ? \ |
601 | ( ( 0x80 == ((U8*)s)[1] ) ? \ | |
6e130234 | 602 | ( ( ( ((U8*)s)[2] <= 0x83 ) || ( 0x88 <= ((U8*)s)[2] && ((U8*)s)[2] <= 0xA0 ) || 0xB0 == ((U8*)s)[2] ) ? 3 : 0 )\ |
6c4f0678 | 603 | : ( ( 0x85 == ((U8*)s)[1] ) && ( 0xA4 == ((U8*)s)[2] ) ) ? 3 : 0 ) \ |
685289b5 KW |
604 | : ( 0xEF == ((U8*)s)[0] ) ? \ |
605 | ( ( 0xB4 == ((U8*)s)[1] ) ? \ | |
6e130234 | 606 | ( ( ((U8*)s)[2] >= 0xBE ) ? 3 : 0 ) \ |
685289b5 | 607 | : ( 0xB8 == ((U8*)s)[1] ) ? \ |
6e130234 | 608 | ( ( ((U8*)s)[2] <= 0x8F ) ? 3 : 0 ) \ |
685289b5 KW |
609 | : ( 0xB9 == ((U8*)s)[1] ) ? \ |
610 | ( ( 0x85 == ((U8*)s)[2] || 0x86 == ((U8*)s)[2] ) ? 3 : 0 ) \ | |
611 | : ( 0xBB == ((U8*)s)[1] ) ? \ | |
612 | ( ( 0xBF == ((U8*)s)[2] ) ? 3 : 0 ) \ | |
613 | : ( 0xBE == ((U8*)s)[1] ) ? \ | |
614 | ( ( 0xA0 == ((U8*)s)[2] ) ? 3 : 0 ) \ | |
6c4f0678 | 615 | : ( ( 0xBF == ((U8*)s)[1] ) && ( 0xB0 <= ((U8*)s)[2] && ((U8*)s)[2] <= 0xB8 ) ) ? 3 : 0 )\ |
685289b5 KW |
616 | : ( 0xF0 == ((U8*)s)[0] ) ? \ |
617 | ( ( ( ( 0x9D == ((U8*)s)[1] ) && ( 0x85 == ((U8*)s)[2] ) ) && ( 0xB3 <= ((U8*)s)[3] && ((U8*)s)[3] <= 0xBA ) ) ? 4 : 0 )\ | |
6c4f0678 | 618 | : ( ( 0xF3 == ((U8*)s)[0] ) && ( 0xA0 == ((U8*)s)[1] ) ) ? 4 : 0 ) |
685289b5 | 619 | |
8769f413 KW |
620 | /* |
621 | MULTI_CHAR_FOLD: multi-char strings that are folded to by a single character | |
622 | ||
623 | do regen/regcharclass_multi_char_folds.pl | |
624 | ®charclass_multi_char_folds::multi_char_folds(1) | |
625 | */ | |
626 | /*** GENERATED CODE ***/ | |
39a0f513 YO |
627 | #define is_MULTI_CHAR_FOLD_utf8_safe_part0(s,e) \ |
628 | ( ( 0x61 == ((U8*)s)[0] ) ? \ | |
8769f413 KW |
629 | ( ( ( 0xCA == ((U8*)s)[1] ) && ( 0xBE == ((U8*)s)[2] ) ) ? 3 : 0 ) \ |
630 | : ( 0x66 == ((U8*)s)[0] ) ? \ | |
631 | ( ( 0x66 == ((U8*)s)[1] ) ? \ | |
632 | ( ( 0x69 == ((U8*)s)[2] || 0x6C == ((U8*)s)[2] ) ? 3 : 2 ) \ | |
633 | : ( 0x69 == ((U8*)s)[1] || 0x6C == ((U8*)s)[1] ) ? 2 : 0 ) \ | |
634 | : ( 0x68 == ((U8*)s)[0] ) ? \ | |
635 | ( ( ( 0xCC == ((U8*)s)[1] ) && ( 0xB1 == ((U8*)s)[2] ) ) ? 3 : 0 ) \ | |
636 | : ( 0x69 == ((U8*)s)[0] ) ? \ | |
637 | ( ( ( 0xCC == ((U8*)s)[1] ) && ( 0x87 == ((U8*)s)[2] ) ) ? 3 : 0 ) \ | |
638 | : ( 0x6A == ((U8*)s)[0] ) ? \ | |
639 | ( ( ( 0xCC == ((U8*)s)[1] ) && ( 0x8C == ((U8*)s)[2] ) ) ? 3 : 0 ) \ | |
640 | : ( 0x73 == ((U8*)s)[0] ) ? \ | |
641 | ( ( 0x73 == ((U8*)s)[1] || 0x74 == ((U8*)s)[1] ) ? 2 : 0 ) \ | |
642 | : ( 0x74 == ((U8*)s)[0] ) ? \ | |
643 | ( ( ( 0xCC == ((U8*)s)[1] ) && ( 0x88 == ((U8*)s)[2] ) ) ? 3 : 0 ) \ | |
644 | : ( 0x77 == ((U8*)s)[0] || 0x79 == ((U8*)s)[0] ) ? \ | |
645 | ( ( ( 0xCC == ((U8*)s)[1] ) && ( 0x8A == ((U8*)s)[2] ) ) ? 3 : 0 ) \ | |
646 | : ( 0xCA == ((U8*)s)[0] ) ? \ | |
647 | ( ( ( 0xBC == ((U8*)s)[1] ) && ( 0x6E == ((U8*)s)[2] ) ) ? 3 : 0 ) \ | |
648 | : ( 0xCE == ((U8*)s)[0] ) ? \ | |
649 | ( ( ( ((U8*)s)[1] & 0xFD ) == 0xAC ) ? \ | |
650 | ( ( ( 0xCE == ((U8*)s)[2] ) && ( 0xB9 == ((U8*)s)[3] ) ) ? 4 : 0 )\ | |
651 | : ( 0xB1 == ((U8*)s)[1] || 0xB7 == ((U8*)s)[1] ) ? \ | |
652 | ( ( 0xCD == ((U8*)s)[2] ) ? \ | |
39a0f513 | 653 | ( ( 0x82 == ((U8*)s)[3] ) ? 4 : 0 ) \ |
8769f413 | 654 | : ( ( 0xCE == ((U8*)s)[2] ) && ( 0xB9 == ((U8*)s)[3] ) ) ? 4 : 0 )\ |
39a0f513 | 655 | : ( ( ( 0xB9 == ((U8*)s)[1] ) && ( 0xCD == ((U8*)s)[2] ) ) && ( 0x82 == ((U8*)s)[3] ) ) ? 4 : 0 )\ |
8769f413 KW |
656 | : ( 0xCF == ((U8*)s)[0] ) ? \ |
657 | ( ( 0x81 == ((U8*)s)[1] ) ? \ | |
658 | ( ( ( 0xCC == ((U8*)s)[2] ) && ( 0x93 == ((U8*)s)[3] ) ) ? 4 : 0 )\ | |
659 | : ( 0x85 == ((U8*)s)[1] ) ? \ | |
660 | ( ( 0xCC == ((U8*)s)[2] ) ? \ | |
39a0f513 | 661 | ( ( 0x93 == ((U8*)s)[3] ) ? 4 : 0 ) \ |
8769f413 KW |
662 | : ( ( 0xCD == ((U8*)s)[2] ) && ( 0x82 == ((U8*)s)[3] ) ) ? 4 : 0 )\ |
663 | : ( 0x89 == ((U8*)s)[1] ) ? \ | |
664 | ( ( 0xCD == ((U8*)s)[2] ) ? \ | |
39a0f513 | 665 | ( ( 0x82 == ((U8*)s)[3] ) ? 4 : 0 ) \ |
8769f413 KW |
666 | : ( ( 0xCE == ((U8*)s)[2] ) && ( 0xB9 == ((U8*)s)[3] ) ) ? 4 : 0 )\ |
667 | : ( ( ( 0x8E == ((U8*)s)[1] ) && ( 0xCE == ((U8*)s)[2] ) ) && ( 0xB9 == ((U8*)s)[3] ) ) ? 4 : 0 )\ | |
668 | : ( 0xD5 == ((U8*)s)[0] ) ? \ | |
669 | ( ( 0xA5 == ((U8*)s)[1] ) ? \ | |
670 | ( ( ( 0xD6 == ((U8*)s)[2] ) && ( 0x82 == ((U8*)s)[3] ) ) ? 4 : 0 )\ | |
671 | : ( 0xB4 == ((U8*)s)[1] ) ? \ | |
75929b4b | 672 | ( ( ( 0xD5 == ((U8*)s)[2] ) && ( ( ( ((U8*)s)[3] & 0xF7 ) == 0xA5 ) || ((U8*)s)[3] == 0xAB || ((U8*)s)[3] == 0xB6 ) ) ? 4 : 0 )\ |
8769f413 KW |
673 | : ( ( ( 0xBE == ((U8*)s)[1] ) && ( 0xD5 == ((U8*)s)[2] ) ) && ( 0xB6 == ((U8*)s)[3] ) ) ? 4 : 0 )\ |
674 | : ( 0xE1 == ((U8*)s)[0] ) ? \ | |
675 | ( ( 0xBC == ((U8*)s)[1] ) ? \ | |
676 | ( ( ( ( ( ((U8*)s)[2] & 0xD8 ) == 0x80 ) && ( 0xCE == ((U8*)s)[3] ) ) && ( 0xB9 == ((U8*)s)[4] ) ) ? 5 : 0 )\ | |
122a2d8f | 677 | : ( ( ( ( 0xBD == ((U8*)s)[1] ) && ( ( ( ((U8*)s)[2] & 0xF8 ) == 0xA0 ) || ( ( ((U8*)s)[2] & 0xFB ) == 0xB0 ) || ((U8*)s)[2] == 0xBC ) ) && ( 0xCE == ((U8*)s)[3] ) ) && ( 0xB9 == ((U8*)s)[4] ) ) ? 5 : 0 )\ |
39a0f513 YO |
678 | : 0 ) |
679 | ||
680 | ||
681 | /*** GENERATED CODE ***/ | |
682 | #define is_MULTI_CHAR_FOLD_utf8_safe_part1(s,e) \ | |
683 | ( ((e)-(s) > 3) ? \ | |
8769f413 KW |
684 | ( ( 0x61 == ((U8*)s)[0] ) ? \ |
685 | ( ( ( 0xCA == ((U8*)s)[1] ) && ( 0xBE == ((U8*)s)[2] ) ) ? 3 : 0 ) \ | |
686 | : ( 0x66 == ((U8*)s)[0] ) ? \ | |
687 | ( ( 0x66 == ((U8*)s)[1] ) ? \ | |
688 | ( ( 0x69 == ((U8*)s)[2] || 0x6C == ((U8*)s)[2] ) ? 3 : 2 ) \ | |
689 | : ( 0x69 == ((U8*)s)[1] || 0x6C == ((U8*)s)[1] ) ? 2 : 0 ) \ | |
690 | : ( 0x68 == ((U8*)s)[0] ) ? \ | |
691 | ( ( ( 0xCC == ((U8*)s)[1] ) && ( 0xB1 == ((U8*)s)[2] ) ) ? 3 : 0 ) \ | |
692 | : ( 0x69 == ((U8*)s)[0] ) ? \ | |
693 | ( ( ( 0xCC == ((U8*)s)[1] ) && ( 0x87 == ((U8*)s)[2] ) ) ? 3 : 0 ) \ | |
694 | : ( 0x6A == ((U8*)s)[0] ) ? \ | |
695 | ( ( ( 0xCC == ((U8*)s)[1] ) && ( 0x8C == ((U8*)s)[2] ) ) ? 3 : 0 ) \ | |
696 | : ( 0x73 == ((U8*)s)[0] ) ? \ | |
697 | ( ( 0x73 == ((U8*)s)[1] || 0x74 == ((U8*)s)[1] ) ? 2 : 0 ) \ | |
698 | : ( 0x74 == ((U8*)s)[0] ) ? \ | |
699 | ( ( ( 0xCC == ((U8*)s)[1] ) && ( 0x88 == ((U8*)s)[2] ) ) ? 3 : 0 ) \ | |
700 | : ( 0x77 == ((U8*)s)[0] || 0x79 == ((U8*)s)[0] ) ? \ | |
701 | ( ( ( 0xCC == ((U8*)s)[1] ) && ( 0x8A == ((U8*)s)[2] ) ) ? 3 : 0 ) \ | |
702 | : ( 0xCA == ((U8*)s)[0] ) ? \ | |
703 | ( ( ( 0xBC == ((U8*)s)[1] ) && ( 0x6E == ((U8*)s)[2] ) ) ? 3 : 0 ) \ | |
704 | : ( 0xCE == ((U8*)s)[0] ) ? \ | |
705 | ( ( ( ((U8*)s)[1] & 0xFD ) == 0xAC ) ? \ | |
706 | ( ( ( 0xCE == ((U8*)s)[2] ) && ( 0xB9 == ((U8*)s)[3] ) ) ? 4 : 0 )\ | |
707 | : ( 0xB1 == ((U8*)s)[1] || 0xB7 == ((U8*)s)[1] ) ? \ | |
708 | ( ( 0xCD == ((U8*)s)[2] ) ? \ | |
709 | ( ( 0x82 == ((U8*)s)[3] ) ? 4 : 0 ) \ | |
710 | : ( ( 0xCE == ((U8*)s)[2] ) && ( 0xB9 == ((U8*)s)[3] ) ) ? 4 : 0 )\ | |
711 | : ( ( ( 0xB9 == ((U8*)s)[1] ) && ( 0xCD == ((U8*)s)[2] ) ) && ( 0x82 == ((U8*)s)[3] ) ) ? 4 : 0 )\ | |
712 | : ( 0xCF == ((U8*)s)[0] ) ? \ | |
713 | ( ( 0x81 == ((U8*)s)[1] ) ? \ | |
714 | ( ( ( 0xCC == ((U8*)s)[2] ) && ( 0x93 == ((U8*)s)[3] ) ) ? 4 : 0 )\ | |
715 | : ( 0x85 == ((U8*)s)[1] ) ? \ | |
716 | ( ( 0xCC == ((U8*)s)[2] ) ? \ | |
717 | ( ( 0x93 == ((U8*)s)[3] ) ? 4 : 0 ) \ | |
718 | : ( ( 0xCD == ((U8*)s)[2] ) && ( 0x82 == ((U8*)s)[3] ) ) ? 4 : 0 )\ | |
719 | : ( 0x89 == ((U8*)s)[1] ) ? \ | |
720 | ( ( 0xCD == ((U8*)s)[2] ) ? \ | |
721 | ( ( 0x82 == ((U8*)s)[3] ) ? 4 : 0 ) \ | |
722 | : ( ( 0xCE == ((U8*)s)[2] ) && ( 0xB9 == ((U8*)s)[3] ) ) ? 4 : 0 )\ | |
723 | : ( ( ( 0x8E == ((U8*)s)[1] ) && ( 0xCE == ((U8*)s)[2] ) ) && ( 0xB9 == ((U8*)s)[3] ) ) ? 4 : 0 )\ | |
724 | : ( 0xD5 == ((U8*)s)[0] ) ? \ | |
725 | ( ( 0xA5 == ((U8*)s)[1] ) ? \ | |
726 | ( ( ( 0xD6 == ((U8*)s)[2] ) && ( 0x82 == ((U8*)s)[3] ) ) ? 4 : 0 )\ | |
727 | : ( 0xB4 == ((U8*)s)[1] ) ? \ | |
75929b4b | 728 | ( ( ( 0xD5 == ((U8*)s)[2] ) && ( ( ( ((U8*)s)[3] & 0xF7 ) == 0xA5 ) || ((U8*)s)[3] == 0xAB || ((U8*)s)[3] == 0xB6 ) ) ? 4 : 0 )\ |
8769f413 | 729 | : ( ( ( 0xBE == ((U8*)s)[1] ) && ( 0xD5 == ((U8*)s)[2] ) ) && ( 0xB6 == ((U8*)s)[3] ) ) ? 4 : 0 )\ |
8769f413 | 730 | : 0 ) \ |
39a0f513 YO |
731 | : ((e)-(s) > 2) ? \ |
732 | ( ( 0x61 == ((U8*)s)[0] ) ? \ | |
733 | ( ( ( 0xCA == ((U8*)s)[1] ) && ( 0xBE == ((U8*)s)[2] ) ) ? 3 : 0 ) \ | |
734 | : ( 0x66 == ((U8*)s)[0] ) ? \ | |
735 | ( ( 0x66 == ((U8*)s)[1] ) ? \ | |
736 | ( ( 0x69 == ((U8*)s)[2] || 0x6C == ((U8*)s)[2] ) ? 3 : 2 ) \ | |
737 | : ( 0x69 == ((U8*)s)[1] || 0x6C == ((U8*)s)[1] ) ? 2 : 0 ) \ | |
738 | : ( 0x68 == ((U8*)s)[0] ) ? \ | |
739 | ( ( ( 0xCC == ((U8*)s)[1] ) && ( 0xB1 == ((U8*)s)[2] ) ) ? 3 : 0 ) \ | |
740 | : ( 0x69 == ((U8*)s)[0] ) ? \ | |
741 | ( ( ( 0xCC == ((U8*)s)[1] ) && ( 0x87 == ((U8*)s)[2] ) ) ? 3 : 0 ) \ | |
742 | : ( 0x6A == ((U8*)s)[0] ) ? \ | |
743 | ( ( ( 0xCC == ((U8*)s)[1] ) && ( 0x8C == ((U8*)s)[2] ) ) ? 3 : 0 ) \ | |
744 | : ( 0x73 == ((U8*)s)[0] ) ? \ | |
745 | ( ( 0x73 == ((U8*)s)[1] || 0x74 == ((U8*)s)[1] ) ? 2 : 0 ) \ | |
746 | : ( 0x74 == ((U8*)s)[0] ) ? \ | |
747 | ( ( ( 0xCC == ((U8*)s)[1] ) && ( 0x88 == ((U8*)s)[2] ) ) ? 3 : 0 ) \ | |
748 | : ( 0x77 == ((U8*)s)[0] || 0x79 == ((U8*)s)[0] ) ? \ | |
749 | ( ( ( 0xCC == ((U8*)s)[1] ) && ( 0x8A == ((U8*)s)[2] ) ) ? 3 : 0 ) \ | |
750 | : ( ( ( 0xCA == ((U8*)s)[0] ) && ( 0xBC == ((U8*)s)[1] ) ) && ( 0x6E == ((U8*)s)[2] ) ) ? 3 : 0 )\ | |
751 | : ((e)-(s) > 1) ? \ | |
752 | ( ( 0x66 == ((U8*)s)[0] ) ? \ | |
753 | ( ( 0x66 == ((U8*)s)[1] || 0x69 == ((U8*)s)[1] || 0x6C == ((U8*)s)[1] ) ? 2 : 0 )\ | |
754 | : ( ( 0x73 == ((U8*)s)[0] ) && ( 0x73 == ((U8*)s)[1] || 0x74 == ((U8*)s)[1] ) ) ? 2 : 0 )\ | |
755 | : 0 ) | |
756 | ||
757 | ||
758 | /*** GENERATED CODE ***/ | |
759 | #define is_MULTI_CHAR_FOLD_utf8_safe(s,e) \ | |
760 | ( ((e)-(s) > 5) ? \ | |
8769f413 KW |
761 | ( ( 0x61 == ((U8*)s)[0] ) ? \ |
762 | ( ( ( 0xCA == ((U8*)s)[1] ) && ( 0xBE == ((U8*)s)[2] ) ) ? 3 : 0 ) \ | |
763 | : ( 0x66 == ((U8*)s)[0] ) ? \ | |
764 | ( ( 0x66 == ((U8*)s)[1] ) ? \ | |
765 | ( ( 0x69 == ((U8*)s)[2] || 0x6C == ((U8*)s)[2] ) ? 3 : 2 ) \ | |
766 | : ( 0x69 == ((U8*)s)[1] || 0x6C == ((U8*)s)[1] ) ? 2 : 0 ) \ | |
767 | : ( 0x68 == ((U8*)s)[0] ) ? \ | |
768 | ( ( ( 0xCC == ((U8*)s)[1] ) && ( 0xB1 == ((U8*)s)[2] ) ) ? 3 : 0 ) \ | |
769 | : ( 0x69 == ((U8*)s)[0] ) ? \ | |
770 | ( ( ( 0xCC == ((U8*)s)[1] ) && ( 0x87 == ((U8*)s)[2] ) ) ? 3 : 0 ) \ | |
771 | : ( 0x6A == ((U8*)s)[0] ) ? \ | |
772 | ( ( ( 0xCC == ((U8*)s)[1] ) && ( 0x8C == ((U8*)s)[2] ) ) ? 3 : 0 ) \ | |
773 | : ( 0x73 == ((U8*)s)[0] ) ? \ | |
774 | ( ( 0x73 == ((U8*)s)[1] || 0x74 == ((U8*)s)[1] ) ? 2 : 0 ) \ | |
775 | : ( 0x74 == ((U8*)s)[0] ) ? \ | |
776 | ( ( ( 0xCC == ((U8*)s)[1] ) && ( 0x88 == ((U8*)s)[2] ) ) ? 3 : 0 ) \ | |
777 | : ( 0x77 == ((U8*)s)[0] || 0x79 == ((U8*)s)[0] ) ? \ | |
778 | ( ( ( 0xCC == ((U8*)s)[1] ) && ( 0x8A == ((U8*)s)[2] ) ) ? 3 : 0 ) \ | |
779 | : ( 0xCA == ((U8*)s)[0] ) ? \ | |
780 | ( ( ( 0xBC == ((U8*)s)[1] ) && ( 0x6E == ((U8*)s)[2] ) ) ? 3 : 0 ) \ | |
781 | : ( 0xCE == ((U8*)s)[0] ) ? \ | |
782 | ( ( ( ((U8*)s)[1] & 0xFD ) == 0xAC ) ? \ | |
783 | ( ( ( 0xCE == ((U8*)s)[2] ) && ( 0xB9 == ((U8*)s)[3] ) ) ? 4 : 0 )\ | |
784 | : ( 0xB1 == ((U8*)s)[1] || 0xB7 == ((U8*)s)[1] ) ? \ | |
785 | ( ( 0xCD == ((U8*)s)[2] ) ? \ | |
39a0f513 YO |
786 | ( ( 0x82 == ((U8*)s)[3] ) ? \ |
787 | ( ( ( 0xCE == ((U8*)s)[4] ) && ( 0xB9 == ((U8*)s)[5] ) ) ? 6 : 4 )\ | |
788 | : 0 ) \ | |
8769f413 | 789 | : ( ( 0xCE == ((U8*)s)[2] ) && ( 0xB9 == ((U8*)s)[3] ) ) ? 4 : 0 )\ |
39a0f513 YO |
790 | : ( 0xB9 == ((U8*)s)[1] ) ? \ |
791 | ( ( 0xCC == ((U8*)s)[2] ) ? \ | |
792 | ( ( 0x88 == ((U8*)s)[3] ) ? \ | |
793 | ( ( 0xCC == ((U8*)s)[4] ) ? \ | |
794 | ( ( ( ((U8*)s)[5] & 0xFE ) == 0x80 ) ? 6 : 0 ) \ | |
795 | : ( ( 0xCD == ((U8*)s)[4] ) && ( 0x82 == ((U8*)s)[5] ) ) ? 6 : 0 )\ | |
796 | : 0 ) \ | |
797 | : ( ( 0xCD == ((U8*)s)[2] ) && ( 0x82 == ((U8*)s)[3] ) ) ? 4 : 0 )\ | |
798 | : 0 ) \ | |
8769f413 KW |
799 | : ( 0xCF == ((U8*)s)[0] ) ? \ |
800 | ( ( 0x81 == ((U8*)s)[1] ) ? \ | |
801 | ( ( ( 0xCC == ((U8*)s)[2] ) && ( 0x93 == ((U8*)s)[3] ) ) ? 4 : 0 )\ | |
802 | : ( 0x85 == ((U8*)s)[1] ) ? \ | |
803 | ( ( 0xCC == ((U8*)s)[2] ) ? \ | |
39a0f513 YO |
804 | ( ( 0x88 == ((U8*)s)[3] ) ? \ |
805 | ( ( 0xCC == ((U8*)s)[4] ) ? \ | |
806 | ( ( ( ((U8*)s)[5] & 0xFE ) == 0x80 ) ? 6 : 0 ) \ | |
807 | : ( ( 0xCD == ((U8*)s)[4] ) && ( 0x82 == ((U8*)s)[5] ) ) ? 6 : 0 )\ | |
808 | : ( 0x93 == ((U8*)s)[3] ) ? \ | |
809 | ( ( 0xCC == ((U8*)s)[4] ) ? \ | |
810 | ( ( ( ((U8*)s)[5] & 0xFE ) == 0x80 ) ? 6 : 4 ) \ | |
811 | : ( ( 0xCD == ((U8*)s)[4] ) && ( 0x82 == ((U8*)s)[5] ) ) ? 6 : 4 )\ | |
812 | : 0 ) \ | |
8769f413 KW |
813 | : ( ( 0xCD == ((U8*)s)[2] ) && ( 0x82 == ((U8*)s)[3] ) ) ? 4 : 0 )\ |
814 | : ( 0x89 == ((U8*)s)[1] ) ? \ | |
815 | ( ( 0xCD == ((U8*)s)[2] ) ? \ | |
39a0f513 YO |
816 | ( ( 0x82 == ((U8*)s)[3] ) ? \ |
817 | ( ( ( 0xCE == ((U8*)s)[4] ) && ( 0xB9 == ((U8*)s)[5] ) ) ? 6 : 4 )\ | |
818 | : 0 ) \ | |
8769f413 KW |
819 | : ( ( 0xCE == ((U8*)s)[2] ) && ( 0xB9 == ((U8*)s)[3] ) ) ? 4 : 0 )\ |
820 | : ( ( ( 0x8E == ((U8*)s)[1] ) && ( 0xCE == ((U8*)s)[2] ) ) && ( 0xB9 == ((U8*)s)[3] ) ) ? 4 : 0 )\ | |
821 | : ( 0xD5 == ((U8*)s)[0] ) ? \ | |
822 | ( ( 0xA5 == ((U8*)s)[1] ) ? \ | |
823 | ( ( ( 0xD6 == ((U8*)s)[2] ) && ( 0x82 == ((U8*)s)[3] ) ) ? 4 : 0 )\ | |
824 | : ( 0xB4 == ((U8*)s)[1] ) ? \ | |
75929b4b | 825 | ( ( ( 0xD5 == ((U8*)s)[2] ) && ( ( ( ((U8*)s)[3] & 0xF7 ) == 0xA5 ) || ((U8*)s)[3] == 0xAB || ((U8*)s)[3] == 0xB6 ) ) ? 4 : 0 )\ |
8769f413 | 826 | : ( ( ( 0xBE == ((U8*)s)[1] ) && ( 0xD5 == ((U8*)s)[2] ) ) && ( 0xB6 == ((U8*)s)[3] ) ) ? 4 : 0 )\ |
39a0f513 YO |
827 | : ( 0xE1 == ((U8*)s)[0] ) ? \ |
828 | ( ( 0xBC == ((U8*)s)[1] ) ? \ | |
829 | ( ( ( ( ( ((U8*)s)[2] & 0xD8 ) == 0x80 ) && ( 0xCE == ((U8*)s)[3] ) ) && ( 0xB9 == ((U8*)s)[4] ) ) ? 5 : 0 )\ | |
830 | : ( ( ( ( 0xBD == ((U8*)s)[1] ) && ( ( ( ((U8*)s)[2] & 0xF8 ) == 0xA0 ) || ( ( ((U8*)s)[2] & 0xFB ) == 0xB0 ) || ((U8*)s)[2] == 0xBC ) ) && ( 0xCE == ((U8*)s)[3] ) ) && ( 0xB9 == ((U8*)s)[4] ) ) ? 5 : 0 )\ | |
8769f413 | 831 | : 0 ) \ |
39a0f513 | 832 | : ((e)-(s) > 4) ? is_MULTI_CHAR_FOLD_utf8_safe_part0(s,e) : is_MULTI_CHAR_FOLD_utf8_safe_part1(s,e) ) |
8769f413 KW |
833 | |
834 | /* | |
40b1ba4f | 835 | MULTI_CHAR_FOLD: multi-char strings that are folded to by a single character |
8769f413 KW |
836 | |
837 | ®charclass_multi_char_folds::multi_char_folds(0) | |
838 | */ | |
839 | /*** GENERATED CODE ***/ | |
40b1ba4f | 840 | #define is_MULTI_CHAR_FOLD_latin1_safe(s,e) \ |
8769f413 KW |
841 | ( ((e)-(s) > 2) ? \ |
842 | ( ( ( ((U8*)s)[0] & 0xDF ) == 0x46 ) ? \ | |
843 | ( ( ( ((U8*)s)[1] & 0xDF ) == 0x46 ) ? \ | |
75929b4b KW |
844 | ( ( ( ( ((U8*)s)[2] & 0xDF ) == 0x49 ) || ( ( ((U8*)s)[2] & 0xDF ) == 0x4C ) ) ? 3 : 2 )\ |
845 | : ( ( ( ((U8*)s)[1] & 0xDF ) == 0x49 ) || ( ( ((U8*)s)[1] & 0xDF ) == 0x4C ) ) ? 2 : 0 )\ | |
846 | : ( ( ( ((U8*)s)[0] & 0xDF ) == 0x53 ) && ( ( ( ((U8*)s)[1] & 0xDF ) == 0x53 ) || ( ( ((U8*)s)[1] & 0xDF ) == 0x54 ) ) ) ? 2 : 0 )\ | |
8769f413 KW |
847 | : ((e)-(s) > 1) ? \ |
848 | ( ( ( ((U8*)s)[0] & 0xDF ) == 0x46 ) ? \ | |
75929b4b KW |
849 | ( ( ( ( ((U8*)s)[1] & 0xDF ) == 0x46 ) || ( ( ((U8*)s)[1] & 0xDF ) == 0x49 ) || ( ( ((U8*)s)[1] & 0xDF ) == 0x4C ) ) ? 2 : 0 )\ |
850 | : ( ( ( ((U8*)s)[0] & 0xDF ) == 0x53 ) && ( ( ( ((U8*)s)[1] & 0xDF ) == 0x53 ) || ( ( ((U8*)s)[1] & 0xDF ) == 0x54 ) ) ) ? 2 : 0 )\ | |
8769f413 KW |
851 | : 0 ) |
852 | ||
0b50d62a KW |
853 | /* |
854 | PATWS: pattern white space | |
855 | ||
856 | \p{PatWS} | |
857 | */ | |
858 | /*** GENERATED CODE ***/ | |
859 | #define is_PATWS(s,is_utf8) \ | |
860 | ( ( ( 0x09 <= ((U8*)s)[0] && ((U8*)s)[0] <= 0x0D ) || 0x20 == ((U8*)s)[0] ) ? 1\ | |
861 | : ( is_utf8 ) ? \ | |
862 | ( ( 0xC2 == ((U8*)s)[0] ) ? \ | |
863 | ( ( 0x85 == ((U8*)s)[1] ) ? 2 : 0 ) \ | |
864 | : ( ( ( 0xE2 == ((U8*)s)[0] ) && ( 0x80 == ((U8*)s)[1] ) ) && ( ( ((U8*)s)[2] & 0xFE ) == 0x8E || ( ((U8*)s)[2] & 0xFE ) == 0xA8 ) ) ? 3 : 0 )\ | |
865 | : ( 0x85 == ((U8*)s)[0] ) ) | |
866 | ||
867 | /*** GENERATED CODE ***/ | |
868 | #define is_PATWS_safe(s,e,is_utf8) \ | |
869 | ( ((e)-(s) > 2) ? \ | |
870 | ( ( ( 0x09 <= ((U8*)s)[0] && ((U8*)s)[0] <= 0x0D ) || 0x20 == ((U8*)s)[0] ) ? 1\ | |
871 | : ( is_utf8 ) ? \ | |
872 | ( ( 0xC2 == ((U8*)s)[0] ) ? \ | |
873 | ( ( 0x85 == ((U8*)s)[1] ) ? 2 : 0 ) \ | |
874 | : ( ( ( 0xE2 == ((U8*)s)[0] ) && ( 0x80 == ((U8*)s)[1] ) ) && ( ( ((U8*)s)[2] & 0xFE ) == 0x8E || ( ((U8*)s)[2] & 0xFE ) == 0xA8 ) ) ? 3 : 0 )\ | |
875 | : ( 0x85 == ((U8*)s)[0] ) ) \ | |
876 | : ((e)-(s) > 1) ? \ | |
877 | ( ( ( 0x09 <= ((U8*)s)[0] && ((U8*)s)[0] <= 0x0D ) || 0x20 == ((U8*)s)[0] ) ? 1\ | |
878 | : ( is_utf8 ) ? \ | |
879 | ( ( ( 0xC2 == ((U8*)s)[0] ) && ( 0x85 == ((U8*)s)[1] ) ) ? 2 : 0 ) \ | |
880 | : ( 0x85 == ((U8*)s)[0] ) ) \ | |
881 | : ((e)-(s) > 0) ? \ | |
882 | ( ( ( 0x09 <= ((U8*)s)[0] && ((U8*)s)[0] <= 0x0D ) || 0x20 == ((U8*)s)[0] ) ? 1\ | |
883 | : ( !( is_utf8 ) ) ? \ | |
884 | ( 0x85 == ((U8*)s)[0] ) \ | |
885 | : 0 ) \ | |
886 | : 0 ) | |
887 | ||
888 | /*** GENERATED CODE ***/ | |
889 | #define is_PATWS_cp(cp) \ | |
890 | ( ( 0x09 <= cp && cp <= 0x0D ) || ( 0x0D < cp && \ | |
891 | ( 0x20 == cp || ( 0x20 < cp && \ | |
892 | ( 0x85 == cp || ( 0x85 < cp && \ | |
893 | ( 0x200E == cp || ( 0x200E < cp && \ | |
894 | ( 0x200F == cp || ( 0x200F < cp && \ | |
895 | ( 0x2028 == cp || 0x2029 == cp ) ) ) ) ) ) ) ) ) ) ) | |
896 | ||
8770da0e | 897 | |
d10c72f2 KW |
898 | #endif /* H_REGCHARCLASS */ |
899 | ||
58fbde93 | 900 | /* ex: set ro: */ |