/[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 128 - (hide annotations) (download)
Tue Mar 20 11:46:50 2007 UTC (7 years, 5 months ago) by ph10
File size: 7798 byte(s)
Make the use of dftables optional, and not the default. Further tidies to 
documentation.

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

webmaster@exim.org
ViewVC Help
Powered by ViewVC 1.1.12