pcre2_chartables.c 7.9 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202
  1. /*************************************************
  2. * Perl-Compatible Regular Expressions *
  3. *************************************************/
  4. /* This file was automatically written by the pcre2_dftables auxiliary
  5. program. It contains character tables that are used when no external
  6. tables are passed to PCRE2 by the application that calls it. The tables
  7. are used only for characters whose code values are less than 256. */
  8. /* This set of tables was written in the C locale. */
  9. /* The pcre2_ftables program (which is distributed with PCRE2) can be used
  10. to build alternative versions of this file. This is necessary if you are
  11. running in an EBCDIC environment, or if you want to default to a different
  12. encoding, for example ISO-8859-1. When pcre2_dftables is run, it creates
  13. these tables in the "C" locale by default. This happens automatically if
  14. PCRE2 is configured with --enable-rebuild-chartables. However, you can run
  15. pcre2_dftables manually with the -L option to build tables using the LC_ALL
  16. locale. */
  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. #ifdef HAVE_CONFIG_H
  24. #include "config.h"
  25. #endif
  26. #include "pcre2_internal.h"
  27. const uint8_t PRIV(default_tables)[] = {
  28. /* This table is a lower casing table. */
  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. /* This table is a case flipping table. */
  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. /* This table contains bit maps for various character classes. Each map is 32
  95. bytes long and the bits run from the least significant end of each byte. The
  96. classes that have their own maps are: space, xdigit, digit, upper, lower, word,
  97. graph, print, punct, and cntrl. Other classes are built from combinations. */
  98. 0x00,0x3e,0x00,0x00,0x01,0x00,0x00,0x00, /* space */
  99. 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
  100. 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
  101. 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
  102. 0x00,0x00,0x00,0x00,0x00,0x00,0xff,0x03, /* xdigit */
  103. 0x7e,0x00,0x00,0x00,0x7e,0x00,0x00,0x00,
  104. 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
  105. 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
  106. 0x00,0x00,0x00,0x00,0x00,0x00,0xff,0x03, /* digit */
  107. 0x00,0x00,0x00,0x00,0x00,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, /* upper */
  111. 0xfe,0xff,0xff,0x07,0x00,0x00,0x00,0x00,
  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, /* lower */
  115. 0x00,0x00,0x00,0x00,0xfe,0xff,0xff,0x07,
  116. 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
  117. 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
  118. 0x00,0x00,0x00,0x00,0x00,0x00,0xff,0x03, /* word */
  119. 0xfe,0xff,0xff,0x87,0xfe,0xff,0xff,0x07,
  120. 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
  121. 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
  122. 0x00,0x00,0x00,0x00,0xfe,0xff,0xff,0xff, /* graph */
  123. 0xff,0xff,0xff,0xff,0xff,0xff,0xff,0x7f,
  124. 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
  125. 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
  126. 0x00,0x00,0x00,0x00,0xff,0xff,0xff,0xff, /* print */
  127. 0xff,0xff,0xff,0xff,0xff,0xff,0xff,0x7f,
  128. 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
  129. 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
  130. 0x00,0x00,0x00,0x00,0xfe,0xff,0x00,0xfc, /* punct */
  131. 0x01,0x00,0x00,0xf8,0x01,0x00,0x00,0x78,
  132. 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
  133. 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
  134. 0xff,0xff,0xff,0xff,0x00,0x00,0x00,0x00, /* cntrl */
  135. 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x80,
  136. 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
  137. 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
  138. /* This table identifies various classes of character by individual bits:
  139. 0x01 white space character
  140. 0x02 letter
  141. 0x04 lower case letter
  142. 0x08 decimal digit
  143. 0x10 alphanumeric or '_'
  144. */
  145. 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, /* 0- 7 */
  146. 0x00,0x01,0x01,0x01,0x01,0x01,0x00,0x00, /* 8- 15 */
  147. 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, /* 16- 23 */
  148. 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, /* 24- 31 */
  149. 0x01,0x00,0x00,0x00,0x00,0x00,0x00,0x00, /* - ' */
  150. 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, /* ( - / */
  151. 0x18,0x18,0x18,0x18,0x18,0x18,0x18,0x18, /* 0 - 7 */
  152. 0x18,0x18,0x00,0x00,0x00,0x00,0x00,0x00, /* 8 - ? */
  153. 0x00,0x12,0x12,0x12,0x12,0x12,0x12,0x12, /* @ - G */
  154. 0x12,0x12,0x12,0x12,0x12,0x12,0x12,0x12, /* H - O */
  155. 0x12,0x12,0x12,0x12,0x12,0x12,0x12,0x12, /* P - W */
  156. 0x12,0x12,0x12,0x00,0x00,0x00,0x00,0x10, /* X - _ */
  157. 0x00,0x16,0x16,0x16,0x16,0x16,0x16,0x16, /* ` - g */
  158. 0x16,0x16,0x16,0x16,0x16,0x16,0x16,0x16, /* h - o */
  159. 0x16,0x16,0x16,0x16,0x16,0x16,0x16,0x16, /* p - w */
  160. 0x16,0x16,0x16,0x00,0x00,0x00,0x00,0x00, /* x -127 */
  161. 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, /* 128-135 */
  162. 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, /* 136-143 */
  163. 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, /* 144-151 */
  164. 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, /* 152-159 */
  165. 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, /* 160-167 */
  166. 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, /* 168-175 */
  167. 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, /* 176-183 */
  168. 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, /* 184-191 */
  169. 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, /* 192-199 */
  170. 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, /* 200-207 */
  171. 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, /* 208-215 */
  172. 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, /* 216-223 */
  173. 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, /* 224-231 */
  174. 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, /* 232-239 */
  175. 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, /* 240-247 */
  176. 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00};/* 248-255 */
  177. /* End of pcre2_chartables.c */