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