-
Notifications
You must be signed in to change notification settings - Fork 1
/
table.go
149 lines (146 loc) · 7.03 KB
/
table.go
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
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
package ascii
const (
cntrl = 1 << iota
space
alpha
digit
lower
upper
print
punct
graph
xdigit
blank
hspace
)
const MaxASCII = 0x7f
var asciitable = [MaxASCII + 1]uint16{
0x00: cntrl, // 'nul'
0x01: cntrl, // 'soh'
0x02: cntrl, // 'stx'
0x03: cntrl, // 'etx'
0x04: cntrl, // 'eot'
0x05: cntrl, // 'enq'
0x06: cntrl, // 'ack'
0x07: cntrl, // 'bel' '\a'
0x08: cntrl, // 'bs' '\b'
0x09: cntrl | space | blank, // 'ht' '\t'
0x0A: cntrl | space, // 'nl' '\n'
0x0B: cntrl | space, // 'vt' '\v'
0x0C: cntrl | space, // 'ff' '\f'
0x0D: cntrl | space, // 'cr' '\r'
0x0E: cntrl, // 'so'
0x0F: cntrl, // 'si'
0x10: cntrl, // 'dle'
0x11: cntrl, // 'dc1'
0x12: cntrl, // 'dc2'
0x13: cntrl, // 'dc3'
0x14: cntrl, // 'dc4'
0x15: cntrl, // 'nak'
0x16: cntrl, // 'syn'
0x17: cntrl, // 'etb'
0x18: cntrl, // 'can'
0x19: cntrl, // 'em'
0x1A: cntrl, // 'sub'
0x1B: cntrl, // 'esc'
0x1C: cntrl, // 'fs'
0x1D: cntrl, // 'gs'
0x1E: cntrl, // 'rs'
0x1F: cntrl, // 'us'
0x20: space | print | blank, // ' '
0x21: punct | print | graph, // '!'
0x22: punct | print | graph, // '"'
0x23: punct | print | graph, // '#'
0x24: punct | print | graph, // '$'
0x25: punct | print | graph, // '%'
0x26: punct | print | graph, // '&'
0x27: punct | print | graph, // '\''
0x28: punct | print | graph, // '('
0x29: punct | print | graph, // ')'
0x2A: punct | print | graph, // '*'
0x2B: punct | print | graph, // '+'
0x2C: punct | print | graph, // ','
0x2D: punct | print | graph, // '-'
0x2E: punct | print | graph, // '.'
0x2F: punct | print | graph, // '/'
0x30: digit | xdigit | print | graph, // '0'
0x31: digit | xdigit | print | graph, // '1'
0x32: digit | xdigit | print | graph, // '2'
0x33: digit | xdigit | print | graph, // '3'
0x34: digit | xdigit | print | graph, // '4'
0x35: digit | xdigit | print | graph, // '5'
0x36: digit | xdigit | print | graph, // '6'
0x37: digit | xdigit | print | graph, // '7'
0x38: digit | xdigit | print | graph, // '8'
0x39: digit | xdigit | print | graph, // '9'
0x3A: punct | print | graph, // ':'
0x3B: punct | print | graph, // ';'
0x3C: punct | print | graph, // '<'
0x3D: punct | print | graph, // '='
0x3E: punct | print | graph, // '>'
0x3F: punct | print | graph, // '?'
0x40: punct | print | graph, // '@'
0x41: upper | xdigit | alpha | print | graph, // 'A'
0x42: upper | xdigit | alpha | print | graph, // 'B'
0x43: upper | xdigit | alpha | print | graph, // 'C'
0x44: upper | xdigit | alpha | print | graph, // 'D'
0x45: upper | xdigit | alpha | print | graph, // 'E'
0x46: upper | xdigit | alpha | print | graph, // 'F'
0x47: upper | alpha | print | graph, // 'G'
0x48: upper | alpha | print | graph, // 'H'
0x49: upper | alpha | print | graph, // 'I'
0x4A: upper | alpha | print | graph, // 'J'
0x4B: upper | alpha | print | graph, // 'K'
0x4C: upper | alpha | print | graph, // 'L'
0x4D: upper | alpha | print | graph, // 'M'
0x4E: upper | alpha | print | graph, // 'N'
0x4F: upper | alpha | print | graph, // 'O'
0x50: upper | alpha | print | graph, // 'P'
0x51: upper | alpha | print | graph, // 'Q'
0x52: upper | alpha | print | graph, // 'R'
0x53: upper | alpha | print | graph, // 'S'
0x54: upper | alpha | print | graph, // 'T'
0x55: upper | alpha | print | graph, // 'U'
0x56: upper | alpha | print | graph, // 'V'
0x57: upper | alpha | print | graph, // 'W'
0x58: upper | alpha | print | graph, // 'X'
0x59: upper | alpha | print | graph, // 'Y'
0x5A: upper | alpha | print | graph, // 'Z'
0x5B: punct | print | graph, // '['
0x5C: punct | print | graph, // '\\'
0x5D: punct | print | graph, // ']'
0x5E: punct | print | graph, // '^'
0x5F: punct | print | graph, // '_'
0x60: punct | print | graph, // '`'
0x61: lower | xdigit | alpha | print | graph, // 'a'
0x62: lower | xdigit | alpha | print | graph, // 'b'
0x63: lower | xdigit | alpha | print | graph, // 'c'
0x64: lower | xdigit | alpha | print | graph, // 'd'
0x65: lower | xdigit | alpha | print | graph, // 'e'
0x66: lower | xdigit | alpha | print | graph, // 'f'
0x67: lower | alpha | print | graph, // 'g'
0x68: lower | alpha | print | graph, // 'h'
0x69: lower | alpha | print | graph, // 'i'
0x6A: lower | alpha | print | graph, // 'j'
0x6B: lower | alpha | print | graph, // 'k'
0x6C: lower | alpha | print | graph, // 'l'
0x6D: lower | alpha | print | graph, // 'm'
0x6E: lower | alpha | print | graph, // 'n'
0x6F: lower | alpha | print | graph, // 'o'
0x70: lower | alpha | print | graph, // 'p'
0x71: lower | alpha | print | graph, // 'q'
0x72: lower | alpha | print | graph, // 'r'
0x73: lower | alpha | print | graph, // 's'
0x74: lower | alpha | print | graph, // 't'
0x75: lower | alpha | print | graph, // 'u'
0x76: lower | alpha | print | graph, // 'v'
0x77: lower | alpha | print | graph, // 'w'
0x78: lower | alpha | print | graph, // 'x'
0x79: lower | alpha | print | graph, // 'y'
0x7A: lower | alpha | print | graph, // 'z'
0x7B: punct | print | graph, // '{'
0x7C: punct | print | graph, // '|'
0x7D: punct | print | graph, // '}'
0x7E: punct | print | graph, // '~'
0x7F: cntrl, // 'del'
}