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