1/*************************************************
2* Perl-Compatible Regular Expressions *
3*************************************************/
4
5/* This file was automatically written by the pcre2_dftables auxiliary
6program. It contains character tables that are used when no external
7tables are passed to PCRE2 by the application that calls it. The tables
8are used only for characters whose code values are less than 256. */
9
10/* This set of tables was written in the C locale. */
11
12/* The pcre2_ftables program (which is distributed with PCRE2) can be used
13to build alternative versions of this file. This is necessary if you are
14running in an EBCDIC environment, or if you want to default to a different
15encoding, for example ISO-8859-1. When pcre2_dftables is run, it creates
16these tables in the "C" locale by default. This happens automatically if
17PCRE2 is configured with --enable-rebuild-chartables. However, you can run
18pcre2_dftables manually with the -L option to build tables using the LC_ALL
19locale. */
20
21/* The following #include is present because without it gcc 4.x may remove
22the array definition from the final binary if PCRE2 is built into a static
23library and dead code stripping is activated. This leads to link errors.
24Pulling in the header ensures that the array gets flagged as "someone
25outside this compilation unit might reference this" and so it will always
26be supplied to the linker. */
27
28#ifdef HAVE_CONFIG_H
29#include "config.h"
30#endif
31
32#include "pcre2_internal.h"
33
34const uint8_t PRIV(default_tables)[] = {
35
36/* This table is a lower casing table. */
37
38 0, 1, 2, 3, 4, 5, 6, 7,
39 8, 9, 10, 11, 12, 13, 14, 15,
40 16, 17, 18, 19, 20, 21, 22, 23,
41 24, 25, 26, 27, 28, 29, 30, 31,
42 32, 33, 34, 35, 36, 37, 38, 39,
43 40, 41, 42, 43, 44, 45, 46, 47,
44 48, 49, 50, 51, 52, 53, 54, 55,
45 56, 57, 58, 59, 60, 61, 62, 63,
46 64, 97, 98, 99,100,101,102,103,
47 104,105,106,107,108,109,110,111,
48 112,113,114,115,116,117,118,119,
49 120,121,122, 91, 92, 93, 94, 95,
50 96, 97, 98, 99,100,101,102,103,
51 104,105,106,107,108,109,110,111,
52 112,113,114,115,116,117,118,119,
53 120,121,122,123,124,125,126,127,
54 128,129,130,131,132,133,134,135,
55 136,137,138,139,140,141,142,143,
56 144,145,146,147,148,149,150,151,
57 152,153,154,155,156,157,158,159,
58 160,161,162,163,164,165,166,167,
59 168,169,170,171,172,173,174,175,
60 176,177,178,179,180,181,182,183,
61 184,185,186,187,188,189,190,191,
62 192,193,194,195,196,197,198,199,
63 200,201,202,203,204,205,206,207,
64 208,209,210,211,212,213,214,215,
65 216,217,218,219,220,221,222,223,
66 224,225,226,227,228,229,230,231,
67 232,233,234,235,236,237,238,239,
68 240,241,242,243,244,245,246,247,
69 248,249,250,251,252,253,254,255,
70
71/* This table is a case flipping table. */
72
73 0, 1, 2, 3, 4, 5, 6, 7,
74 8, 9, 10, 11, 12, 13, 14, 15,
75 16, 17, 18, 19, 20, 21, 22, 23,
76 24, 25, 26, 27, 28, 29, 30, 31,
77 32, 33, 34, 35, 36, 37, 38, 39,
78 40, 41, 42, 43, 44, 45, 46, 47,
79 48, 49, 50, 51, 52, 53, 54, 55,
80 56, 57, 58, 59, 60, 61, 62, 63,
81 64, 97, 98, 99,100,101,102,103,
82 104,105,106,107,108,109,110,111,
83 112,113,114,115,116,117,118,119,
84 120,121,122, 91, 92, 93, 94, 95,
85 96, 65, 66, 67, 68, 69, 70, 71,
86 72, 73, 74, 75, 76, 77, 78, 79,
87 80, 81, 82, 83, 84, 85, 86, 87,
88 88, 89, 90,123,124,125,126,127,
89 128,129,130,131,132,133,134,135,
90 136,137,138,139,140,141,142,143,
91 144,145,146,147,148,149,150,151,
92 152,153,154,155,156,157,158,159,
93 160,161,162,163,164,165,166,167,
94 168,169,170,171,172,173,174,175,
95 176,177,178,179,180,181,182,183,
96 184,185,186,187,188,189,190,191,
97 192,193,194,195,196,197,198,199,
98 200,201,202,203,204,205,206,207,
99 208,209,210,211,212,213,214,215,
100 216,217,218,219,220,221,222,223,
101 224,225,226,227,228,229,230,231,
102 232,233,234,235,236,237,238,239,
103 240,241,242,243,244,245,246,247,
104 248,249,250,251,252,253,254,255,
105
106/* This table contains bit maps for various character classes. Each map is 32
107bytes long and the bits run from the least significant end of each byte. The
108classes that have their own maps are: space, xdigit, digit, upper, lower, word,
109graph, print, punct, and cntrl. Other classes are built from combinations. */
110
111 0x00,0x3e,0x00,0x00,0x01,0x00,0x00,0x00, /* space */
112 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
113 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
114 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
115
116 0x00,0x00,0x00,0x00,0x00,0x00,0xff,0x03, /* xdigit */
117 0x7e,0x00,0x00,0x00,0x7e,0x00,0x00,0x00,
118 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
119 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
120
121 0x00,0x00,0x00,0x00,0x00,0x00,0xff,0x03, /* digit */
122 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
123 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
124 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
125
126 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, /* upper */
127 0xfe,0xff,0xff,0x07,0x00,0x00,0x00,0x00,
128 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
129 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
130
131 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, /* lower */
132 0x00,0x00,0x00,0x00,0xfe,0xff,0xff,0x07,
133 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
134 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
135
136 0x00,0x00,0x00,0x00,0x00,0x00,0xff,0x03, /* word */
137 0xfe,0xff,0xff,0x87,0xfe,0xff,0xff,0x07,
138 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
139 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
140
141 0x00,0x00,0x00,0x00,0xfe,0xff,0xff,0xff, /* graph */
142 0xff,0xff,0xff,0xff,0xff,0xff,0xff,0x7f,
143 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
144 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
145
146 0x00,0x00,0x00,0x00,0xff,0xff,0xff,0xff, /* print */
147 0xff,0xff,0xff,0xff,0xff,0xff,0xff,0x7f,
148 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
149 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
150
151 0x00,0x00,0x00,0x00,0xfe,0xff,0x00,0xfc, /* punct */
152 0x01,0x00,0x00,0xf8,0x01,0x00,0x00,0x78,
153 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
154 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
155
156 0xff,0xff,0xff,0xff,0x00,0x00,0x00,0x00, /* cntrl */
157 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x80,
158 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
159 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
160
161/* This table identifies various classes of character by individual bits:
162 0x01 white space character
163 0x02 letter
164 0x04 lower case letter
165 0x08 decimal digit
166 0x10 alphanumeric or '_'
167*/
168
169 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, /* 0- 7 */
170 0x00,0x01,0x01,0x01,0x01,0x01,0x00,0x00, /* 8- 15 */
171 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, /* 16- 23 */
172 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, /* 24- 31 */
173 0x01,0x00,0x00,0x00,0x00,0x00,0x00,0x00, /* - ' */
174 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, /* ( - / */
175 0x18,0x18,0x18,0x18,0x18,0x18,0x18,0x18, /* 0 - 7 */
176 0x18,0x18,0x00,0x00,0x00,0x00,0x00,0x00, /* 8 - ? */
177 0x00,0x12,0x12,0x12,0x12,0x12,0x12,0x12, /* @ - G */
178 0x12,0x12,0x12,0x12,0x12,0x12,0x12,0x12, /* H - O */
179 0x12,0x12,0x12,0x12,0x12,0x12,0x12,0x12, /* P - W */
180 0x12,0x12,0x12,0x00,0x00,0x00,0x00,0x10, /* X - _ */
181 0x00,0x16,0x16,0x16,0x16,0x16,0x16,0x16, /* ` - g */
182 0x16,0x16,0x16,0x16,0x16,0x16,0x16,0x16, /* h - o */
183 0x16,0x16,0x16,0x16,0x16,0x16,0x16,0x16, /* p - w */
184 0x16,0x16,0x16,0x00,0x00,0x00,0x00,0x00, /* x -127 */
185 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, /* 128-135 */
186 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, /* 136-143 */
187 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, /* 144-151 */
188 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, /* 152-159 */
189 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, /* 160-167 */
190 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, /* 168-175 */
191 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, /* 176-183 */
192 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, /* 184-191 */
193 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, /* 192-199 */
194 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, /* 200-207 */
195 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, /* 208-215 */
196 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, /* 216-223 */
197 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, /* 224-231 */
198 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, /* 232-239 */
199 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, /* 240-247 */
200 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00};/* 248-255 */
201
202/* End of pcre2_chartables.c */
203