llvm-project

Форк
0
/
CharInfo.cpp 
80 строк · 4.0 Кб
1
//===--- CharInfo.cpp - Static Data for Classifying ASCII Characters ------===//
2
//
3
// Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.
4
// See https://llvm.org/LICENSE.txt for license information.
5
// SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception
6
//
7
//===----------------------------------------------------------------------===//
8

9
#include "clang/Basic/CharInfo.h"
10

11
using namespace clang::charinfo;
12

13
// Statically initialize CharInfo table based on ASCII character set
14
// Reference: FreeBSD 7.2 /usr/share/misc/ascii
15
const uint16_t clang::charinfo::InfoTable[256] = {
16
  // 0 NUL         1 SOH         2 STX         3 ETX
17
  // 4 EOT         5 ENQ         6 ACK         7 BEL
18
  0           , 0           , 0           , 0           ,
19
  0           , 0           , 0           , 0           ,
20
  // 8 BS          9 HT         10 NL         11 VT
21
  //12 NP         13 CR         14 SO         15 SI
22
  0           , CHAR_HORZ_WS, CHAR_VERT_WS, CHAR_HORZ_WS,
23
  CHAR_HORZ_WS, CHAR_VERT_WS, 0           , 0           ,
24
  //16 DLE        17 DC1        18 DC2        19 DC3
25
  //20 DC4        21 NAK        22 SYN        23 ETB
26
  0           , 0           , 0           , 0           ,
27
  0           , 0           , 0           , 0           ,
28
  //24 CAN        25 EM         26 SUB        27 ESC
29
  //28 FS         29 GS         30 RS         31 US
30
  0           , 0           , 0           , 0           ,
31
  0           , 0           , 0           , 0           ,
32
  //32 SP         33  !         34  "         35  #
33
  //36  $         37  %         38  &         39  '
34
  CHAR_SPACE  , CHAR_PUNCT  , CHAR_PUNCT  , CHAR_PUNCT  ,
35
  CHAR_PUNCT  , CHAR_PUNCT  , CHAR_PUNCT  , CHAR_PUNCT  ,
36
  //40  (         41  )         42  *         43  +
37
  //44  ,         45  -         46  .         47  /
38
  CHAR_PUNCT  , CHAR_PUNCT  , CHAR_PUNCT  , CHAR_PUNCT  ,
39
  CHAR_PUNCT  , CHAR_PUNCT  , CHAR_PERIOD , CHAR_PUNCT  ,
40
  //48  0         49  1         50  2         51  3
41
  //52  4         53  5         54  6         55  7
42
  CHAR_DIGIT  , CHAR_DIGIT  , CHAR_DIGIT  , CHAR_DIGIT  ,
43
  CHAR_DIGIT  , CHAR_DIGIT  , CHAR_DIGIT  , CHAR_DIGIT  ,
44
  //56  8         57  9         58  :         59  ;
45
  //60  <         61  =         62  >         63  ?
46
  CHAR_DIGIT  , CHAR_DIGIT  , CHAR_PUNCT  , CHAR_PUNCT  ,
47
  CHAR_PUNCT  , CHAR_PUNCT  , CHAR_PUNCT  , CHAR_PUNCT  ,
48
  //64  @         65  A         66  B         67  C
49
  //68  D         69  E         70  F         71  G
50
  CHAR_PUNCT  , CHAR_XUPPER , CHAR_XUPPER , CHAR_XUPPER ,
51
  CHAR_XUPPER , CHAR_XUPPER , CHAR_XUPPER , CHAR_UPPER  ,
52
  //72  H         73  I         74  J         75  K
53
  //76  L         77  M         78  N         79  O
54
  CHAR_UPPER  , CHAR_UPPER  , CHAR_UPPER  , CHAR_UPPER  ,
55
  CHAR_UPPER  , CHAR_UPPER  , CHAR_UPPER  , CHAR_UPPER  ,
56
  //80  P         81  Q         82  R         83  S
57
  //84  T         85  U         86  V         87  W
58
  CHAR_UPPER  , CHAR_UPPER  , CHAR_UPPER  , CHAR_UPPER  ,
59
  CHAR_UPPER  , CHAR_UPPER  , CHAR_UPPER  , CHAR_UPPER  ,
60
  //88  X         89  Y         90  Z         91  [
61
  //92  \         93  ]         94  ^         95  _
62
  CHAR_UPPER  , CHAR_UPPER  , CHAR_UPPER  , CHAR_PUNCT  ,
63
  CHAR_PUNCT  , CHAR_PUNCT  , CHAR_PUNCT  , CHAR_UNDER  ,
64
  //96  `         97  a         98  b         99  c
65
  //100  d       101  e        102  f        103  g
66
  CHAR_PUNCT  , CHAR_XLOWER , CHAR_XLOWER , CHAR_XLOWER ,
67
  CHAR_XLOWER , CHAR_XLOWER , CHAR_XLOWER , CHAR_LOWER  ,
68
  //104  h       105  i        106  j        107  k
69
  //108  l       109  m        110  n        111  o
70
  CHAR_LOWER  , CHAR_LOWER  , CHAR_LOWER  , CHAR_LOWER  ,
71
  CHAR_LOWER  , CHAR_LOWER  , CHAR_LOWER  , CHAR_LOWER  ,
72
  //112  p       113  q        114  r        115  s
73
  //116  t       117  u        118  v        119  w
74
  CHAR_LOWER  , CHAR_LOWER  , CHAR_LOWER  , CHAR_LOWER  ,
75
  CHAR_LOWER  , CHAR_LOWER  , CHAR_LOWER  , CHAR_LOWER  ,
76
  //120  x       121  y        122  z        123  {
77
  //124  |       125  }        126  ~        127 DEL
78
  CHAR_LOWER  , CHAR_LOWER  , CHAR_LOWER  , CHAR_PUNCT  ,
79
  CHAR_PUNCT  , CHAR_PUNCT  , CHAR_PUNCT  , 0
80
};
81

Использование cookies

Мы используем файлы cookie в соответствии с Политикой конфиденциальности и Политикой использования cookies.

Нажимая кнопку «Принимаю», Вы даете АО «СберТех» согласие на обработку Ваших персональных данных в целях совершенствования нашего веб-сайта и Сервиса GitVerse, а также повышения удобства их использования.

Запретить использование cookies Вы можете самостоятельно в настройках Вашего браузера.