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