This is a live mirror of the Perl 5 development currently hosted at https://github.com/perl/perl5
Unicode/UCD.t: Fix broken test
[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 12 * Any changes made here will be lost!
212b6c86
KW
13 * WARNING: These macros are for internal Perl core use only, and may be
14 * changed or removed without notice.
58fbde93 15 */
12b72891 16
d10c72f2
KW
17
18#ifndef H_REGCHARCLASS /* Guard against nested #includes */
19#define H_REGCHARCLASS 1
20
12b72891
RGS
21/*
22 LNBREAK: Line Break: \R
23
58fbde93 24 "\x0D\x0A" # CRLF - Network (Windows) line ending
05b688d9 25 \p{VertSpace}
12b72891
RGS
26*/
27/*** GENERATED CODE ***/
28#define is_LNBREAK(s,is_utf8) \
c4c8e615
KW
29( ( 0x0A <= NATIVE_TO_LATIN1(((U8*)s)[0]) && NATIVE_TO_LATIN1(((U8*)s)[0]) <= 0x0C ) ? 1\
30: ( 0x0D == NATIVE_TO_LATIN1(((U8*)s)[0]) ) ? \
31 ( ( 0x0A == NATIVE_TO_LATIN1(((U8*)s)[1]) ) ? 2 : 1 ) \
e64b1bd1 32: ( is_utf8 ) ? \
c4c8e615
KW
33 ( ( 0xC2 == NATIVE_TO_LATIN1(((U8*)s)[0]) ) ? \
34 ( ( 0x85 == NATIVE_TO_LATIN1(((U8*)s)[1]) ) ? 2 : 0 ) \
35 : ( ( ( 0xE2 == NATIVE_TO_LATIN1(((U8*)s)[0]) ) && ( 0x80 == NATIVE_TO_LATIN1(((U8*)s)[1]) ) ) && ( ( NATIVE_TO_LATIN1(((U8*)s)[2]) & 0xFE ) == 0xA8 ) ) ? 3 : 0 )\
36: ( 0x85 == NATIVE_TO_LATIN1(((U8*)s)[0]) ) )
e1d1eefb 37
12b72891
RGS
38/*** GENERATED CODE ***/
39#define is_LNBREAK_safe(s,e,is_utf8) \
e64b1bd1 40( ((e)-(s) > 2) ? \
c4c8e615
KW
41 ( ( 0x0A <= NATIVE_TO_LATIN1(((U8*)s)[0]) && NATIVE_TO_LATIN1(((U8*)s)[0]) <= 0x0C ) ? 1\
42 : ( 0x0D == NATIVE_TO_LATIN1(((U8*)s)[0]) ) ? \
43 ( ( 0x0A == NATIVE_TO_LATIN1(((U8*)s)[1]) ) ? 2 : 1 ) \
e64b1bd1 44 : ( is_utf8 ) ? \
c4c8e615
KW
45 ( ( 0xC2 == NATIVE_TO_LATIN1(((U8*)s)[0]) ) ? \
46 ( ( 0x85 == NATIVE_TO_LATIN1(((U8*)s)[1]) ) ? 2 : 0 ) \
47 : ( ( ( 0xE2 == NATIVE_TO_LATIN1(((U8*)s)[0]) ) && ( 0x80 == NATIVE_TO_LATIN1(((U8*)s)[1]) ) ) && ( ( NATIVE_TO_LATIN1(((U8*)s)[2]) & 0xFE ) == 0xA8 ) ) ? 3 : 0 )\
48 : ( 0x85 == NATIVE_TO_LATIN1(((U8*)s)[0]) ) ) \
e64b1bd1 49: ((e)-(s) > 1) ? \
c4c8e615
KW
50 ( ( 0x0A <= NATIVE_TO_LATIN1(((U8*)s)[0]) && NATIVE_TO_LATIN1(((U8*)s)[0]) <= 0x0C ) ? 1\
51 : ( 0x0D == NATIVE_TO_LATIN1(((U8*)s)[0]) ) ? \
52 ( ( 0x0A == NATIVE_TO_LATIN1(((U8*)s)[1]) ) ? 2 : 1 ) \
e64b1bd1 53 : ( is_utf8 ) ? \
c4c8e615
KW
54 ( ( ( 0xC2 == NATIVE_TO_LATIN1(((U8*)s)[0]) ) && ( 0x85 == NATIVE_TO_LATIN1(((U8*)s)[1]) ) ) ? 2 : 0 )\
55 : ( 0x85 == NATIVE_TO_LATIN1(((U8*)s)[0]) ) ) \
e64b1bd1 56: ((e)-(s) > 0) ? \
c4c8e615 57 ( ( 0x0A <= NATIVE_TO_LATIN1(((U8*)s)[0]) && NATIVE_TO_LATIN1(((U8*)s)[0]) <= 0x0D ) ? 1\
e64b1bd1 58 : ( !( is_utf8 ) ) ? \
c4c8e615 59 ( 0x85 == NATIVE_TO_LATIN1(((U8*)s)[0]) ) \
e64b1bd1
YO
60 : 0 ) \
61: 0 )
e1d1eefb 62
12b72891
RGS
63/*** GENERATED CODE ***/
64#define is_LNBREAK_utf8(s) \
c4c8e615
KW
65( ( 0x0A <= NATIVE_TO_LATIN1(((U8*)s)[0]) && NATIVE_TO_LATIN1(((U8*)s)[0]) <= 0x0C ) ? 1\
66: ( 0x0D == NATIVE_TO_LATIN1(((U8*)s)[0]) ) ? \
67 ( ( 0x0A == NATIVE_TO_LATIN1(((U8*)s)[1]) ) ? 2 : 1 ) \
68: ( 0xC2 == NATIVE_TO_LATIN1(((U8*)s)[0]) ) ? \
69 ( ( 0x85 == NATIVE_TO_LATIN1(((U8*)s)[1]) ) ? 2 : 0 ) \
70: ( ( ( 0xE2 == NATIVE_TO_LATIN1(((U8*)s)[0]) ) && ( 0x80 == NATIVE_TO_LATIN1(((U8*)s)[1]) ) ) && ( ( NATIVE_TO_LATIN1(((U8*)s)[2]) & 0xFE ) == 0xA8 ) ) ? 3 : 0 )
e1d1eefb 71
12b72891
RGS
72/*** GENERATED CODE ***/
73#define is_LNBREAK_utf8_safe(s,e) \
e64b1bd1 74( ((e)-(s) > 2) ? \
c4c8e615
KW
75 ( ( 0x0A <= NATIVE_TO_LATIN1(((U8*)s)[0]) && NATIVE_TO_LATIN1(((U8*)s)[0]) <= 0x0C ) ? 1\
76 : ( 0x0D == NATIVE_TO_LATIN1(((U8*)s)[0]) ) ? \
77 ( ( 0x0A == NATIVE_TO_LATIN1(((U8*)s)[1]) ) ? 2 : 1 ) \
78 : ( 0xC2 == NATIVE_TO_LATIN1(((U8*)s)[0]) ) ? \
79 ( ( 0x85 == NATIVE_TO_LATIN1(((U8*)s)[1]) ) ? 2 : 0 ) \
80 : ( ( ( 0xE2 == NATIVE_TO_LATIN1(((U8*)s)[0]) ) && ( 0x80 == NATIVE_TO_LATIN1(((U8*)s)[1]) ) ) && ( ( NATIVE_TO_LATIN1(((U8*)s)[2]) & 0xFE ) == 0xA8 ) ) ? 3 : 0 )\
e64b1bd1 81: ((e)-(s) > 1) ? \
c4c8e615
KW
82 ( ( 0x0A <= NATIVE_TO_LATIN1(((U8*)s)[0]) && NATIVE_TO_LATIN1(((U8*)s)[0]) <= 0x0C ) ? 1\
83 : ( 0x0D == NATIVE_TO_LATIN1(((U8*)s)[0]) ) ? \
84 ( ( 0x0A == NATIVE_TO_LATIN1(((U8*)s)[1]) ) ? 2 : 1 ) \
85 : ( ( 0xC2 == NATIVE_TO_LATIN1(((U8*)s)[0]) ) && ( 0x85 == NATIVE_TO_LATIN1(((U8*)s)[1]) ) ) ? 2 : 0 )\
e64b1bd1 86: ((e)-(s) > 0) ? \
c4c8e615 87 ( 0x0A <= NATIVE_TO_LATIN1(((U8*)s)[0]) && NATIVE_TO_LATIN1(((U8*)s)[0]) <= 0x0D )\
e64b1bd1 88: 0 )
e1d1eefb 89
12b72891
RGS
90/*** GENERATED CODE ***/
91#define is_LNBREAK_latin1(s) \
c4c8e615
KW
92( ( ( 0x0A <= NATIVE_TO_LATIN1(((U8*)s)[0]) && NATIVE_TO_LATIN1(((U8*)s)[0]) <= 0x0C ) || 0x85 == NATIVE_TO_LATIN1(((U8*)s)[0]) ) ? 1\
93: ( 0x0D == NATIVE_TO_LATIN1(((U8*)s)[0]) ) ? \
94 ( ( 0x0A == NATIVE_TO_LATIN1(((U8*)s)[1]) ) ? 2 : 1 ) \
9a3182e9 95: 0 )
e1d1eefb 96
12b72891
RGS
97/*** GENERATED CODE ***/
98#define is_LNBREAK_latin1_safe(s,e) \
e64b1bd1 99( ((e)-(s) > 1) ? \
c4c8e615
KW
100 ( ( ( 0x0A <= NATIVE_TO_LATIN1(((U8*)s)[0]) && NATIVE_TO_LATIN1(((U8*)s)[0]) <= 0x0C ) || 0x85 == NATIVE_TO_LATIN1(((U8*)s)[0]) ) ? 1\
101 : ( 0x0D == NATIVE_TO_LATIN1(((U8*)s)[0]) ) ? \
102 ( ( 0x0A == NATIVE_TO_LATIN1(((U8*)s)[1]) ) ? 2 : 1 ) \
9a3182e9 103 : 0 ) \
e64b1bd1 104: ((e)-(s) > 0) ? \
c4c8e615 105 ( ( 0x0A <= NATIVE_TO_LATIN1(((U8*)s)[0]) && NATIVE_TO_LATIN1(((U8*)s)[0]) <= 0x0D ) || 0x85 == NATIVE_TO_LATIN1(((U8*)s)[0]) )\
e64b1bd1 106: 0 )
12b72891
RGS
107
108/*
109 HORIZWS: Horizontal Whitespace: \h \H
110
05b688d9 111 \p{HorizSpace}
12b72891
RGS
112*/
113/*** GENERATED CODE ***/
114#define is_HORIZWS(s,is_utf8) \
c4c8e615 115( ( 0x09 == NATIVE_TO_LATIN1(((U8*)s)[0]) || 0x20 == NATIVE_TO_LATIN1(((U8*)s)[0]) ) ? 1\
e64b1bd1 116: ( is_utf8 ) ? \
c4c8e615
KW
117 ( ( 0xC2 == NATIVE_TO_LATIN1(((U8*)s)[0]) ) ? \
118 ( ( 0xA0 == NATIVE_TO_LATIN1(((U8*)s)[1]) ) ? 2 : 0 ) \
119 : ( 0xE1 == NATIVE_TO_LATIN1(((U8*)s)[0]) ) ? \
a9c9e371 120 ( ( ( 0x9A == NATIVE_TO_LATIN1(((U8*)s)[1]) ) && ( 0x80 == NATIVE_TO_LATIN1(((U8*)s)[2]) ) ) ? 3 : 0 )\
c4c8e615
KW
121 : ( 0xE2 == NATIVE_TO_LATIN1(((U8*)s)[0]) ) ? \
122 ( ( 0x80 == NATIVE_TO_LATIN1(((U8*)s)[1]) ) ? \
123 ( ( ( 0x80 <= NATIVE_TO_LATIN1(((U8*)s)[2]) && NATIVE_TO_LATIN1(((U8*)s)[2]) <= 0x8A ) || 0xAF == NATIVE_TO_LATIN1(((U8*)s)[2]) ) ? 3 : 0 )\
124 : ( ( 0x81 == NATIVE_TO_LATIN1(((U8*)s)[1]) ) && ( 0x9F == NATIVE_TO_LATIN1(((U8*)s)[2]) ) ) ? 3 : 0 )\
125 : ( ( ( 0xE3 == NATIVE_TO_LATIN1(((U8*)s)[0]) ) && ( 0x80 == NATIVE_TO_LATIN1(((U8*)s)[1]) ) ) && ( 0x80 == NATIVE_TO_LATIN1(((U8*)s)[2]) ) ) ? 3 : 0 )\
126: ( 0xA0 == NATIVE_TO_LATIN1(((U8*)s)[0]) ) )
e1d1eefb 127
12b72891
RGS
128/*** GENERATED CODE ***/
129#define is_HORIZWS_safe(s,e,is_utf8) \
e64b1bd1 130( ((e)-(s) > 2) ? \
c4c8e615 131 ( ( 0x09 == NATIVE_TO_LATIN1(((U8*)s)[0]) || 0x20 == NATIVE_TO_LATIN1(((U8*)s)[0]) ) ? 1\
e64b1bd1 132 : ( is_utf8 ) ? \
c4c8e615
KW
133 ( ( 0xC2 == NATIVE_TO_LATIN1(((U8*)s)[0]) ) ? \
134 ( ( 0xA0 == NATIVE_TO_LATIN1(((U8*)s)[1]) ) ? 2 : 0 ) \
135 : ( 0xE1 == NATIVE_TO_LATIN1(((U8*)s)[0]) ) ? \
a9c9e371 136 ( ( ( 0x9A == NATIVE_TO_LATIN1(((U8*)s)[1]) ) && ( 0x80 == NATIVE_TO_LATIN1(((U8*)s)[2]) ) ) ? 3 : 0 )\
c4c8e615
KW
137 : ( 0xE2 == NATIVE_TO_LATIN1(((U8*)s)[0]) ) ? \
138 ( ( 0x80 == NATIVE_TO_LATIN1(((U8*)s)[1]) ) ? \
139 ( ( ( 0x80 <= NATIVE_TO_LATIN1(((U8*)s)[2]) && NATIVE_TO_LATIN1(((U8*)s)[2]) <= 0x8A ) || 0xAF == NATIVE_TO_LATIN1(((U8*)s)[2]) ) ? 3 : 0 )\
140 : ( ( 0x81 == NATIVE_TO_LATIN1(((U8*)s)[1]) ) && ( 0x9F == NATIVE_TO_LATIN1(((U8*)s)[2]) ) ) ? 3 : 0 )\
141 : ( ( ( 0xE3 == NATIVE_TO_LATIN1(((U8*)s)[0]) ) && ( 0x80 == NATIVE_TO_LATIN1(((U8*)s)[1]) ) ) && ( 0x80 == NATIVE_TO_LATIN1(((U8*)s)[2]) ) ) ? 3 : 0 )\
142 : ( 0xA0 == NATIVE_TO_LATIN1(((U8*)s)[0]) ) ) \
e64b1bd1 143: ((e)-(s) > 1) ? \
c4c8e615 144 ( ( 0x09 == NATIVE_TO_LATIN1(((U8*)s)[0]) || 0x20 == NATIVE_TO_LATIN1(((U8*)s)[0]) ) ? 1\
e64b1bd1 145 : ( is_utf8 ) ? \
c4c8e615
KW
146 ( ( ( 0xC2 == NATIVE_TO_LATIN1(((U8*)s)[0]) ) && ( 0xA0 == NATIVE_TO_LATIN1(((U8*)s)[1]) ) ) ? 2 : 0 )\
147 : ( 0xA0 == NATIVE_TO_LATIN1(((U8*)s)[0]) ) ) \
e64b1bd1 148: ((e)-(s) > 0) ? \
c4c8e615 149 ( ( 0x09 == NATIVE_TO_LATIN1(((U8*)s)[0]) || 0x20 == NATIVE_TO_LATIN1(((U8*)s)[0]) ) ? 1\
e64b1bd1 150 : ( !( is_utf8 ) ) ? \
c4c8e615 151 ( 0xA0 == NATIVE_TO_LATIN1(((U8*)s)[0]) ) \
e64b1bd1
YO
152 : 0 ) \
153: 0 )
e1d1eefb 154
12b72891
RGS
155/*** GENERATED CODE ***/
156#define is_HORIZWS_utf8(s) \
c4c8e615
KW
157( ( 0x09 == NATIVE_TO_LATIN1(((U8*)s)[0]) || 0x20 == NATIVE_TO_LATIN1(((U8*)s)[0]) ) ? 1\
158: ( 0xC2 == NATIVE_TO_LATIN1(((U8*)s)[0]) ) ? \
159 ( ( 0xA0 == NATIVE_TO_LATIN1(((U8*)s)[1]) ) ? 2 : 0 ) \
160: ( 0xE1 == NATIVE_TO_LATIN1(((U8*)s)[0]) ) ? \
a9c9e371 161 ( ( ( 0x9A == NATIVE_TO_LATIN1(((U8*)s)[1]) ) && ( 0x80 == NATIVE_TO_LATIN1(((U8*)s)[2]) ) ) ? 3 : 0 )\
c4c8e615
KW
162: ( 0xE2 == NATIVE_TO_LATIN1(((U8*)s)[0]) ) ? \
163 ( ( 0x80 == NATIVE_TO_LATIN1(((U8*)s)[1]) ) ? \
164 ( ( ( NATIVE_TO_LATIN1(((U8*)s)[2]) <= 0x8A ) || 0xAF == NATIVE_TO_LATIN1(((U8*)s)[2]) ) ? 3 : 0 )\
165 : ( ( 0x81 == NATIVE_TO_LATIN1(((U8*)s)[1]) ) && ( 0x9F == NATIVE_TO_LATIN1(((U8*)s)[2]) ) ) ? 3 : 0 )\
166: ( ( ( 0xE3 == NATIVE_TO_LATIN1(((U8*)s)[0]) ) && ( 0x80 == NATIVE_TO_LATIN1(((U8*)s)[1]) ) ) && ( 0x80 == NATIVE_TO_LATIN1(((U8*)s)[2]) ) ) ? 3 : 0 )
e1d1eefb 167
12b72891
RGS
168/*** GENERATED CODE ***/
169#define is_HORIZWS_utf8_safe(s,e) \
e64b1bd1 170( ((e)-(s) > 2) ? \
c4c8e615
KW
171 ( ( 0x09 == NATIVE_TO_LATIN1(((U8*)s)[0]) || 0x20 == NATIVE_TO_LATIN1(((U8*)s)[0]) ) ? 1\
172 : ( 0xC2 == NATIVE_TO_LATIN1(((U8*)s)[0]) ) ? \
173 ( ( 0xA0 == NATIVE_TO_LATIN1(((U8*)s)[1]) ) ? 2 : 0 ) \
174 : ( 0xE1 == NATIVE_TO_LATIN1(((U8*)s)[0]) ) ? \
a9c9e371 175 ( ( ( 0x9A == NATIVE_TO_LATIN1(((U8*)s)[1]) ) && ( 0x80 == NATIVE_TO_LATIN1(((U8*)s)[2]) ) ) ? 3 : 0 )\
c4c8e615
KW
176 : ( 0xE2 == NATIVE_TO_LATIN1(((U8*)s)[0]) ) ? \
177 ( ( 0x80 == NATIVE_TO_LATIN1(((U8*)s)[1]) ) ? \
178 ( ( ( 0x80 <= NATIVE_TO_LATIN1(((U8*)s)[2]) && NATIVE_TO_LATIN1(((U8*)s)[2]) <= 0x8A ) || 0xAF == NATIVE_TO_LATIN1(((U8*)s)[2]) ) ? 3 : 0 )\
179 : ( ( 0x81 == NATIVE_TO_LATIN1(((U8*)s)[1]) ) && ( 0x9F == NATIVE_TO_LATIN1(((U8*)s)[2]) ) ) ? 3 : 0 )\
180 : ( ( ( 0xE3 == NATIVE_TO_LATIN1(((U8*)s)[0]) ) && ( 0x80 == NATIVE_TO_LATIN1(((U8*)s)[1]) ) ) && ( 0x80 == NATIVE_TO_LATIN1(((U8*)s)[2]) ) ) ? 3 : 0 )\
e64b1bd1 181: ((e)-(s) > 1) ? \
c4c8e615
KW
182 ( ( 0x09 == NATIVE_TO_LATIN1(((U8*)s)[0]) || 0x20 == NATIVE_TO_LATIN1(((U8*)s)[0]) ) ? 1\
183 : ( ( 0xC2 == NATIVE_TO_LATIN1(((U8*)s)[0]) ) && ( 0xA0 == NATIVE_TO_LATIN1(((U8*)s)[1]) ) ) ? 2 : 0 )\
e64b1bd1 184: ((e)-(s) > 0) ? \
c4c8e615 185 ( 0x09 == NATIVE_TO_LATIN1(((U8*)s)[0]) || 0x20 == NATIVE_TO_LATIN1(((U8*)s)[0]) )\
e64b1bd1 186: 0 )
e1d1eefb 187
12b72891
RGS
188/*** GENERATED CODE ***/
189#define is_HORIZWS_latin1(s) \
c4c8e615 190( NATIVE_TO_LATIN1(((U8*)s)[0]) == 0x09 || ( ( NATIVE_TO_LATIN1(((U8*)s)[0]) & 0x7F ) == 0x20 ) )
e1d1eefb 191
12b72891
RGS
192/*** GENERATED CODE ***/
193#define is_HORIZWS_latin1_safe(s,e) \
e64b1bd1 194( ((e)-(s) > 0) ? \
c4c8e615 195 ( NATIVE_TO_LATIN1(((U8*)s)[0]) == 0x09 || ( ( NATIVE_TO_LATIN1(((U8*)s)[0]) & 0x7F ) == 0x20 ) )\
e64b1bd1 196: 0 )
e1d1eefb 197
12b72891 198/*** GENERATED CODE ***/
2cafb56b 199#define is_HORIZWS_high(s) \
c4c8e615 200( ( 0xE1 == NATIVE_TO_LATIN1(((U8*)s)[0]) ) ? \
a9c9e371 201 ( ( ( 0x9A == NATIVE_TO_LATIN1(((U8*)s)[1]) ) && ( 0x80 == NATIVE_TO_LATIN1(((U8*)s)[2]) ) ) ? 3 : 0 )\
c4c8e615
KW
202: ( 0xE2 == NATIVE_TO_LATIN1(((U8*)s)[0]) ) ? \
203 ( ( 0x80 == NATIVE_TO_LATIN1(((U8*)s)[1]) ) ? \
204 ( ( ( NATIVE_TO_LATIN1(((U8*)s)[2]) <= 0x8A ) || 0xAF == NATIVE_TO_LATIN1(((U8*)s)[2]) ) ? 3 : 0 )\
205 : ( ( 0x81 == NATIVE_TO_LATIN1(((U8*)s)[1]) ) && ( 0x9F == NATIVE_TO_LATIN1(((U8*)s)[2]) ) ) ? 3 : 0 )\
206: ( ( ( 0xE3 == NATIVE_TO_LATIN1(((U8*)s)[0]) ) && ( 0x80 == NATIVE_TO_LATIN1(((U8*)s)[1]) ) ) && ( 0x80 == NATIVE_TO_LATIN1(((U8*)s)[2]) ) ) ? 3 : 0 )
2cafb56b
KW
207
208/*** GENERATED CODE ***/
209#define is_HORIZWS_high_safe(s,e) \
210( ((e)-(s) > 2) ? \
c4c8e615 211 ( ( 0xE1 == NATIVE_TO_LATIN1(((U8*)s)[0]) ) ? \
a9c9e371 212 ( ( ( 0x9A == NATIVE_TO_LATIN1(((U8*)s)[1]) ) && ( 0x80 == NATIVE_TO_LATIN1(((U8*)s)[2]) ) ) ? 3 : 0 )\
c4c8e615
KW
213 : ( 0xE2 == NATIVE_TO_LATIN1(((U8*)s)[0]) ) ? \
214 ( ( 0x80 == NATIVE_TO_LATIN1(((U8*)s)[1]) ) ? \
215 ( ( ( 0x80 <= NATIVE_TO_LATIN1(((U8*)s)[2]) && NATIVE_TO_LATIN1(((U8*)s)[2]) <= 0x8A ) || 0xAF == NATIVE_TO_LATIN1(((U8*)s)[2]) ) ? 3 : 0 )\
216 : ( ( 0x81 == NATIVE_TO_LATIN1(((U8*)s)[1]) ) && ( 0x9F == NATIVE_TO_LATIN1(((U8*)s)[2]) ) ) ? 3 : 0 )\
217 : ( ( ( 0xE3 == NATIVE_TO_LATIN1(((U8*)s)[0]) ) && ( 0x80 == NATIVE_TO_LATIN1(((U8*)s)[1]) ) ) && ( 0x80 == NATIVE_TO_LATIN1(((U8*)s)[2]) ) ) ? 3 : 0 )\
2cafb56b
KW
218: 0 )
219
220/*** GENERATED CODE ***/
12b72891 221#define is_HORIZWS_cp(cp) \
c4c8e615
KW
222( 0x09 == NATIVE_TO_UNI(cp) || ( 0x09 < NATIVE_TO_UNI(cp) && \
223( 0x20 == NATIVE_TO_UNI(cp) || ( 0x20 < NATIVE_TO_UNI(cp) && \
224( 0xA0 == NATIVE_TO_UNI(cp) || ( 0xA0 < NATIVE_TO_UNI(cp) && \
225( 0x1680 == NATIVE_TO_UNI(cp) || ( 0x1680 < NATIVE_TO_UNI(cp) && \
c4c8e615
KW
226( ( 0x2000 <= NATIVE_TO_UNI(cp) && NATIVE_TO_UNI(cp) <= 0x200A ) || ( 0x200A < NATIVE_TO_UNI(cp) &&\
227( 0x202F == NATIVE_TO_UNI(cp) || ( 0x202F < NATIVE_TO_UNI(cp) && \
a9c9e371 228( 0x205F == NATIVE_TO_UNI(cp) || 0x3000 == NATIVE_TO_UNI(cp) ) ) ) ) ) ) ) ) ) ) ) ) )
e1d1eefb 229
2cafb56b
KW
230/*** GENERATED CODE ***/
231#define is_HORIZWS_cp_high(cp) \
c4c8e615 232( 0x1680 == NATIVE_TO_UNI(cp) || ( 0x1680 < NATIVE_TO_UNI(cp) && \
c4c8e615
KW
233( ( 0x2000 <= NATIVE_TO_UNI(cp) && NATIVE_TO_UNI(cp) <= 0x200A ) || ( 0x200A < NATIVE_TO_UNI(cp) &&\
234( 0x202F == NATIVE_TO_UNI(cp) || ( 0x202F < NATIVE_TO_UNI(cp) && \
a9c9e371 235( 0x205F == NATIVE_TO_UNI(cp) || 0x3000 == NATIVE_TO_UNI(cp) ) ) ) ) ) ) )
2cafb56b 236
12b72891
RGS
237/*
238 VERTWS: Vertical Whitespace: \v \V
e1d1eefb 239
05b688d9 240 \p{VertSpace}
12b72891
RGS
241*/
242/*** GENERATED CODE ***/
243#define is_VERTWS(s,is_utf8) \
c4c8e615 244( ( 0x0A <= NATIVE_TO_LATIN1(((U8*)s)[0]) && NATIVE_TO_LATIN1(((U8*)s)[0]) <= 0x0D ) ? 1\
e64b1bd1 245: ( is_utf8 ) ? \
c4c8e615
KW
246 ( ( 0xC2 == NATIVE_TO_LATIN1(((U8*)s)[0]) ) ? \
247 ( ( 0x85 == NATIVE_TO_LATIN1(((U8*)s)[1]) ) ? 2 : 0 ) \
248 : ( ( ( 0xE2 == NATIVE_TO_LATIN1(((U8*)s)[0]) ) && ( 0x80 == NATIVE_TO_LATIN1(((U8*)s)[1]) ) ) && ( ( NATIVE_TO_LATIN1(((U8*)s)[2]) & 0xFE ) == 0xA8 ) ) ? 3 : 0 )\
249: ( 0x85 == NATIVE_TO_LATIN1(((U8*)s)[0]) ) )
e1d1eefb 250
12b72891
RGS
251/*** GENERATED CODE ***/
252#define is_VERTWS_safe(s,e,is_utf8) \
e64b1bd1 253( ((e)-(s) > 2) ? \
c4c8e615 254 ( ( 0x0A <= NATIVE_TO_LATIN1(((U8*)s)[0]) && NATIVE_TO_LATIN1(((U8*)s)[0]) <= 0x0D ) ? 1\
e64b1bd1 255 : ( is_utf8 ) ? \
c4c8e615
KW
256 ( ( 0xC2 == NATIVE_TO_LATIN1(((U8*)s)[0]) ) ? \
257 ( ( 0x85 == NATIVE_TO_LATIN1(((U8*)s)[1]) ) ? 2 : 0 ) \
258 : ( ( ( 0xE2 == NATIVE_TO_LATIN1(((U8*)s)[0]) ) && ( 0x80 == NATIVE_TO_LATIN1(((U8*)s)[1]) ) ) && ( ( NATIVE_TO_LATIN1(((U8*)s)[2]) & 0xFE ) == 0xA8 ) ) ? 3 : 0 )\
259 : ( 0x85 == NATIVE_TO_LATIN1(((U8*)s)[0]) ) ) \
e64b1bd1 260: ((e)-(s) > 1) ? \
c4c8e615 261 ( ( 0x0A <= NATIVE_TO_LATIN1(((U8*)s)[0]) && NATIVE_TO_LATIN1(((U8*)s)[0]) <= 0x0D ) ? 1\
e64b1bd1 262 : ( is_utf8 ) ? \
c4c8e615
KW
263 ( ( ( 0xC2 == NATIVE_TO_LATIN1(((U8*)s)[0]) ) && ( 0x85 == NATIVE_TO_LATIN1(((U8*)s)[1]) ) ) ? 2 : 0 )\
264 : ( 0x85 == NATIVE_TO_LATIN1(((U8*)s)[0]) ) ) \
e64b1bd1 265: ((e)-(s) > 0) ? \
c4c8e615 266 ( ( 0x0A <= NATIVE_TO_LATIN1(((U8*)s)[0]) && NATIVE_TO_LATIN1(((U8*)s)[0]) <= 0x0D ) ? 1\
e64b1bd1 267 : ( !( is_utf8 ) ) ? \
c4c8e615 268 ( 0x85 == NATIVE_TO_LATIN1(((U8*)s)[0]) ) \
e64b1bd1
YO
269 : 0 ) \
270: 0 )
e1d1eefb 271
12b72891
RGS
272/*** GENERATED CODE ***/
273#define is_VERTWS_utf8(s) \
c4c8e615
KW
274( ( 0x0A <= NATIVE_TO_LATIN1(((U8*)s)[0]) && NATIVE_TO_LATIN1(((U8*)s)[0]) <= 0x0D ) ? 1\
275: ( 0xC2 == NATIVE_TO_LATIN1(((U8*)s)[0]) ) ? \
276 ( ( 0x85 == NATIVE_TO_LATIN1(((U8*)s)[1]) ) ? 2 : 0 ) \
277: ( ( ( 0xE2 == NATIVE_TO_LATIN1(((U8*)s)[0]) ) && ( 0x80 == NATIVE_TO_LATIN1(((U8*)s)[1]) ) ) && ( ( NATIVE_TO_LATIN1(((U8*)s)[2]) & 0xFE ) == 0xA8 ) ) ? 3 : 0 )
e1d1eefb 278
12b72891
RGS
279/*** GENERATED CODE ***/
280#define is_VERTWS_utf8_safe(s,e) \
e64b1bd1 281( ((e)-(s) > 2) ? \
c4c8e615
KW
282 ( ( 0x0A <= NATIVE_TO_LATIN1(((U8*)s)[0]) && NATIVE_TO_LATIN1(((U8*)s)[0]) <= 0x0D ) ? 1\
283 : ( 0xC2 == NATIVE_TO_LATIN1(((U8*)s)[0]) ) ? \
284 ( ( 0x85 == NATIVE_TO_LATIN1(((U8*)s)[1]) ) ? 2 : 0 ) \
285 : ( ( ( 0xE2 == NATIVE_TO_LATIN1(((U8*)s)[0]) ) && ( 0x80 == NATIVE_TO_LATIN1(((U8*)s)[1]) ) ) && ( ( NATIVE_TO_LATIN1(((U8*)s)[2]) & 0xFE ) == 0xA8 ) ) ? 3 : 0 )\
e64b1bd1 286: ((e)-(s) > 1) ? \
c4c8e615
KW
287 ( ( 0x0A <= NATIVE_TO_LATIN1(((U8*)s)[0]) && NATIVE_TO_LATIN1(((U8*)s)[0]) <= 0x0D ) ? 1\
288 : ( ( 0xC2 == NATIVE_TO_LATIN1(((U8*)s)[0]) ) && ( 0x85 == NATIVE_TO_LATIN1(((U8*)s)[1]) ) ) ? 2 : 0 )\
e64b1bd1 289: ((e)-(s) > 0) ? \
c4c8e615 290 ( 0x0A <= NATIVE_TO_LATIN1(((U8*)s)[0]) && NATIVE_TO_LATIN1(((U8*)s)[0]) <= 0x0D )\
e64b1bd1 291: 0 )
e1d1eefb 292
12b72891 293/*** GENERATED CODE ***/
840f8e92 294#define is_VERTWS_high(s) \
c4c8e615 295( ( ( ( 0xE2 == NATIVE_TO_LATIN1(((U8*)s)[0]) ) && ( 0x80 == NATIVE_TO_LATIN1(((U8*)s)[1]) ) ) && ( ( NATIVE_TO_LATIN1(((U8*)s)[2]) & 0xFE ) == 0xA8 ) ) ? 3 : 0 )
840f8e92
KW
296
297/*** GENERATED CODE ***/
298#define is_VERTWS_high_safe(s,e) \
c4c8e615 299( ( ( ( ((e)-(s) > 2) && ( 0xE2 == NATIVE_TO_LATIN1(((U8*)s)[0]) ) ) && ( 0x80 == NATIVE_TO_LATIN1(((U8*)s)[1]) ) ) && ( ( NATIVE_TO_LATIN1(((U8*)s)[2]) & 0xFE ) == 0xA8 ) ) ? 3 : 0 )
840f8e92
KW
300
301/*** GENERATED CODE ***/
12b72891 302#define is_VERTWS_latin1(s) \
c4c8e615 303( ( 0x0A <= NATIVE_TO_LATIN1(((U8*)s)[0]) && NATIVE_TO_LATIN1(((U8*)s)[0]) <= 0x0D ) || 0x85 == NATIVE_TO_LATIN1(((U8*)s)[0]) )
e1d1eefb 304
12b72891
RGS
305/*** GENERATED CODE ***/
306#define is_VERTWS_latin1_safe(s,e) \
e64b1bd1 307( ((e)-(s) > 0) ? \
c4c8e615 308 ( ( 0x0A <= NATIVE_TO_LATIN1(((U8*)s)[0]) && NATIVE_TO_LATIN1(((U8*)s)[0]) <= 0x0D ) || 0x85 == NATIVE_TO_LATIN1(((U8*)s)[0]) )\
e64b1bd1 309: 0 )
e1d1eefb 310
12b72891
RGS
311/*** GENERATED CODE ***/
312#define is_VERTWS_cp(cp) \
c4c8e615
KW
313( ( 0x0A <= NATIVE_TO_UNI(cp) && NATIVE_TO_UNI(cp) <= 0x0D ) || ( 0x0D < NATIVE_TO_UNI(cp) &&\
314( 0x85 == NATIVE_TO_UNI(cp) || ( 0x85 < NATIVE_TO_UNI(cp) && \
315( 0x2028 == NATIVE_TO_UNI(cp) || 0x2029 == NATIVE_TO_UNI(cp) ) ) ) ) )
e1d1eefb 316
840f8e92
KW
317/*** GENERATED CODE ***/
318#define is_VERTWS_cp_high(cp) \
c4c8e615 319( 0x2028 == NATIVE_TO_UNI(cp) || 0x2029 == NATIVE_TO_UNI(cp) )
840f8e92 320
612ead59 321/*
4ac6419d
KW
322 XDIGIT: Hexadecimal digits
323
324 \p{XDigit}
325*/
326/*** GENERATED CODE ***/
327#define is_XDIGIT_utf8(s) \
c4c8e615
KW
328( ( ( 0x30 <= NATIVE_TO_LATIN1(((U8*)s)[0]) && NATIVE_TO_LATIN1(((U8*)s)[0]) <= 0x39 ) || ( 0x41 <= NATIVE_TO_LATIN1(((U8*)s)[0]) && NATIVE_TO_LATIN1(((U8*)s)[0]) <= 0x46 ) || ( 0x61 <= NATIVE_TO_LATIN1(((U8*)s)[0]) && NATIVE_TO_LATIN1(((U8*)s)[0]) <= 0x66 ) ) ? 1\
329: ( 0xEF == NATIVE_TO_LATIN1(((U8*)s)[0]) ) ? \
330 ( ( 0xBC == NATIVE_TO_LATIN1(((U8*)s)[1]) ) ? \
331 ( ( ( 0x90 <= NATIVE_TO_LATIN1(((U8*)s)[2]) && NATIVE_TO_LATIN1(((U8*)s)[2]) <= 0x99 ) || ( 0xA1 <= NATIVE_TO_LATIN1(((U8*)s)[2]) && NATIVE_TO_LATIN1(((U8*)s)[2]) <= 0xA6 ) ) ? 3 : 0 )\
332 : ( ( 0xBD == NATIVE_TO_LATIN1(((U8*)s)[1]) ) && ( 0x81 <= NATIVE_TO_LATIN1(((U8*)s)[2]) && NATIVE_TO_LATIN1(((U8*)s)[2]) <= 0x86 ) ) ? 3 : 0 )\
4ac6419d
KW
333: 0 )
334
335/*** GENERATED CODE ***/
336#define is_XDIGIT_high(s) \
c4c8e615
KW
337( ( 0xEF == NATIVE_TO_LATIN1(((U8*)s)[0]) ) ? \
338 ( ( 0xBC == NATIVE_TO_LATIN1(((U8*)s)[1]) ) ? \
339 ( ( ( 0x90 <= NATIVE_TO_LATIN1(((U8*)s)[2]) && NATIVE_TO_LATIN1(((U8*)s)[2]) <= 0x99 ) || ( 0xA1 <= NATIVE_TO_LATIN1(((U8*)s)[2]) && NATIVE_TO_LATIN1(((U8*)s)[2]) <= 0xA6 ) ) ? 3 : 0 )\
340 : ( ( 0xBD == NATIVE_TO_LATIN1(((U8*)s)[1]) ) && ( 0x81 <= NATIVE_TO_LATIN1(((U8*)s)[2]) && NATIVE_TO_LATIN1(((U8*)s)[2]) <= 0x86 ) ) ? 3 : 0 )\
4ac6419d
KW
341: 0 )
342
343/*** GENERATED CODE ***/
344#define is_XDIGIT_cp_high(cp) \
c4c8e615
KW
345( ( 0xFF10 <= NATIVE_TO_UNI(cp) && NATIVE_TO_UNI(cp) <= 0xFF19 ) || ( 0xFF19 < NATIVE_TO_UNI(cp) &&\
346( ( 0xFF21 <= NATIVE_TO_UNI(cp) && NATIVE_TO_UNI(cp) <= 0xFF26 ) || ( 0xFF41 <= NATIVE_TO_UNI(cp) && NATIVE_TO_UNI(cp) <= 0xFF46 ) ) ) )
4ac6419d
KW
347
348/*
bedac28b
KW
349 XPERLSPACE: \p{XPerlSpace}
350
351 \p{XPerlSpace}
352*/
353/*** GENERATED CODE ***/
354#define is_XPERLSPACE(s,is_utf8) \
c4c8e615 355( ( ( 0x09 <= NATIVE_TO_LATIN1(((U8*)s)[0]) && NATIVE_TO_LATIN1(((U8*)s)[0]) <= 0x0D ) || 0x20 == NATIVE_TO_LATIN1(((U8*)s)[0]) ) ? 1\
bedac28b 356: ( is_utf8 ) ? \
c4c8e615
KW
357 ( ( 0xC2 == NATIVE_TO_LATIN1(((U8*)s)[0]) ) ? \
358 ( ( 0x85 == NATIVE_TO_LATIN1(((U8*)s)[1]) || 0xA0 == NATIVE_TO_LATIN1(((U8*)s)[1]) ) ? 2 : 0 )\
359 : ( 0xE1 == NATIVE_TO_LATIN1(((U8*)s)[0]) ) ? \
a9c9e371 360 ( ( ( 0x9A == NATIVE_TO_LATIN1(((U8*)s)[1]) ) && ( 0x80 == NATIVE_TO_LATIN1(((U8*)s)[2]) ) ) ? 3 : 0 )\
c4c8e615
KW
361 : ( 0xE2 == NATIVE_TO_LATIN1(((U8*)s)[0]) ) ? \
362 ( ( 0x80 == NATIVE_TO_LATIN1(((U8*)s)[1]) ) ? \
363 ( ( ( 0x80 <= NATIVE_TO_LATIN1(((U8*)s)[2]) && NATIVE_TO_LATIN1(((U8*)s)[2]) <= 0x8A ) || ( NATIVE_TO_LATIN1(((U8*)s)[2]) & 0xFE ) == 0xA8 || 0xAF == NATIVE_TO_LATIN1(((U8*)s)[2]) ) ? 3 : 0 )\
364 : ( ( 0x81 == NATIVE_TO_LATIN1(((U8*)s)[1]) ) && ( 0x9F == NATIVE_TO_LATIN1(((U8*)s)[2]) ) ) ? 3 : 0 )\
365 : ( ( ( 0xE3 == NATIVE_TO_LATIN1(((U8*)s)[0]) ) && ( 0x80 == NATIVE_TO_LATIN1(((U8*)s)[1]) ) ) && ( 0x80 == NATIVE_TO_LATIN1(((U8*)s)[2]) ) ) ? 3 : 0 )\
366: ( 0x85 == NATIVE_TO_LATIN1(((U8*)s)[0]) || 0xA0 == NATIVE_TO_LATIN1(((U8*)s)[0]) ) )
bedac28b
KW
367
368/*** GENERATED CODE ***/
369#define is_XPERLSPACE_utf8(s) \
c4c8e615
KW
370( ( ( 0x09 <= NATIVE_TO_LATIN1(((U8*)s)[0]) && NATIVE_TO_LATIN1(((U8*)s)[0]) <= 0x0D ) || 0x20 == NATIVE_TO_LATIN1(((U8*)s)[0]) ) ? 1\
371: ( 0xC2 == NATIVE_TO_LATIN1(((U8*)s)[0]) ) ? \
372 ( ( 0x85 == NATIVE_TO_LATIN1(((U8*)s)[1]) || 0xA0 == NATIVE_TO_LATIN1(((U8*)s)[1]) ) ? 2 : 0 )\
373: ( 0xE1 == NATIVE_TO_LATIN1(((U8*)s)[0]) ) ? \
a9c9e371 374 ( ( ( 0x9A == NATIVE_TO_LATIN1(((U8*)s)[1]) ) && ( 0x80 == NATIVE_TO_LATIN1(((U8*)s)[2]) ) ) ? 3 : 0 )\
c4c8e615
KW
375: ( 0xE2 == NATIVE_TO_LATIN1(((U8*)s)[0]) ) ? \
376 ( ( 0x80 == NATIVE_TO_LATIN1(((U8*)s)[1]) ) ? \
377 ( ( ( NATIVE_TO_LATIN1(((U8*)s)[2]) <= 0x8A ) || ( NATIVE_TO_LATIN1(((U8*)s)[2]) & 0xFE ) == 0xA8 || 0xAF == NATIVE_TO_LATIN1(((U8*)s)[2]) ) ? 3 : 0 )\
378 : ( ( 0x81 == NATIVE_TO_LATIN1(((U8*)s)[1]) ) && ( 0x9F == NATIVE_TO_LATIN1(((U8*)s)[2]) ) ) ? 3 : 0 )\
379: ( ( ( 0xE3 == NATIVE_TO_LATIN1(((U8*)s)[0]) ) && ( 0x80 == NATIVE_TO_LATIN1(((U8*)s)[1]) ) ) && ( 0x80 == NATIVE_TO_LATIN1(((U8*)s)[2]) ) ) ? 3 : 0 )
bedac28b
KW
380
381/*** GENERATED CODE ***/
382#define is_XPERLSPACE_high(s) \
c4c8e615 383( ( 0xE1 == NATIVE_TO_LATIN1(((U8*)s)[0]) ) ? \
a9c9e371 384 ( ( ( 0x9A == NATIVE_TO_LATIN1(((U8*)s)[1]) ) && ( 0x80 == NATIVE_TO_LATIN1(((U8*)s)[2]) ) ) ? 3 : 0 )\
c4c8e615
KW
385: ( 0xE2 == NATIVE_TO_LATIN1(((U8*)s)[0]) ) ? \
386 ( ( 0x80 == NATIVE_TO_LATIN1(((U8*)s)[1]) ) ? \
387 ( ( ( NATIVE_TO_LATIN1(((U8*)s)[2]) <= 0x8A ) || ( NATIVE_TO_LATIN1(((U8*)s)[2]) & 0xFE ) == 0xA8 || 0xAF == NATIVE_TO_LATIN1(((U8*)s)[2]) ) ? 3 : 0 )\
388 : ( ( 0x81 == NATIVE_TO_LATIN1(((U8*)s)[1]) ) && ( 0x9F == NATIVE_TO_LATIN1(((U8*)s)[2]) ) ) ? 3 : 0 )\
389: ( ( ( 0xE3 == NATIVE_TO_LATIN1(((U8*)s)[0]) ) && ( 0x80 == NATIVE_TO_LATIN1(((U8*)s)[1]) ) ) && ( 0x80 == NATIVE_TO_LATIN1(((U8*)s)[2]) ) ) ? 3 : 0 )
bedac28b
KW
390
391/*** GENERATED CODE ***/
392#define is_XPERLSPACE_cp_high(cp) \
c4c8e615 393( 0x1680 == NATIVE_TO_UNI(cp) || ( 0x1680 < NATIVE_TO_UNI(cp) && \
c4c8e615
KW
394( ( 0x2000 <= NATIVE_TO_UNI(cp) && NATIVE_TO_UNI(cp) <= 0x200A ) || ( 0x200A < NATIVE_TO_UNI(cp) &&\
395( 0x2028 == NATIVE_TO_UNI(cp) || ( 0x2028 < NATIVE_TO_UNI(cp) && \
396( 0x2029 == NATIVE_TO_UNI(cp) || ( 0x2029 < NATIVE_TO_UNI(cp) && \
397( 0x202F == NATIVE_TO_UNI(cp) || ( 0x202F < NATIVE_TO_UNI(cp) && \
a9c9e371 398( 0x205F == NATIVE_TO_UNI(cp) || 0x3000 == NATIVE_TO_UNI(cp) ) ) ) ) ) ) ) ) ) ) )
bedac28b
KW
399
400/*
b96a92fb
KW
401 REPLACEMENT: Unicode REPLACEMENT CHARACTER
402
403 0xFFFD
404*/
405/*** GENERATED CODE ***/
406#define is_REPLACEMENT_utf8_safe(s,e) \
c4c8e615 407( ( ( ( ((e)-(s) > 2) && ( 0xEF == NATIVE_TO_LATIN1(((U8*)s)[0]) ) ) && ( 0xBF == NATIVE_TO_LATIN1(((U8*)s)[1]) ) ) && ( 0xBD == NATIVE_TO_LATIN1(((U8*)s)[2]) ) ) ? 3 : 0 )
b96a92fb
KW
408
409/*
410 NONCHAR: Non character code points
411
412 \p{Nchar}
413*/
414/*** GENERATED CODE ***/
415#define is_NONCHAR_utf8(s) \
c4c8e615
KW
416( ( 0xEF == NATIVE_TO_LATIN1(((U8*)s)[0]) ) ? \
417 ( ( 0xB7 == NATIVE_TO_LATIN1(((U8*)s)[1]) ) ? \
418 ( ( 0x90 <= NATIVE_TO_LATIN1(((U8*)s)[2]) && NATIVE_TO_LATIN1(((U8*)s)[2]) <= 0xAF ) ? 3 : 0 )\
419 : ( ( 0xBF == NATIVE_TO_LATIN1(((U8*)s)[1]) ) && ( NATIVE_TO_LATIN1(((U8*)s)[2]) >= 0xBE ) ) ? 3 : 0 )\
420: ( 0xF0 == NATIVE_TO_LATIN1(((U8*)s)[0]) ) ? \
421 ( ( ( ( NATIVE_TO_LATIN1(((U8*)s)[1]) == 0x9F || ( ( NATIVE_TO_LATIN1(((U8*)s)[1]) & 0xEF ) == 0xAF ) ) && ( 0xBF == NATIVE_TO_LATIN1(((U8*)s)[2]) ) ) && ( NATIVE_TO_LATIN1(((U8*)s)[3]) >= 0xBE ) ) ? 4 : 0 )\
422: ( 0xF1 <= NATIVE_TO_LATIN1(((U8*)s)[0]) && NATIVE_TO_LATIN1(((U8*)s)[0]) <= 0xF3 ) ?\
423 ( ( ( ( ( NATIVE_TO_LATIN1(((U8*)s)[1]) & 0xCF ) == 0x8F ) && ( 0xBF == NATIVE_TO_LATIN1(((U8*)s)[2]) ) ) && ( NATIVE_TO_LATIN1(((U8*)s)[3]) >= 0xBE ) ) ? 4 : 0 )\
424: ( ( ( ( 0xF4 == NATIVE_TO_LATIN1(((U8*)s)[0]) ) && ( 0x8F == NATIVE_TO_LATIN1(((U8*)s)[1]) ) ) && ( 0xBF == NATIVE_TO_LATIN1(((U8*)s)[2]) ) ) && ( NATIVE_TO_LATIN1(((U8*)s)[3]) >= 0xBE ) ) ? 4 : 0 )
b96a92fb
KW
425
426/*
427 SURROGATE: Surrogate characters
428
429 \p{Gc=Cs}
430*/
431/*** GENERATED CODE ***/
432#define is_SURROGATE_utf8(s) \
c4c8e615 433( ( ( 0xED == NATIVE_TO_LATIN1(((U8*)s)[0]) ) && ( NATIVE_TO_LATIN1(((U8*)s)[1]) >= 0xA0 ) ) ? 3 : 0 )
b96a92fb
KW
434
435/*
612ead59
KW
436 GCB_L: Grapheme_Cluster_Break=L
437
438 \p{_X_GCB_L}
439*/
440/*** GENERATED CODE ***/
441#define is_GCB_L_utf8(s) \
c4c8e615
KW
442( ( 0xE1 == NATIVE_TO_LATIN1(((U8*)s)[0]) ) ? \
443 ( ( 0x84 == NATIVE_TO_LATIN1(((U8*)s)[1]) ) ? \
6e130234 444 3 \
c4c8e615
KW
445 : ( ( 0x85 == NATIVE_TO_LATIN1(((U8*)s)[1]) ) && ( NATIVE_TO_LATIN1(((U8*)s)[2]) <= 0x9F ) ) ? 3 : 0 )\
446: ( ( ( 0xEA == NATIVE_TO_LATIN1(((U8*)s)[0]) ) && ( 0xA5 == NATIVE_TO_LATIN1(((U8*)s)[1]) ) ) && ( 0xA0 <= NATIVE_TO_LATIN1(((U8*)s)[2]) && NATIVE_TO_LATIN1(((U8*)s)[2]) <= 0xBC ) ) ? 3 : 0 )
612ead59
KW
447
448/*
449 GCB_LV_LVT_V: Grapheme_Cluster_Break=(LV or LVT or V)
450
451 \p{_X_LV_LVT_V}
452*/
453/*** GENERATED CODE ***/
454#define is_GCB_LV_LVT_V_utf8(s) \
c4c8e615
KW
455( ( 0xE1 == NATIVE_TO_LATIN1(((U8*)s)[0]) ) ? \
456 ( ( 0x85 == NATIVE_TO_LATIN1(((U8*)s)[1]) ) ? \
457 ( ( NATIVE_TO_LATIN1(((U8*)s)[2]) >= 0xA0 ) ? 3 : 0 ) \
458 : ( ( 0x86 == NATIVE_TO_LATIN1(((U8*)s)[1]) ) && ( NATIVE_TO_LATIN1(((U8*)s)[2]) <= 0xA7 ) ) ? 3 : 0 )\
459: ( 0xEA == NATIVE_TO_LATIN1(((U8*)s)[0]) ) ? \
460 ( ( NATIVE_TO_LATIN1(((U8*)s)[1]) >= 0xB0 ) ? \
6e130234
KW
461 3 \
462 : 0 ) \
c4c8e615 463: ( 0xEB == NATIVE_TO_LATIN1(((U8*)s)[0]) || 0xEC == NATIVE_TO_LATIN1(((U8*)s)[0]) ) ?\
6e130234 464 3 \
c4c8e615
KW
465: ( 0xED == NATIVE_TO_LATIN1(((U8*)s)[0]) ) ? \
466 ( ( NATIVE_TO_LATIN1(((U8*)s)[1]) <= 0x9D ) ? \
6e130234 467 3 \
c4c8e615
KW
468 : ( 0x9E == NATIVE_TO_LATIN1(((U8*)s)[1]) ) ? \
469 ( ( ( NATIVE_TO_LATIN1(((U8*)s)[2]) <= 0xA3 ) || ( NATIVE_TO_LATIN1(((U8*)s)[2]) >= 0xB0 ) ) ? 3 : 0 )\
470 : ( ( 0x9F == NATIVE_TO_LATIN1(((U8*)s)[1]) ) && ( NATIVE_TO_LATIN1(((U8*)s)[2]) <= 0x86 ) ) ? 3 : 0 )\
612ead59
KW
471: 0 )
472
473/*
474 GCB_Prepend: Grapheme_Cluster_Break=Prepend
475
476 \p{_X_GCB_Prepend}
477*/
478/*** GENERATED CODE ***/
479#define is_GCB_Prepend_utf8(s) \
480( 0 )
481
482/*
483 GCB_RI: Grapheme_Cluster_Break=RI
484
485 \p{_X_RI}
486*/
487/*** GENERATED CODE ***/
488#define is_GCB_RI_utf8(s) \
c4c8e615 489( ( ( ( ( 0xF0 == NATIVE_TO_LATIN1(((U8*)s)[0]) ) && ( 0x9F == NATIVE_TO_LATIN1(((U8*)s)[1]) ) ) && ( 0x87 == NATIVE_TO_LATIN1(((U8*)s)[2]) ) ) && ( NATIVE_TO_LATIN1(((U8*)s)[3]) >= 0xA6 ) ) ? 4 : 0 )
612ead59
KW
490
491/*
bff53399 492 GCB_SPECIAL_BEGIN_START: Grapheme_Cluster_Break=special_begin_starts
612ead59 493
bff53399 494 \p{_X_Special_Begin_Start}
612ead59
KW
495*/
496/*** GENERATED CODE ***/
bff53399 497#define is_GCB_SPECIAL_BEGIN_START_utf8(s) \
c4c8e615
KW
498( ( 0xE1 == NATIVE_TO_LATIN1(((U8*)s)[0]) ) ? \
499 ( ( ( NATIVE_TO_LATIN1(((U8*)s)[1]) & 0xFC ) == 0x84 ) ? \
6e130234
KW
500 3 \
501 : 0 ) \
c4c8e615
KW
502: ( 0xEA == NATIVE_TO_LATIN1(((U8*)s)[0]) ) ? \
503 ( ( 0xA5 == NATIVE_TO_LATIN1(((U8*)s)[1]) ) ? \
504 ( ( 0xA0 <= NATIVE_TO_LATIN1(((U8*)s)[2]) && NATIVE_TO_LATIN1(((U8*)s)[2]) <= 0xBC ) ? 3 : 0 )\
505 : ( NATIVE_TO_LATIN1(((U8*)s)[1]) >= 0xB0 ) ? \
6e130234 506 3 \
612ead59 507 : 0 ) \
c4c8e615 508: ( 0xEB == NATIVE_TO_LATIN1(((U8*)s)[0]) || 0xEC == NATIVE_TO_LATIN1(((U8*)s)[0]) ) ?\
6e130234 509 3 \
c4c8e615
KW
510: ( 0xED == NATIVE_TO_LATIN1(((U8*)s)[0]) ) ? \
511 ( ( NATIVE_TO_LATIN1(((U8*)s)[1]) <= 0x9D ) ? \
6e130234 512 3 \
c4c8e615
KW
513 : ( 0x9E == NATIVE_TO_LATIN1(((U8*)s)[1]) ) ? \
514 ( ( ( NATIVE_TO_LATIN1(((U8*)s)[2]) <= 0xA3 ) || ( NATIVE_TO_LATIN1(((U8*)s)[2]) >= 0xB0 ) ) ? 3 : 0 )\
515 : ( ( 0x9F == NATIVE_TO_LATIN1(((U8*)s)[1]) ) && ( ( NATIVE_TO_LATIN1(((U8*)s)[2]) <= 0x86 ) || ( 0x8B <= NATIVE_TO_LATIN1(((U8*)s)[2]) && NATIVE_TO_LATIN1(((U8*)s)[2]) <= 0xBB ) ) ) ? 3 : 0 )\
516: ( ( ( ( 0xF0 == NATIVE_TO_LATIN1(((U8*)s)[0]) ) && ( 0x9F == NATIVE_TO_LATIN1(((U8*)s)[1]) ) ) && ( 0x87 == NATIVE_TO_LATIN1(((U8*)s)[2]) ) ) && ( NATIVE_TO_LATIN1(((U8*)s)[3]) >= 0xA6 ) ) ? 4 : 0 )
612ead59
KW
517
518/*
519 GCB_T: Grapheme_Cluster_Break=T
520
521 \p{_X_GCB_T}
522*/
523/*** GENERATED CODE ***/
524#define is_GCB_T_utf8(s) \
c4c8e615
KW
525( ( 0xE1 == NATIVE_TO_LATIN1(((U8*)s)[0]) ) ? \
526 ( ( 0x86 == NATIVE_TO_LATIN1(((U8*)s)[1]) ) ? \
527 ( ( NATIVE_TO_LATIN1(((U8*)s)[2]) >= 0xA8 ) ? 3 : 0 ) \
528 : ( 0x87 == NATIVE_TO_LATIN1(((U8*)s)[1]) ) ? \
6e130234 529 3 \
612ead59 530 : 0 ) \
c4c8e615 531: ( ( ( 0xED == NATIVE_TO_LATIN1(((U8*)s)[0]) ) && ( 0x9F == NATIVE_TO_LATIN1(((U8*)s)[1]) ) ) && ( 0x8B <= NATIVE_TO_LATIN1(((U8*)s)[2]) && NATIVE_TO_LATIN1(((U8*)s)[2]) <= 0xBB ) ) ? 3 : 0 )
612ead59
KW
532
533/*
534 GCB_V: Grapheme_Cluster_Break=V
535
536 \p{_X_GCB_V}
537*/
538/*** GENERATED CODE ***/
539#define is_GCB_V_utf8(s) \
c4c8e615
KW
540( ( 0xE1 == NATIVE_TO_LATIN1(((U8*)s)[0]) ) ? \
541 ( ( 0x85 == NATIVE_TO_LATIN1(((U8*)s)[1]) ) ? \
542 ( ( NATIVE_TO_LATIN1(((U8*)s)[2]) >= 0xA0 ) ? 3 : 0 ) \
543 : ( ( 0x86 == NATIVE_TO_LATIN1(((U8*)s)[1]) ) && ( NATIVE_TO_LATIN1(((U8*)s)[2]) <= 0xA7 ) ) ? 3 : 0 )\
544: ( 0xED == NATIVE_TO_LATIN1(((U8*)s)[0]) ) ? \
545 ( ( 0x9E == NATIVE_TO_LATIN1(((U8*)s)[1]) ) ? \
546 ( ( NATIVE_TO_LATIN1(((U8*)s)[2]) >= 0xB0 ) ? 3 : 0 ) \
547 : ( ( 0x9F == NATIVE_TO_LATIN1(((U8*)s)[1]) ) && ( NATIVE_TO_LATIN1(((U8*)s)[2]) <= 0x86 ) ) ? 3 : 0 )\
612ead59
KW
548: 0 )
549
685289b5
KW
550/*
551 QUOTEMETA: Meta-characters that \Q should quote
552
553 \p{_Perl_Quotemeta}
554*/
555/*** GENERATED CODE ***/
556#define is_QUOTEMETA_high(s) \
c4c8e615
KW
557( ( 0xCD == NATIVE_TO_LATIN1(((U8*)s)[0]) ) ? \
558 ( ( 0x8F == NATIVE_TO_LATIN1(((U8*)s)[1]) ) ? 2 : 0 ) \
a9c9e371
KW
559: ( 0xD8 == NATIVE_TO_LATIN1(((U8*)s)[0]) ) ? \
560 ( ( 0x9C == NATIVE_TO_LATIN1(((U8*)s)[1]) ) ? 2 : 0 ) \
c4c8e615
KW
561: ( 0xE1 == NATIVE_TO_LATIN1(((U8*)s)[0]) ) ? \
562 ( ( 0x85 == NATIVE_TO_LATIN1(((U8*)s)[1]) ) ? \
563 ( ( 0x9F == NATIVE_TO_LATIN1(((U8*)s)[2]) || 0xA0 == NATIVE_TO_LATIN1(((U8*)s)[2]) ) ? 3 : 0 )\
564 : ( 0x9A == NATIVE_TO_LATIN1(((U8*)s)[1]) ) ? \
565 ( ( 0x80 == NATIVE_TO_LATIN1(((U8*)s)[2]) ) ? 3 : 0 ) \
566 : ( 0x9E == NATIVE_TO_LATIN1(((U8*)s)[1]) ) ? \
567 ( ( ( NATIVE_TO_LATIN1(((U8*)s)[2]) & 0xFE ) == 0xB4 ) ? 3 : 0 ) \
568 : ( ( 0xA0 == NATIVE_TO_LATIN1(((U8*)s)[1]) ) && ( 0x8B <= NATIVE_TO_LATIN1(((U8*)s)[2]) && NATIVE_TO_LATIN1(((U8*)s)[2]) <= 0x8E ) ) ? 3 : 0 )\
569: ( 0xE2 == NATIVE_TO_LATIN1(((U8*)s)[0]) ) ? \
570 ( ( 0x80 == NATIVE_TO_LATIN1(((U8*)s)[1]) ) ? \
571 ( ( NATIVE_TO_LATIN1(((U8*)s)[2]) <= 0xBE ) ? 3 : 0 ) \
572 : ( 0x81 == NATIVE_TO_LATIN1(((U8*)s)[1]) ) ? \
573 ( ( ( 0x81 <= NATIVE_TO_LATIN1(((U8*)s)[2]) && NATIVE_TO_LATIN1(((U8*)s)[2]) <= 0x93 ) || ( 0x95 <= NATIVE_TO_LATIN1(((U8*)s)[2]) && NATIVE_TO_LATIN1(((U8*)s)[2]) <= 0xAF ) ) ? 3 : 0 )\
574 : ( 0x86 == NATIVE_TO_LATIN1(((U8*)s)[1]) ) ? \
575 ( ( NATIVE_TO_LATIN1(((U8*)s)[2]) >= 0x90 ) ? 3 : 0 ) \
576 : ( ( 0x87 <= NATIVE_TO_LATIN1(((U8*)s)[1]) && NATIVE_TO_LATIN1(((U8*)s)[1]) <= 0x90 ) || ( 0x94 <= NATIVE_TO_LATIN1(((U8*)s)[1]) && NATIVE_TO_LATIN1(((U8*)s)[1]) <= 0x9C ) || ( 0x9F <= NATIVE_TO_LATIN1(((U8*)s)[1]) && NATIVE_TO_LATIN1(((U8*)s)[1]) <= 0xAF ) || ( NATIVE_TO_LATIN1(((U8*)s)[1]) & 0xFE ) == 0xB8 ) ?\
6e130234 577 3 \
c4c8e615
KW
578 : ( 0x91 == NATIVE_TO_LATIN1(((U8*)s)[1]) ) ? \
579 ( ( NATIVE_TO_LATIN1(((U8*)s)[2]) <= 0x9F ) ? 3 : 0 ) \
580 : ( 0x9D == NATIVE_TO_LATIN1(((U8*)s)[1]) ) ? \
581 ( ( NATIVE_TO_LATIN1(((U8*)s)[2]) <= 0xB5 ) ? 3 : 0 ) \
582 : ( ( 0x9E == NATIVE_TO_LATIN1(((U8*)s)[1]) ) && ( NATIVE_TO_LATIN1(((U8*)s)[2]) >= 0x94 ) ) ? 3 : 0 )\
583: ( 0xE3 == NATIVE_TO_LATIN1(((U8*)s)[0]) ) ? \
584 ( ( 0x80 == NATIVE_TO_LATIN1(((U8*)s)[1]) ) ? \
585 ( ( ( NATIVE_TO_LATIN1(((U8*)s)[2]) <= 0x83 ) || ( 0x88 <= NATIVE_TO_LATIN1(((U8*)s)[2]) && NATIVE_TO_LATIN1(((U8*)s)[2]) <= 0xA0 ) || 0xB0 == NATIVE_TO_LATIN1(((U8*)s)[2]) ) ? 3 : 0 )\
586 : ( ( 0x85 == NATIVE_TO_LATIN1(((U8*)s)[1]) ) && ( 0xA4 == NATIVE_TO_LATIN1(((U8*)s)[2]) ) ) ? 3 : 0 )\
587: ( 0xEF == NATIVE_TO_LATIN1(((U8*)s)[0]) ) ? \
588 ( ( 0xB4 == NATIVE_TO_LATIN1(((U8*)s)[1]) ) ? \
589 ( ( NATIVE_TO_LATIN1(((U8*)s)[2]) >= 0xBE ) ? 3 : 0 ) \
590 : ( 0xB8 == NATIVE_TO_LATIN1(((U8*)s)[1]) ) ? \
591 ( ( NATIVE_TO_LATIN1(((U8*)s)[2]) <= 0x8F ) ? 3 : 0 ) \
592 : ( 0xB9 == NATIVE_TO_LATIN1(((U8*)s)[1]) ) ? \
593 ( ( 0x85 == NATIVE_TO_LATIN1(((U8*)s)[2]) || 0x86 == NATIVE_TO_LATIN1(((U8*)s)[2]) ) ? 3 : 0 )\
594 : ( 0xBB == NATIVE_TO_LATIN1(((U8*)s)[1]) ) ? \
595 ( ( 0xBF == NATIVE_TO_LATIN1(((U8*)s)[2]) ) ? 3 : 0 ) \
596 : ( 0xBE == NATIVE_TO_LATIN1(((U8*)s)[1]) ) ? \
597 ( ( 0xA0 == NATIVE_TO_LATIN1(((U8*)s)[2]) ) ? 3 : 0 ) \
598 : ( ( 0xBF == NATIVE_TO_LATIN1(((U8*)s)[1]) ) && ( 0xB0 <= NATIVE_TO_LATIN1(((U8*)s)[2]) && NATIVE_TO_LATIN1(((U8*)s)[2]) <= 0xB8 ) ) ? 3 : 0 )\
599: ( 0xF0 == NATIVE_TO_LATIN1(((U8*)s)[0]) ) ? \
600 ( ( ( ( 0x9D == NATIVE_TO_LATIN1(((U8*)s)[1]) ) && ( 0x85 == NATIVE_TO_LATIN1(((U8*)s)[2]) ) ) && ( 0xB3 <= NATIVE_TO_LATIN1(((U8*)s)[3]) && NATIVE_TO_LATIN1(((U8*)s)[3]) <= 0xBA ) ) ? 4 : 0 )\
601: ( ( 0xF3 == NATIVE_TO_LATIN1(((U8*)s)[0]) ) && ( 0xA0 == NATIVE_TO_LATIN1(((U8*)s)[1]) ) ) ? 4 : 0 )
685289b5 602
8769f413
KW
603/*
604 MULTI_CHAR_FOLD: multi-char strings that are folded to by a single character
605
606 do regen/regcharclass_multi_char_folds.pl
607 &regcharclass_multi_char_folds::multi_char_folds(1)
608*/
609/*** GENERATED CODE ***/
3a8bbffb
KW
610#define is_MULTI_CHAR_FOLD_utf8_part0(s) \
611( ( ( 0xCC == NATIVE_TO_LATIN1(((U8*)s)[1]) ) && ( 0xB1 == NATIVE_TO_LATIN1(((U8*)s)[2]) ) ) ? 3 : 0 )
612
613
614/*** GENERATED CODE ***/
615#define is_MULTI_CHAR_FOLD_utf8_part1(s) \
616( ( 0x69 == NATIVE_TO_LATIN1(((U8*)s)[0]) ) ? \
617 ( ( ( 0xCC == NATIVE_TO_LATIN1(((U8*)s)[1]) ) && ( 0x87 == NATIVE_TO_LATIN1(((U8*)s)[2]) ) ) ? 3 : 0 )\
618: ( 0x6A == NATIVE_TO_LATIN1(((U8*)s)[0]) ) ? \
619 ( ( ( 0xCC == NATIVE_TO_LATIN1(((U8*)s)[1]) ) && ( 0x8C == NATIVE_TO_LATIN1(((U8*)s)[2]) ) ) ? 3 : 0 )\
620: ( 0x73 == NATIVE_TO_LATIN1(((U8*)s)[0]) ) ? \
621 ( ( 0x73 == NATIVE_TO_LATIN1(((U8*)s)[1]) || 0x74 == NATIVE_TO_LATIN1(((U8*)s)[1]) ) ? 2 : 0 )\
622: ( 0x74 == NATIVE_TO_LATIN1(((U8*)s)[0]) ) ? \
623 ( ( ( 0xCC == NATIVE_TO_LATIN1(((U8*)s)[1]) ) && ( 0x88 == NATIVE_TO_LATIN1(((U8*)s)[2]) ) ) ? 3 : 0 )\
624: ( 0x77 == NATIVE_TO_LATIN1(((U8*)s)[0]) || 0x79 == NATIVE_TO_LATIN1(((U8*)s)[0]) ) ?\
625 ( ( ( 0xCC == NATIVE_TO_LATIN1(((U8*)s)[1]) ) && ( 0x8A == NATIVE_TO_LATIN1(((U8*)s)[2]) ) ) ? 3 : 0 )\
626: ( 0xC5 == NATIVE_TO_LATIN1(((U8*)s)[0]) ) ? \
627 ( ( ( ( 0xBF == NATIVE_TO_LATIN1(((U8*)s)[1]) ) && ( 0xC5 == NATIVE_TO_LATIN1(((U8*)s)[2]) ) ) && ( 0xBF == NATIVE_TO_LATIN1(((U8*)s)[3]) ) ) ? 4 : 0 )\
628: ( 0xCA == NATIVE_TO_LATIN1(((U8*)s)[0]) ) ? \
629 ( ( ( 0xBC == NATIVE_TO_LATIN1(((U8*)s)[1]) ) && ( 0x6E == NATIVE_TO_LATIN1(((U8*)s)[2]) ) ) ? 3 : 0 )\
630: ( 0xCE == NATIVE_TO_LATIN1(((U8*)s)[0]) ) ? \
631 ( ( ( NATIVE_TO_LATIN1(((U8*)s)[1]) & 0xFD ) == 0xAC ) ? \
632 ( ( ( 0xCE == NATIVE_TO_LATIN1(((U8*)s)[2]) ) && ( 0xB9 == NATIVE_TO_LATIN1(((U8*)s)[3]) ) ) ? 4 : 0 )\
633 : ( 0xB1 == NATIVE_TO_LATIN1(((U8*)s)[1]) || 0xB7 == NATIVE_TO_LATIN1(((U8*)s)[1]) ) ?\
634 ( ( 0xCD == NATIVE_TO_LATIN1(((U8*)s)[2]) ) ? \
635 ( ( 0x82 == NATIVE_TO_LATIN1(((U8*)s)[3]) ) ? \
636 ( ( ( 0xCE == NATIVE_TO_LATIN1(((U8*)s)[4]) ) && ( 0xB9 == NATIVE_TO_LATIN1(((U8*)s)[5]) ) ) ? 6 : 4 )\
637 : 0 ) \
638 : ( ( 0xCE == NATIVE_TO_LATIN1(((U8*)s)[2]) ) && ( 0xB9 == NATIVE_TO_LATIN1(((U8*)s)[3]) ) ) ? 4 : 0 )\
639 : ( 0xB9 == NATIVE_TO_LATIN1(((U8*)s)[1]) ) ? \
640 ( ( 0xCC == NATIVE_TO_LATIN1(((U8*)s)[2]) ) ? \
641 ( ( 0x88 == NATIVE_TO_LATIN1(((U8*)s)[3]) ) ? \
642 ( ( 0xCC == NATIVE_TO_LATIN1(((U8*)s)[4]) ) ? \
643 ( ( NATIVE_TO_LATIN1(((U8*)s)[5]) <= 0x81 ) ? 6 : 0 ) \
644 : ( ( 0xCD == NATIVE_TO_LATIN1(((U8*)s)[4]) ) && ( 0x82 == NATIVE_TO_LATIN1(((U8*)s)[5]) ) ) ? 6 : 0 )\
645 : 0 ) \
646 : ( ( 0xCD == NATIVE_TO_LATIN1(((U8*)s)[2]) ) && ( 0x82 == NATIVE_TO_LATIN1(((U8*)s)[3]) ) ) ? 4 : 0 )\
647 : 0 ) \
648: ( 0xCF == NATIVE_TO_LATIN1(((U8*)s)[0]) ) ? \
649 ( ( 0x81 == NATIVE_TO_LATIN1(((U8*)s)[1]) ) ? \
650 ( ( ( 0xCC == NATIVE_TO_LATIN1(((U8*)s)[2]) ) && ( 0x93 == NATIVE_TO_LATIN1(((U8*)s)[3]) ) ) ? 4 : 0 )\
651 : ( 0x85 == NATIVE_TO_LATIN1(((U8*)s)[1]) ) ? \
652 ( ( 0xCC == NATIVE_TO_LATIN1(((U8*)s)[2]) ) ? \
653 ( ( 0x88 == NATIVE_TO_LATIN1(((U8*)s)[3]) ) ? \
654 ( ( 0xCC == NATIVE_TO_LATIN1(((U8*)s)[4]) ) ? \
655 ( ( NATIVE_TO_LATIN1(((U8*)s)[5]) <= 0x81 ) ? 6 : 0 ) \
656 : ( ( 0xCD == NATIVE_TO_LATIN1(((U8*)s)[4]) ) && ( 0x82 == NATIVE_TO_LATIN1(((U8*)s)[5]) ) ) ? 6 : 0 )\
657 : ( 0x93 == NATIVE_TO_LATIN1(((U8*)s)[3]) ) ? \
658 ( ( 0xCC == NATIVE_TO_LATIN1(((U8*)s)[4]) ) ? \
659 ( ( NATIVE_TO_LATIN1(((U8*)s)[5]) <= 0x81 ) ? 6 : 4 ) \
660 : ( ( 0xCD == NATIVE_TO_LATIN1(((U8*)s)[4]) ) && ( 0x82 == NATIVE_TO_LATIN1(((U8*)s)[5]) ) ) ? 6 : 4 )\
661 : 0 ) \
662 : ( ( 0xCD == NATIVE_TO_LATIN1(((U8*)s)[2]) ) && ( 0x82 == NATIVE_TO_LATIN1(((U8*)s)[3]) ) ) ? 4 : 0 )\
663 : ( 0x89 == NATIVE_TO_LATIN1(((U8*)s)[1]) ) ? \
664 ( ( 0xCD == NATIVE_TO_LATIN1(((U8*)s)[2]) ) ? \
665 ( ( 0x82 == NATIVE_TO_LATIN1(((U8*)s)[3]) ) ? \
666 ( ( ( 0xCE == NATIVE_TO_LATIN1(((U8*)s)[4]) ) && ( 0xB9 == NATIVE_TO_LATIN1(((U8*)s)[5]) ) ) ? 6 : 4 )\
667 : 0 ) \
668 : ( ( 0xCE == NATIVE_TO_LATIN1(((U8*)s)[2]) ) && ( 0xB9 == NATIVE_TO_LATIN1(((U8*)s)[3]) ) ) ? 4 : 0 )\
669 : ( ( ( 0x8E == NATIVE_TO_LATIN1(((U8*)s)[1]) ) && ( 0xCE == NATIVE_TO_LATIN1(((U8*)s)[2]) ) ) && ( 0xB9 == NATIVE_TO_LATIN1(((U8*)s)[3]) ) ) ? 4 : 0 )\
670: ( 0xD5 == NATIVE_TO_LATIN1(((U8*)s)[0]) ) ? \
671 ( ( 0xA5 == NATIVE_TO_LATIN1(((U8*)s)[1]) ) ? \
672 ( ( ( 0xD6 == NATIVE_TO_LATIN1(((U8*)s)[2]) ) && ( 0x82 == NATIVE_TO_LATIN1(((U8*)s)[3]) ) ) ? 4 : 0 )\
673 : ( 0xB4 == NATIVE_TO_LATIN1(((U8*)s)[1]) ) ? \
674 ( ( ( 0xD5 == NATIVE_TO_LATIN1(((U8*)s)[2]) ) && ( ( ( NATIVE_TO_LATIN1(((U8*)s)[3]) & 0xF7 ) == 0xA5 ) || NATIVE_TO_LATIN1(((U8*)s)[3]) == 0xAB || NATIVE_TO_LATIN1(((U8*)s)[3]) == 0xB6 ) ) ? 4 : 0 )\
675 : ( ( ( 0xBE == NATIVE_TO_LATIN1(((U8*)s)[1]) ) && ( 0xD5 == NATIVE_TO_LATIN1(((U8*)s)[2]) ) ) && ( 0xB6 == NATIVE_TO_LATIN1(((U8*)s)[3]) ) ) ? 4 : 0 )\
676: ( 0xE1 == NATIVE_TO_LATIN1(((U8*)s)[0]) ) ? \
677 ( ( 0xBC == NATIVE_TO_LATIN1(((U8*)s)[1]) ) ? \
678 ( ( ( ( ( NATIVE_TO_LATIN1(((U8*)s)[2]) & 0xD8 ) == 0x80 ) && ( 0xCE == NATIVE_TO_LATIN1(((U8*)s)[3]) ) ) && ( 0xB9 == NATIVE_TO_LATIN1(((U8*)s)[4]) ) ) ? 5 : 0 )\
679 : ( ( ( ( 0xBD == NATIVE_TO_LATIN1(((U8*)s)[1]) ) && ( ( ( NATIVE_TO_LATIN1(((U8*)s)[2]) & 0xF8 ) == 0xA0 ) || ( ( NATIVE_TO_LATIN1(((U8*)s)[2]) & 0xFB ) == 0xB0 ) || NATIVE_TO_LATIN1(((U8*)s)[2]) == 0xBC ) ) && ( 0xCE == NATIVE_TO_LATIN1(((U8*)s)[3]) ) ) && ( 0xB9 == NATIVE_TO_LATIN1(((U8*)s)[4]) ) ) ? 5 : 0 )\
c4c8e615
KW
680: 0 )
681
682
683/*** GENERATED CODE ***/
3a8bbffb 684#define is_MULTI_CHAR_FOLD_utf8(s) \
c4c8e615 685( ( 0x61 == NATIVE_TO_LATIN1(((U8*)s)[0]) ) ? \
3a8bbffb
KW
686 ( ( ( 0xCA == NATIVE_TO_LATIN1(((U8*)s)[1]) ) && ( 0xBE == NATIVE_TO_LATIN1(((U8*)s)[2]) ) ) ? 3 : 0 )\
687: ( 0x66 == NATIVE_TO_LATIN1(((U8*)s)[0]) ) ? \
688 ( ( 0x66 == NATIVE_TO_LATIN1(((U8*)s)[1]) ) ? \
689 ( ( 0x69 == NATIVE_TO_LATIN1(((U8*)s)[2]) || 0x6C == NATIVE_TO_LATIN1(((U8*)s)[2]) ) ? 3 : 2 )\
690 : ( 0x69 == NATIVE_TO_LATIN1(((U8*)s)[1]) || 0x6C == NATIVE_TO_LATIN1(((U8*)s)[1]) ) ? 2 : 0 )\
691: ( 0x68 == NATIVE_TO_LATIN1(((U8*)s)[0]) ) ? is_MULTI_CHAR_FOLD_utf8_part0(s) : is_MULTI_CHAR_FOLD_utf8_part1(s) )
8769f413
KW
692
693/*
40b1ba4f 694 MULTI_CHAR_FOLD: multi-char strings that are folded to by a single character
8769f413
KW
695
696 &regcharclass_multi_char_folds::multi_char_folds(0)
697*/
698/*** GENERATED CODE ***/
3a8bbffb
KW
699#define is_MULTI_CHAR_FOLD_latin1(s) \
700( ( ( NATIVE_TO_LATIN1(((U8*)s)[0]) & 0xDF ) == 0x46 ) ? \
701 ( ( ( NATIVE_TO_LATIN1(((U8*)s)[1]) & 0xDF ) == 0x46 ) ? \
702 ( ( ( ( NATIVE_TO_LATIN1(((U8*)s)[2]) & 0xDF ) == 0x49 ) || ( ( NATIVE_TO_LATIN1(((U8*)s)[2]) & 0xDF ) == 0x4C ) ) ? 3 : 2 )\
703 : ( ( ( NATIVE_TO_LATIN1(((U8*)s)[1]) & 0xDF ) == 0x49 ) || ( ( NATIVE_TO_LATIN1(((U8*)s)[1]) & 0xDF ) == 0x4C ) ) ? 2 : 0 )\
704: ( ( ( NATIVE_TO_LATIN1(((U8*)s)[0]) & 0xDF ) == 0x53 ) && ( ( ( NATIVE_TO_LATIN1(((U8*)s)[1]) & 0xDF ) == 0x53 ) || ( ( NATIVE_TO_LATIN1(((U8*)s)[1]) & 0xDF ) == 0x54 ) ) ) ? 2 : 0 )
8769f413 705
0b50d62a 706/*
1a27eb96
KW
707 FOLDS_TO_MULTI: characters that fold to multi-char strings
708
709 \p{_Perl_Folds_To_Multi_Char}
710*/
711/*** GENERATED CODE ***/
712#define is_FOLDS_TO_MULTI_utf8(s) \
713( ( 0xC3 == NATIVE_TO_LATIN1(((U8*)s)[0]) ) ? \
714 ( ( 0x9F == NATIVE_TO_LATIN1(((U8*)s)[1]) ) ? 2 : 0 ) \
715: ( 0xC4 == NATIVE_TO_LATIN1(((U8*)s)[0]) || 0xC7 == NATIVE_TO_LATIN1(((U8*)s)[0]) ) ?\
716 ( ( 0xB0 == NATIVE_TO_LATIN1(((U8*)s)[1]) ) ? 2 : 0 ) \
717: ( 0xC5 == NATIVE_TO_LATIN1(((U8*)s)[0]) ) ? \
718 ( ( 0x89 == NATIVE_TO_LATIN1(((U8*)s)[1]) ) ? 2 : 0 ) \
719: ( 0xCE == NATIVE_TO_LATIN1(((U8*)s)[0]) ) ? \
720 ( ( ( NATIVE_TO_LATIN1(((U8*)s)[1]) & 0xDF ) == 0x90 ) ? 2 : 0 ) \
721: ( 0xD6 == NATIVE_TO_LATIN1(((U8*)s)[0]) ) ? \
722 ( ( 0x87 == NATIVE_TO_LATIN1(((U8*)s)[1]) ) ? 2 : 0 ) \
723: ( 0xE1 == NATIVE_TO_LATIN1(((U8*)s)[0]) ) ? \
724 ( ( 0xBA == NATIVE_TO_LATIN1(((U8*)s)[1]) ) ? \
725 ( ( ( 0x96 <= NATIVE_TO_LATIN1(((U8*)s)[2]) && NATIVE_TO_LATIN1(((U8*)s)[2]) <= 0x9A ) || 0x9E == NATIVE_TO_LATIN1(((U8*)s)[2]) ) ? 3 : 0 )\
726 : ( 0xBD == NATIVE_TO_LATIN1(((U8*)s)[1]) ) ? \
727 ( ( ( NATIVE_TO_LATIN1(((U8*)s)[2]) & 0xF9 ) == 0x90 ) ? 3 : 0 ) \
728 : ( 0xBE == NATIVE_TO_LATIN1(((U8*)s)[1]) ) ? \
729 ( ( ( ( NATIVE_TO_LATIN1(((U8*)s)[2]) & 0xE0 ) == 0x80 ) || ( ( NATIVE_TO_LATIN1(((U8*)s)[2]) & 0xF0 ) == 0xA0 ) || ( ( NATIVE_TO_LATIN1(((U8*)s)[2]) & 0xFA ) == 0xB2 ) || ( ( NATIVE_TO_LATIN1(((U8*)s)[2]) & 0xF7 ) == 0xB4 ) ) ? 3 : 0 )\
730 : ( ( 0xBF == NATIVE_TO_LATIN1(((U8*)s)[1]) ) && ( ( ( NATIVE_TO_LATIN1(((U8*)s)[2]) & 0xCA ) == 0x82 ) || ( ( NATIVE_TO_LATIN1(((U8*)s)[2]) & 0xF7 ) == 0x84 ) || NATIVE_TO_LATIN1(((U8*)s)[2]) == 0xA4 || ( ( NATIVE_TO_LATIN1(((U8*)s)[2]) & 0xF7 ) == 0xB4 ) ) ) ? 3 : 0 )\
731: ( ( ( 0xEF == NATIVE_TO_LATIN1(((U8*)s)[0]) ) && ( 0xAC == NATIVE_TO_LATIN1(((U8*)s)[1]) ) ) && ( ( NATIVE_TO_LATIN1(((U8*)s)[2]) <= 0x86 ) || ( 0x93 <= NATIVE_TO_LATIN1(((U8*)s)[2]) && NATIVE_TO_LATIN1(((U8*)s)[2]) <= 0x97 ) ) ) ? 3 : 0 )
732
733/*
31f05a37
KW
734 PROBLEMATIC_LOCALE_FOLD: characters whose fold is problematic under locale
735
736 \p{_Perl_Problematic_Locale_Folds}
737*/
738/*** GENERATED CODE ***/
739#define is_PROBLEMATIC_LOCALE_FOLD_utf8(s) \
740( ( ( NATIVE_TO_LATIN1(((U8*)s)[0]) & 0x80 ) == 0x00 ) ? 1 \
741: ( ( NATIVE_TO_LATIN1(((U8*)s)[0]) & 0xFE ) == 0xC2 ) ? \
742 2 \
743: ( 0xC4 == NATIVE_TO_LATIN1(((U8*)s)[0]) || 0xC7 == NATIVE_TO_LATIN1(((U8*)s)[0]) ) ?\
744 ( ( 0xB0 == NATIVE_TO_LATIN1(((U8*)s)[1]) ) ? 2 : 0 ) \
745: ( 0xC5 == NATIVE_TO_LATIN1(((U8*)s)[0]) ) ? \
746 ( ( 0x89 == NATIVE_TO_LATIN1(((U8*)s)[1]) || 0xB8 == NATIVE_TO_LATIN1(((U8*)s)[1]) || 0xBF == NATIVE_TO_LATIN1(((U8*)s)[1]) ) ? 2 : 0 )\
747: ( 0xCE == NATIVE_TO_LATIN1(((U8*)s)[0]) ) ? \
748 ( ( ( NATIVE_TO_LATIN1(((U8*)s)[1]) & 0xDF ) == 0x9C ) ? 2 : 0 ) \
749: ( 0xE1 == NATIVE_TO_LATIN1(((U8*)s)[0]) ) ? \
750 ( ( ( 0xBA == NATIVE_TO_LATIN1(((U8*)s)[1]) ) && ( ( 0x96 <= NATIVE_TO_LATIN1(((U8*)s)[2]) && NATIVE_TO_LATIN1(((U8*)s)[2]) <= 0x9A ) || 0x9E == NATIVE_TO_LATIN1(((U8*)s)[2]) ) ) ? 3 : 0 )\
751: ( 0xE2 == NATIVE_TO_LATIN1(((U8*)s)[0]) ) ? \
752 ( ( ( 0x84 == NATIVE_TO_LATIN1(((U8*)s)[1]) ) && ( ( NATIVE_TO_LATIN1(((U8*)s)[2]) & 0xFE ) == 0xAA ) ) ? 3 : 0 )\
753: ( ( ( 0xEF == NATIVE_TO_LATIN1(((U8*)s)[0]) ) && ( 0xAC == NATIVE_TO_LATIN1(((U8*)s)[1]) ) ) && ( NATIVE_TO_LATIN1(((U8*)s)[2]) <= 0x86 ) ) ? 3 : 0 )
754
755/*** GENERATED CODE ***/
756#define is_PROBLEMATIC_LOCALE_FOLD_cp(cp) \
757( NATIVE_TO_UNI(cp) <= 0xFF || ( 0xFF < NATIVE_TO_UNI(cp) && \
758( 0x130 == NATIVE_TO_UNI(cp) || ( 0x130 < NATIVE_TO_UNI(cp) && \
759( 0x149 == NATIVE_TO_UNI(cp) || ( 0x149 < NATIVE_TO_UNI(cp) && \
760( 0x178 == NATIVE_TO_UNI(cp) || ( 0x178 < NATIVE_TO_UNI(cp) && \
761( 0x17F == NATIVE_TO_UNI(cp) || ( 0x17F < NATIVE_TO_UNI(cp) && \
762( 0x1F0 == NATIVE_TO_UNI(cp) || ( 0x1F0 < NATIVE_TO_UNI(cp) && \
763( 0x39C == NATIVE_TO_UNI(cp) || ( 0x39C < NATIVE_TO_UNI(cp) && \
764( 0x3BC == NATIVE_TO_UNI(cp) || ( 0x3BC < NATIVE_TO_UNI(cp) && \
765( ( 0x1E96 <= NATIVE_TO_UNI(cp) && NATIVE_TO_UNI(cp) <= 0x1E9A ) || ( 0x1E9A < NATIVE_TO_UNI(cp) &&\
766( 0x1E9E == NATIVE_TO_UNI(cp) || ( 0x1E9E < NATIVE_TO_UNI(cp) && \
767( 0x212A == NATIVE_TO_UNI(cp) || ( 0x212A < NATIVE_TO_UNI(cp) && \
768( 0x212B == NATIVE_TO_UNI(cp) || ( 0xFB00 <= NATIVE_TO_UNI(cp) && NATIVE_TO_UNI(cp) <= 0xFB06 ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) )
769
770/*
771 PROBLEMATIC_LOCALE_FOLDEDS_START: The first folded character of folds which are problematic under locale
772
773 \p{_Perl_Problematic_Locale_Foldeds_Start}
774*/
775/*** GENERATED CODE ***/
776#define is_PROBLEMATIC_LOCALE_FOLDEDS_START_utf8(s) \
777( ( ( NATIVE_TO_LATIN1(((U8*)s)[0]) & 0x80 ) == 0x00 ) ? 1 \
778: ( ( NATIVE_TO_LATIN1(((U8*)s)[0]) & 0xFE ) == 0xC2 ) ? \
779 2 \
780: ( 0xC4 == NATIVE_TO_LATIN1(((U8*)s)[0]) || 0xC7 == NATIVE_TO_LATIN1(((U8*)s)[0]) ) ?\
781 ( ( 0xB0 == NATIVE_TO_LATIN1(((U8*)s)[1]) ) ? 2 : 0 ) \
782: ( 0xC5 == NATIVE_TO_LATIN1(((U8*)s)[0]) ) ? \
783 ( ( 0x89 == NATIVE_TO_LATIN1(((U8*)s)[1]) || 0xB8 == NATIVE_TO_LATIN1(((U8*)s)[1]) || 0xBF == NATIVE_TO_LATIN1(((U8*)s)[1]) ) ? 2 : 0 )\
784: ( 0xCA == NATIVE_TO_LATIN1(((U8*)s)[0]) ) ? \
785 ( ( 0xBC == NATIVE_TO_LATIN1(((U8*)s)[1]) ) ? 2 : 0 ) \
786: ( 0xCE == NATIVE_TO_LATIN1(((U8*)s)[0]) ) ? \
787 ( ( ( NATIVE_TO_LATIN1(((U8*)s)[1]) & 0xDF ) == 0x9C ) ? 2 : 0 ) \
788: ( 0xE1 == NATIVE_TO_LATIN1(((U8*)s)[0]) ) ? \
789 ( ( ( 0xBA == NATIVE_TO_LATIN1(((U8*)s)[1]) ) && ( ( 0x96 <= NATIVE_TO_LATIN1(((U8*)s)[2]) && NATIVE_TO_LATIN1(((U8*)s)[2]) <= 0x9A ) || 0x9E == NATIVE_TO_LATIN1(((U8*)s)[2]) ) ) ? 3 : 0 )\
790: ( 0xE2 == NATIVE_TO_LATIN1(((U8*)s)[0]) ) ? \
791 ( ( ( 0x84 == NATIVE_TO_LATIN1(((U8*)s)[1]) ) && ( ( NATIVE_TO_LATIN1(((U8*)s)[2]) & 0xFE ) == 0xAA ) ) ? 3 : 0 )\
792: ( ( ( 0xEF == NATIVE_TO_LATIN1(((U8*)s)[0]) ) && ( 0xAC == NATIVE_TO_LATIN1(((U8*)s)[1]) ) ) && ( NATIVE_TO_LATIN1(((U8*)s)[2]) <= 0x86 ) ) ? 3 : 0 )
793
794/*** GENERATED CODE ***/
795#define is_PROBLEMATIC_LOCALE_FOLDEDS_START_cp(cp) \
796( NATIVE_TO_UNI(cp) <= 0xFF || ( 0xFF < NATIVE_TO_UNI(cp) && \
797( 0x130 == NATIVE_TO_UNI(cp) || ( 0x130 < NATIVE_TO_UNI(cp) && \
798( 0x149 == NATIVE_TO_UNI(cp) || ( 0x149 < NATIVE_TO_UNI(cp) && \
799( 0x178 == NATIVE_TO_UNI(cp) || ( 0x178 < NATIVE_TO_UNI(cp) && \
800( 0x17F == NATIVE_TO_UNI(cp) || ( 0x17F < NATIVE_TO_UNI(cp) && \
801( 0x1F0 == NATIVE_TO_UNI(cp) || ( 0x1F0 < NATIVE_TO_UNI(cp) && \
802( 0x2BC == NATIVE_TO_UNI(cp) || ( 0x2BC < NATIVE_TO_UNI(cp) && \
803( 0x39C == NATIVE_TO_UNI(cp) || ( 0x39C < NATIVE_TO_UNI(cp) && \
804( 0x3BC == NATIVE_TO_UNI(cp) || ( 0x3BC < NATIVE_TO_UNI(cp) && \
805( ( 0x1E96 <= NATIVE_TO_UNI(cp) && NATIVE_TO_UNI(cp) <= 0x1E9A ) || ( 0x1E9A < NATIVE_TO_UNI(cp) &&\
806( 0x1E9E == NATIVE_TO_UNI(cp) || ( 0x1E9E < NATIVE_TO_UNI(cp) && \
807( 0x212A == NATIVE_TO_UNI(cp) || ( 0x212A < NATIVE_TO_UNI(cp) && \
808( 0x212B == NATIVE_TO_UNI(cp) || ( 0xFB00 <= NATIVE_TO_UNI(cp) && NATIVE_TO_UNI(cp) <= 0xFB06 ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) )
809
810/*
0b50d62a
KW
811 PATWS: pattern white space
812
813 \p{PatWS}
814*/
815/*** GENERATED CODE ***/
816#define is_PATWS(s,is_utf8) \
c4c8e615 817( ( ( 0x09 <= NATIVE_TO_LATIN1(((U8*)s)[0]) && NATIVE_TO_LATIN1(((U8*)s)[0]) <= 0x0D ) || 0x20 == NATIVE_TO_LATIN1(((U8*)s)[0]) ) ? 1\
0b50d62a 818: ( is_utf8 ) ? \
c4c8e615
KW
819 ( ( 0xC2 == NATIVE_TO_LATIN1(((U8*)s)[0]) ) ? \
820 ( ( 0x85 == NATIVE_TO_LATIN1(((U8*)s)[1]) ) ? 2 : 0 ) \
821 : ( ( ( 0xE2 == NATIVE_TO_LATIN1(((U8*)s)[0]) ) && ( 0x80 == NATIVE_TO_LATIN1(((U8*)s)[1]) ) ) && ( ( NATIVE_TO_LATIN1(((U8*)s)[2]) & 0xFE ) == 0x8E || ( NATIVE_TO_LATIN1(((U8*)s)[2]) & 0xFE ) == 0xA8 ) ) ? 3 : 0 )\
822: ( 0x85 == NATIVE_TO_LATIN1(((U8*)s)[0]) ) )
0b50d62a
KW
823
824/*** GENERATED CODE ***/
825#define is_PATWS_safe(s,e,is_utf8) \
826( ((e)-(s) > 2) ? \
c4c8e615 827 ( ( ( 0x09 <= NATIVE_TO_LATIN1(((U8*)s)[0]) && NATIVE_TO_LATIN1(((U8*)s)[0]) <= 0x0D ) || 0x20 == NATIVE_TO_LATIN1(((U8*)s)[0]) ) ? 1\
0b50d62a 828 : ( is_utf8 ) ? \
c4c8e615
KW
829 ( ( 0xC2 == NATIVE_TO_LATIN1(((U8*)s)[0]) ) ? \
830 ( ( 0x85 == NATIVE_TO_LATIN1(((U8*)s)[1]) ) ? 2 : 0 ) \
831 : ( ( ( 0xE2 == NATIVE_TO_LATIN1(((U8*)s)[0]) ) && ( 0x80 == NATIVE_TO_LATIN1(((U8*)s)[1]) ) ) && ( ( NATIVE_TO_LATIN1(((U8*)s)[2]) & 0xFE ) == 0x8E || ( NATIVE_TO_LATIN1(((U8*)s)[2]) & 0xFE ) == 0xA8 ) ) ? 3 : 0 )\
832 : ( 0x85 == NATIVE_TO_LATIN1(((U8*)s)[0]) ) ) \
0b50d62a 833: ((e)-(s) > 1) ? \
c4c8e615 834 ( ( ( 0x09 <= NATIVE_TO_LATIN1(((U8*)s)[0]) && NATIVE_TO_LATIN1(((U8*)s)[0]) <= 0x0D ) || 0x20 == NATIVE_TO_LATIN1(((U8*)s)[0]) ) ? 1\
0b50d62a 835 : ( is_utf8 ) ? \
c4c8e615
KW
836 ( ( ( 0xC2 == NATIVE_TO_LATIN1(((U8*)s)[0]) ) && ( 0x85 == NATIVE_TO_LATIN1(((U8*)s)[1]) ) ) ? 2 : 0 )\
837 : ( 0x85 == NATIVE_TO_LATIN1(((U8*)s)[0]) ) ) \
0b50d62a 838: ((e)-(s) > 0) ? \
c4c8e615 839 ( ( ( 0x09 <= NATIVE_TO_LATIN1(((U8*)s)[0]) && NATIVE_TO_LATIN1(((U8*)s)[0]) <= 0x0D ) || 0x20 == NATIVE_TO_LATIN1(((U8*)s)[0]) ) ? 1\
0b50d62a 840 : ( !( is_utf8 ) ) ? \
c4c8e615 841 ( 0x85 == NATIVE_TO_LATIN1(((U8*)s)[0]) ) \
0b50d62a
KW
842 : 0 ) \
843: 0 )
844
845/*** GENERATED CODE ***/
f3b7b534
KW
846#define is_PATWS_non_low(s,is_utf8) \
847( ( is_utf8 ) ? \
c4c8e615
KW
848 ( ( 0xC2 == NATIVE_TO_LATIN1(((U8*)s)[0]) ) ? \
849 ( ( 0x85 == NATIVE_TO_LATIN1(((U8*)s)[1]) ) ? 2 : 0 ) \
850 : ( ( ( 0xE2 == NATIVE_TO_LATIN1(((U8*)s)[0]) ) && ( 0x80 == NATIVE_TO_LATIN1(((U8*)s)[1]) ) ) && ( ( NATIVE_TO_LATIN1(((U8*)s)[2]) & 0xFE ) == 0x8E || ( NATIVE_TO_LATIN1(((U8*)s)[2]) & 0xFE ) == 0xA8 ) ) ? 3 : 0 )\
851: ( 0x85 == NATIVE_TO_LATIN1(((U8*)s)[0]) ) )
f3b7b534
KW
852
853/*** GENERATED CODE ***/
854#define is_PATWS_non_low_safe(s,e,is_utf8) \
855( ((e)-(s) > 2) ? \
856 ( ( is_utf8 ) ? \
c4c8e615
KW
857 ( ( 0xC2 == NATIVE_TO_LATIN1(((U8*)s)[0]) ) ? \
858 ( ( 0x85 == NATIVE_TO_LATIN1(((U8*)s)[1]) ) ? 2 : 0 ) \
859 : ( ( ( 0xE2 == NATIVE_TO_LATIN1(((U8*)s)[0]) ) && ( 0x80 == NATIVE_TO_LATIN1(((U8*)s)[1]) ) ) && ( ( NATIVE_TO_LATIN1(((U8*)s)[2]) & 0xFE ) == 0x8E || ( NATIVE_TO_LATIN1(((U8*)s)[2]) & 0xFE ) == 0xA8 ) ) ? 3 : 0 )\
860 : ( 0x85 == NATIVE_TO_LATIN1(((U8*)s)[0]) ) ) \
f3b7b534
KW
861: ((e)-(s) > 1) ? \
862 ( ( is_utf8 ) ? \
c4c8e615
KW
863 ( ( ( 0xC2 == NATIVE_TO_LATIN1(((U8*)s)[0]) ) && ( 0x85 == NATIVE_TO_LATIN1(((U8*)s)[1]) ) ) ? 2 : 0 )\
864 : ( 0x85 == NATIVE_TO_LATIN1(((U8*)s)[0]) ) ) \
865: ( ((e)-(s) > 0) && ( !( is_utf8 ) ) ) ? ( 0x85 == NATIVE_TO_LATIN1(((U8*)s)[0]) ) : 0 )
f3b7b534
KW
866
867/*** GENERATED CODE ***/
0b50d62a 868#define is_PATWS_cp(cp) \
c4c8e615
KW
869( ( 0x09 <= NATIVE_TO_UNI(cp) && NATIVE_TO_UNI(cp) <= 0x0D ) || ( 0x0D < NATIVE_TO_UNI(cp) &&\
870( 0x20 == NATIVE_TO_UNI(cp) || ( 0x20 < NATIVE_TO_UNI(cp) && \
871( 0x85 == NATIVE_TO_UNI(cp) || ( 0x85 < NATIVE_TO_UNI(cp) && \
872( 0x200E == NATIVE_TO_UNI(cp) || ( 0x200E < NATIVE_TO_UNI(cp) && \
873( 0x200F == NATIVE_TO_UNI(cp) || ( 0x200F < NATIVE_TO_UNI(cp) && \
874( 0x2028 == NATIVE_TO_UNI(cp) || 0x2029 == NATIVE_TO_UNI(cp) ) ) ) ) ) ) ) ) ) ) )
0b50d62a 875
8770da0e 876
d10c72f2
KW
877#endif /* H_REGCHARCLASS */
878
58fbde93 879/* ex: set ro: */