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