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