/[pcre]/code/trunk/pcre_chartables.c.dist
ViewVC logotype

Contents of /code/trunk/pcre_chartables.c.dist

Parent Directory Parent Directory | Revision Log Revision Log


Revision 199 - (hide annotations) (download)
Tue Jul 31 14:39:09 2007 UTC (7 years, 4 months ago) by ph10
File size: 7938 byte(s)
Daniel's patch for config.h and Windows DLL declarations (not fully working).

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

webmaster@exim.org
ViewVC Help
Powered by ViewVC 1.1.12