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