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