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