1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
|
#include "charflag.h"
#define C CF_CONTROL
#define S CF_SPACE
#define R CF_RETURN
#define D CF_DIGIT
#define L CF_LETTER
#define H CF_HEX
#define Y CF_SYMBOL
unsigned char charflag[256] = {
C,C,C,C,C,C,C,C,C,
S, // \t
R, // \n
S, // \v
S, // \f
R, // \r
C,C,C,C,C,C,C,C,C,C,C,C,C,C,C,C,C,C,
S, // space
Y, // !
Y, // "
Y, // #
Y, // $
Y, // %
Y, // &
Y, // '
Y, // (
Y, // )
Y, // *
Y, // +
Y, // ,
Y, // -
Y, // .
Y, // /
D|H, // 0
D|H, // 1
D|H, // 2
D|H, // 3
D|H, // 4
D|H, // 5
D|H, // 6
D|H, // 7
D|H, // 8
D|H, // 9
Y, // :
Y, // ;
Y, // <
Y, // =
Y, // >
Y, // ?
Y, // @
L|H, // A
L|H, // B
L|H, // C
L|H, // D
L|H, // E
L|H, // F
L, // G
L, // H
L, // I
L, // J
L, // K
L, // L
L, // M
L, // N
L, // O
L, // P
L, // Q
L, // R
L, // S
L, // T
L, // U
L, // V
L, // W
L, // X
L, // Y
L, // Z
Y, // [
Y, // \ (backslash)
Y, // ]
Y, // ^
Y, // _
Y, // `
L|H, // a
L|H, // b
L|H, // c
L|H, // d
L|H, // e
L|H, // f
L, // g
L, // h
L, // i
L, // j
L, // k
L, // l
L, // m
L, // n
L, // o
L, // p
L, // q
L, // r
L, // s
L, // t
L, // u
L, // v
L, // w
L, // x
L, // y
L, // z
Y, // {
Y, // |
Y, // }
Y, // ~
C, // DEL
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
};
#undef C
#undef S
#undef R
#undef D
#undef L
#undef H
#undef Y
|