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