clang
20.0.0git
lib
Basic
CharInfo.cpp
Go to the documentation of this file.
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
};
CharInfo.h
clang::charinfo
Definition:
CharInfo.h:18
clang::charinfo::InfoTable
const uint16_t InfoTable[256]
Definition:
CharInfo.cpp:15
clang::charinfo::CHAR_XLOWER
@ CHAR_XLOWER
Definition:
CharInfo.h:36
clang::charinfo::CHAR_XUPPER
@ CHAR_XUPPER
Definition:
CharInfo.h:35
clang::charinfo::CHAR_HORZ_WS
@ CHAR_HORZ_WS
Definition:
CharInfo.h:22
clang::charinfo::CHAR_UPPER
@ CHAR_UPPER
Definition:
CharInfo.h:27
clang::charinfo::CHAR_DIGIT
@ CHAR_DIGIT
Definition:
CharInfo.h:25
clang::charinfo::CHAR_UNDER
@ CHAR_UNDER
Definition:
CharInfo.h:29
clang::charinfo::CHAR_PERIOD
@ CHAR_PERIOD
Definition:
CharInfo.h:30
clang::charinfo::CHAR_VERT_WS
@ CHAR_VERT_WS
Definition:
CharInfo.h:23
clang::charinfo::CHAR_PUNCT
@ CHAR_PUNCT
Definition:
CharInfo.h:31
clang::charinfo::CHAR_LOWER
@ CHAR_LOWER
Definition:
CharInfo.h:28
clang::charinfo::CHAR_SPACE
@ CHAR_SPACE
Definition:
CharInfo.h:24
Generated on Fri Nov 22 2024 09:48:17 for clang by
1.9.6