Blame glib/pcre/pcre_chartables.c

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