7#ifndef LEXBOR_STR_RES_H
8#define LEXBOR_STR_RES_H
10#define LEXBOR_STR_RES_MAP_CHAR_OTHER '\00'
11#define LEXBOR_STR_RES_MAP_CHAR_A_Z_a_z '\01'
12#define LEXBOR_STR_RES_MAP_CHAR_WHITESPACE '\02'
14#define LEXBOR_STR_RES_SLIP 0xFF
18#ifdef LEXBOR_STR_RES_ANSI_REPLACEMENT_CHARACTER
19#ifndef LEXBOR_STR_RES_ANSI_REPLACEMENT_CHARACTER_ENABLED
20#define LEXBOR_STR_RES_ANSI_REPLACEMENT_CHARACTER_ENABLED
22lexbor_str_res_ansi_replacement_character[] =
"\xEF\xBF\xBD";
26#ifdef LEXBOR_STR_RES_MAP_NUM
27#ifndef LEXBOR_STR_RES_MAP_NUM_ENABLED
28#define LEXBOR_STR_RES_MAP_NUM_ENABLED
29static const lxb_char_t lexbor_str_res_map_num[] = {
30 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
31 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
32 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
33 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
34 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
35 0xff, 0xff, 0xff, 0x00, 0x01, 0x02, 0x03, 0x04, 0x05,
36 0x06, 0x07, 0x08, 0x09, 0xff, 0xff, 0xff, 0xff, 0xff,
37 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
38 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
39 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
40 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
41 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
42 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
43 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
44 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
45 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
46 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
47 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
48 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
49 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
50 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
51 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
52 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
53 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
54 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
55 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
56 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
57 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
58 0xff, 0xff, 0xff, 0xff
64#ifdef LEXBOR_STR_RES_MAP_HEX
65#ifndef LEXBOR_STR_RES_MAP_HEX_ENABLED
66#define LEXBOR_STR_RES_MAP_HEX_ENABLED
67static const lxb_char_t lexbor_str_res_map_hex[] = {
68 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
69 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
70 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
71 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
72 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
73 0xff, 0xff, 0xff, 0x00, 0x01, 0x02, 0x03, 0x04, 0x05,
74 0x06, 0x07, 0x08, 0x09, 0xff, 0xff, 0xff, 0xff, 0xff,
75 0xff, 0xff, 0x0a, 0x0b, 0x0c, 0x0d, 0x0e, 0x0f, 0xff,
76 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
77 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
78 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x0a, 0x0b,
79 0x0c, 0x0d, 0x0e, 0x0f, 0xff, 0xff, 0xff, 0xff, 0xff,
80 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
81 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
82 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
83 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
84 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
85 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
86 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
87 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
88 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
89 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
90 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
91 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
92 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
93 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
94 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
95 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
96 0xff, 0xff, 0xff, 0xff
102#ifdef LEXBOR_STR_RES_MAP_LOWERCASE
103#ifndef LEXBOR_STR_RES_MAP_LOWERCASE_ENABLED
104#define LEXBOR_STR_RES_MAP_LOWERCASE_ENABLED
105static const lxb_char_t lexbor_str_res_map_lowercase[] = {
106 0x00, 0x01, 0x02, 0x03, 0x04, 0x05, 0x06, 0x07, 0x08,
107 0x09, 0x0a, 0x0b, 0x0c, 0x0d, 0x0e, 0x0f, 0x10, 0x11,
108 0x12, 0x13, 0x14, 0x15, 0x16, 0x17, 0x18, 0x19, 0x1a,
109 0x1b, 0x1c, 0x1d, 0x1e, 0x1f, 0x20, 0x21, 0x22, 0x23,
110 0x24, 0x25, 0x26, 0x27, 0x28, 0x29, 0x2a, 0x2b, 0x2c,
111 0x2d, 0x2e, 0x2f, 0x30, 0x31, 0x32, 0x33, 0x34, 0x35,
112 0x36, 0x37, 0x38, 0x39, 0x3a, 0x3b, 0x3c, 0x3d, 0x3e,
113 0x3f, 0x40, 0x61, 0x62, 0x63, 0x64, 0x65, 0x66, 0x67,
114 0x68, 0x69, 0x6a, 0x6b, 0x6c, 0x6d, 0x6e, 0x6f, 0x70,
115 0x71, 0x72, 0x73, 0x74, 0x75, 0x76, 0x77, 0x78, 0x79,
116 0x7a, 0x5b, 0x5c, 0x5d, 0x5e, 0x5f, 0x60, 0x61, 0x62,
117 0x63, 0x64, 0x65, 0x66, 0x67, 0x68, 0x69, 0x6a, 0x6b,
118 0x6c, 0x6d, 0x6e, 0x6f, 0x70, 0x71, 0x72, 0x73, 0x74,
119 0x75, 0x76, 0x77, 0x78, 0x79, 0x7a, 0x7b, 0x7c, 0x7d,
120 0x7e, 0x7f, 0x80, 0x81, 0x82, 0x83, 0x84, 0x85, 0x86,
121 0x87, 0x88, 0x89, 0x8a, 0x8b, 0x8c, 0x8d, 0x8e, 0x8f,
122 0x90, 0x91, 0x92, 0x93, 0x94, 0x95, 0x96, 0x97, 0x98,
123 0x99, 0x9a, 0x9b, 0x9c, 0x9d, 0x9e, 0x9f, 0xa0, 0xa1,
124 0xa2, 0xa3, 0xa4, 0xa5, 0xa6, 0xa7, 0xa8, 0xa9, 0xaa,
125 0xab, 0xac, 0xad, 0xae, 0xaf, 0xb0, 0xb1, 0xb2, 0xb3,
126 0xb4, 0xb5, 0xb6, 0xb7, 0xb8, 0xb9, 0xba, 0xbb, 0xbc,
127 0xbd, 0xbe, 0xbf, 0xc0, 0xc1, 0xc2, 0xc3, 0xc4, 0xc5,
128 0xc6, 0xc7, 0xc8, 0xc9, 0xca, 0xcb, 0xcc, 0xcd, 0xce,
129 0xcf, 0xd0, 0xd1, 0xd2, 0xd3, 0xd4, 0xd5, 0xd6, 0xd7,
130 0xd8, 0xd9, 0xda, 0xdb, 0xdc, 0xdd, 0xde, 0xdf, 0xe0,
131 0xe1, 0xe2, 0xe3, 0xe4, 0xe5, 0xe6, 0xe7, 0xe8, 0xe9,
132 0xea, 0xeb, 0xec, 0xed, 0xee, 0xef, 0xf0, 0xf1, 0xf2,
133 0xf3, 0xf4, 0xf5, 0xf6, 0xf7, 0xf8, 0xf9, 0xfa, 0xfb,
134 0xfc, 0xfd, 0xfe, 0xff
140#ifdef LEXBOR_STR_RES_MAP_UPPERCASE
141#ifndef LEXBOR_STR_RES_MAP_UPPERCASE_ENABLED
142#define LEXBOR_STR_RES_MAP_UPPERCASE_ENABLED
143static const lxb_char_t lexbor_str_res_map_uppercase[] = {
144 0x00, 0x01, 0x02, 0x03, 0x04, 0x05, 0x06, 0x07, 0x08,
145 0x09, 0x0a, 0x0b, 0x0c, 0x0d, 0x0e, 0x0f, 0x10, 0x11,
146 0x12, 0x13, 0x14, 0x15, 0x16, 0x17, 0x18, 0x19, 0x1a,
147 0x1b, 0x1c, 0x1d, 0x1e, 0x1f, 0x20, 0x21, 0x22, 0x23,
148 0x24, 0x25, 0x26, 0x27, 0x28, 0x29, 0x2a, 0x2b, 0x2c,
149 0x2d, 0x2e, 0x2f, 0x30, 0x31, 0x32, 0x33, 0x34, 0x35,
150 0x36, 0x37, 0x38, 0x39, 0x3a, 0x3b, 0x3c, 0x3d, 0x3e,
151 0x3f, 0x40, 0x41, 0x42, 0x43, 0x44, 0x45, 0x46, 0x47,
152 0x48, 0x49, 0x4a, 0x4b, 0x4c, 0x4d, 0x4e, 0x4f, 0x50,
153 0x51, 0x52, 0x53, 0x54, 0x55, 0x56, 0x57, 0x58, 0x59,
154 0x5a, 0x5b, 0x5c, 0x5d, 0x5e, 0x5f, 0x60, 0x41, 0x42,
155 0x43, 0x44, 0x45, 0x46, 0x47, 0x48, 0x49, 0x4a, 0x4b,
156 0x4c, 0x4d, 0x4e, 0x4f, 0x50, 0x51, 0x52, 0x53, 0x54,
157 0x55, 0x56, 0x57, 0x58, 0x59, 0x5a, 0x7b, 0x7c, 0x7d,
158 0x7e, 0x7f, 0x80, 0x81, 0x82, 0x83, 0x84, 0x85, 0x86,
159 0x87, 0x88, 0x89, 0x8a, 0x8b, 0x8c, 0x8d, 0x8e, 0x8f,
160 0x90, 0x91, 0x92, 0x93, 0x94, 0x95, 0x96, 0x97, 0x98,
161 0x99, 0x9a, 0x9b, 0x9c, 0x9d, 0x9e, 0x9f, 0xa0, 0xa1,
162 0xa2, 0xa3, 0xa4, 0xa5, 0xa6, 0xa7, 0xa8, 0xa9, 0xaa,
163 0xab, 0xac, 0xad, 0xae, 0xaf, 0xb0, 0xb1, 0xb2, 0xb3,
164 0xb4, 0xb5, 0xb6, 0xb7, 0xb8, 0xb9, 0xba, 0xbb, 0xbc,
165 0xbd, 0xbe, 0xbf, 0xc0, 0xc1, 0xc2, 0xc3, 0xc4, 0xc5,
166 0xc6, 0xc7, 0xc8, 0xc9, 0xca, 0xcb, 0xcc, 0xcd, 0xce,
167 0xcf, 0xd0, 0xd1, 0xd2, 0xd3, 0xd4, 0xd5, 0xd6, 0xd7,
168 0xd8, 0xd9, 0xda, 0xdb, 0xdc, 0xdd, 0xde, 0xdf, 0xe0,
169 0xe1, 0xe2, 0xe3, 0xe4, 0xe5, 0xe6, 0xe7, 0xe8, 0xe9,
170 0xea, 0xeb, 0xec, 0xed, 0xee, 0xef, 0xf0, 0xf1, 0xf2,
171 0xf3, 0xf4, 0xf5, 0xf6, 0xf7, 0xf8, 0xf9, 0xfa, 0xfb,
172 0xfc, 0xfd, 0xfe, 0xff
178#ifdef LEXBOR_STR_RES_REPLACEMENT_CHARACTER
179#ifndef LEXBOR_STR_RES_REPLACEMENT_CHARACTER_ENABLED
180#define LEXBOR_STR_RES_REPLACEMENT_CHARACTER_ENABLED
181static const size_t lexbor_str_res_replacement_character[] = {
182 65533, 1, 2, 3, 4, 5, 6, 7, 8,
183 9, 10, 11, 12, 13, 14, 15, 16, 17,
184 18, 19, 20, 21, 22, 23, 24, 25, 26,
185 27, 28, 29, 30, 31, 32, 33, 34, 35,
186 36, 37, 38, 39, 40, 41, 42, 43, 44,
187 45, 46, 47, 48, 49, 50, 51, 52, 53,
188 54, 55, 56, 57, 58, 59, 60, 61, 62,
189 63, 64, 65, 66, 67, 68, 69, 70, 71,
190 72, 73, 74, 75, 76, 77, 78, 79, 80,
191 81, 82, 83, 84, 85, 86, 87, 88, 89,
192 90, 91, 92, 93, 94, 95, 96, 97, 98,
193 99, 100, 101, 102, 103, 104, 105, 106, 107,
194 108, 109, 110, 111, 112, 113, 114, 115, 116,
195 117, 118, 119, 120, 121, 122, 123, 124, 125,
196 126, 127, 8364, 129, 8218, 402, 8222, 8230, 8224,
197 8225, 710, 8240, 352, 8249, 338, 141, 381, 143,
198 144, 8216, 8217, 8220, 8221, 8226, 8211, 8212, 732,
199 8482, 353, 8250, 339, 157, 382, 376
205#ifdef LEXBOR_STR_RES_ALPHANUMERIC_CHARACTER
206#ifndef LEXBOR_STR_RES_ALPHANUMERIC_CHARACTER_ENABLED
207#define LEXBOR_STR_RES_ALPHANUMERIC_CHARACTER_ENABLED
208static const size_t lexbor_str_res_alphanumeric_character[] = {
209 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
210 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
211 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
212 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
213 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
214 0xff, 0xff, 0xff, 0x00, 0x01, 0x02, 0x03, 0x04, 0x05,
215 0x06, 0x07, 0x08, 0x09, 0xff, 0xff, 0xff, 0xff, 0xff,
216 0xff, 0xff, 0x0a, 0x0b, 0x0c, 0x0d, 0x0e, 0x0f, 0x0a,
217 0x0b, 0x0c, 0x0d, 0x0e, 0x0f, 0x0a, 0x0b, 0x0c, 0x0d,
218 0x0e, 0x0f, 0x0a, 0x0b, 0x0c, 0x0d, 0x0e, 0x0f, 0x0a,
219 0x0b, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x0c, 0x0d,
220 0x0e, 0x0f, 0x0a, 0x0b, 0x0c, 0x0d, 0x0e, 0x0f, 0x0a,
221 0x0b, 0x0c, 0x0d, 0x0e, 0x0f, 0x0a, 0x0b, 0x0c, 0x0d,
222 0x0e, 0x0f, 0x0a, 0x0b, 0x0c, 0x0d, 0xff, 0xff, 0xff,
223 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
224 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
225 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
226 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
227 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
228 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
229 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
230 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
231 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
232 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
233 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
234 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
235 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
236 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
237 0xff, 0xff, 0xff, 0xff
243#ifdef LEXBOR_STR_RES_ALPHA_CHARACTER
244#ifndef LEXBOR_STR_RES_ALPHA_CHARACTER_ENABLED
245#define LEXBOR_STR_RES_ALPHA_CHARACTER_ENABLED
246static const size_t lexbor_str_res_alpha_character[] = {
247 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
248 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
249 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
250 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
251 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
252 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
253 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
254 0xff, 0xff, 0x0a, 0x0b, 0x0c, 0x0d, 0x0e, 0x0f, 0x0a,
255 0x0b, 0x0c, 0x0d, 0x0e, 0x0f, 0x0a, 0x0b, 0x0c, 0x0d,
256 0x0e, 0x0f, 0x0a, 0x0b, 0x0c, 0x0d, 0x0e, 0x0f, 0x0a,
257 0x0b, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x0c, 0x0d,
258 0x0e, 0x0f, 0x0a, 0x0b, 0x0c, 0x0d, 0x0e, 0x0f, 0x0a,
259 0x0b, 0x0c, 0x0d, 0x0e, 0x0f, 0x0a, 0x0b, 0x0c, 0x0d,
260 0x0e, 0x0f, 0x0a, 0x0b, 0x0c, 0x0d, 0xff, 0xff, 0xff,
261 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
262 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
263 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
264 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
265 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
266 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
267 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
268 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
269 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
270 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
271 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
272 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
273 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
274 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
275 0xff, 0xff, 0xff, 0xff
281#ifdef LEXBOR_TOKENIZER_CHARS_MAP
282#ifndef LEXBOR_TOKENIZER_CHARS_MAP_ENABLED
283#define LEXBOR_TOKENIZER_CHARS_MAP_ENABLED
284static const unsigned char lexbor_tokenizer_chars_map[] = {
285 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
286 0x02, 0x02, 0xff, 0x02, 0x02, 0xff, 0xff, 0xff, 0xff,
287 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
288 0xff, 0xff, 0xff, 0xff, 0xff, 0x02, 0xff, 0xff, 0xff,
289 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
290 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
291 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
292 0xff, 0xff, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01,
293 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01,
294 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01,
295 0x01, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x01, 0x01,
296 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01,
297 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01,
298 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0xff, 0xff, 0xff,
299 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
300 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
301 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
302 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
303 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
304 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
305 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
306 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
307 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
308 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
309 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
310 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
311 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
312 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
313 0xff, 0xff, 0xff, 0xff
319#ifdef LEXBOR_STR_RES_MAP_HEX_TO_CHAR
320#ifndef LEXBOR_STR_RES_MAP_HEX_TO_CHAR_ENABLED
321#define LEXBOR_STR_RES_MAP_HEX_TO_CHAR_ENABLED
322static const lxb_char_t lexbor_str_res_map_hex_to_char[] = {
323 0x30, 0x31, 0x32, 0x33, 0x34, 0x35, 0x36, 0x37, 0x38,
324 0x39, 0x41, 0x42, 0x43, 0x44, 0x45, 0x46, 0x00
329#ifdef LEXBOR_STR_RES_MAP_HEX_TO_CHAR_LOWERCASE
330#ifndef LEXBOR_STR_RES_MAP_HEX_TO_CHAR_LOWERCASE_ENABLED
331#define LEXBOR_STR_RES_MAP_HEX_TO_CHAR_LOWERCASE_ENABLED
332static const lxb_char_t lexbor_str_res_map_hex_to_char_lowercase[] = {
333 0x30, 0x31, 0x32, 0x33, 0x34, 0x35, 0x36, 0x37, 0x38,
334 0x39, 0x61, 0x62, 0x63, 0x64, 0x65, 0x66, 0x00
340#ifdef LEXBOR_STR_RES_CHAR_TO_TWO_HEX_VALUE
341#ifndef LEXBOR_STR_RES_CHAR_TO_TWO_HEX_VALUE_ENABLED
342#define LEXBOR_STR_RES_CHAR_TO_TWO_HEX_VALUE_ENABLED
343static const char * lexbor_str_res_char_to_two_hex_value[257] = {
344 "00",
"01",
"02",
"03",
"04",
"05",
"06",
"07",
345 "08",
"09",
"0A",
"0B",
"0C",
"0D",
"0E",
"0F",
346 "10",
"11",
"12",
"13",
"14",
"15",
"16",
"17",
347 "18",
"19",
"1A",
"1B",
"1C",
"1D",
"1E",
"1F",
348 "20",
"21",
"22",
"23",
"24",
"25",
"26",
"27",
349 "28",
"29",
"2A",
"2B",
"2C",
"2D",
"2E",
"2F",
350 "30",
"31",
"32",
"33",
"34",
"35",
"36",
"37",
351 "38",
"39",
"3A",
"3B",
"3C",
"3D",
"3E",
"3F",
352 "40",
"41",
"42",
"43",
"44",
"45",
"46",
"47",
353 "48",
"49",
"4A",
"4B",
"4C",
"4D",
"4E",
"4F",
354 "50",
"51",
"52",
"53",
"54",
"55",
"56",
"57",
355 "58",
"59",
"5A",
"5B",
"5C",
"5D",
"5E",
"5F",
356 "60",
"61",
"62",
"63",
"64",
"65",
"66",
"67",
357 "68",
"69",
"6A",
"6B",
"6C",
"6D",
"6E",
"6F",
358 "70",
"71",
"72",
"73",
"74",
"75",
"76",
"77",
359 "78",
"79",
"7A",
"7B",
"7C",
"7D",
"7E",
"7F",
360 "80",
"81",
"82",
"83",
"84",
"85",
"86",
"87",
361 "88",
"89",
"8A",
"8B",
"8C",
"8D",
"8E",
"8F",
362 "90",
"91",
"92",
"93",
"94",
"95",
"96",
"97",
363 "98",
"99",
"9A",
"9B",
"9C",
"9D",
"9E",
"9F",
364 "A0",
"A1",
"A2",
"A3",
"A4",
"A5",
"A6",
"A7",
365 "A8",
"A9",
"AA",
"AB",
"AC",
"AD",
"AE",
"AF",
366 "B0",
"B1",
"B2",
"B3",
"B4",
"B5",
"B6",
"B7",
367 "B8",
"B9",
"BA",
"BB",
"BC",
"BD",
"BE",
"BF",
368 "C0",
"C1",
"C2",
"C3",
"C4",
"C5",
"C6",
"C7",
369 "C8",
"C9",
"CA",
"CB",
"CC",
"CD",
"CE",
"CF",
370 "D0",
"D1",
"D2",
"D3",
"D4",
"D5",
"D6",
"D7",
371 "D8",
"D9",
"DA",
"DB",
"DC",
"DD",
"DE",
"DF",
372 "E0",
"E1",
"E2",
"E3",
"E4",
"E5",
"E6",
"E7",
373 "E8",
"E9",
"EA",
"EB",
"EC",
"ED",
"EE",
"EF",
374 "F0",
"F1",
"F2",
"F3",
"F4",
"F5",
"F6",
"F7",
375 "F8",
"F9",
"FA",
"FB",
"FC",
"FD",
"FE",
"FF",
381#ifdef LEXBOR_STR_RES_CHAR_TO_TWO_HEX_VALUE_LOWERCASE
382#ifndef LEXBOR_STR_RES_CHAR_TO_TWO_HEX_VALUE_LOWERCASE_ENABLED
383#define LEXBOR_STR_RES_CHAR_TO_TWO_HEX_VALUE_LOWERCASE_ENABLED
384static const char * lexbor_str_res_char_to_two_hex_value_lowercase[257] = {
385 "00",
"01",
"02",
"03",
"04",
"05",
"06",
"07",
386 "08",
"09",
"0a",
"0b",
"0c",
"0d",
"0e",
"0f",
387 "10",
"11",
"12",
"13",
"14",
"15",
"16",
"17",
388 "18",
"19",
"1a",
"1b",
"1c",
"1d",
"1e",
"1f",
389 "20",
"21",
"22",
"23",
"24",
"25",
"26",
"27",
390 "28",
"29",
"2a",
"2b",
"2c",
"2d",
"2e",
"2f",
391 "30",
"31",
"32",
"33",
"34",
"35",
"36",
"37",
392 "38",
"39",
"3a",
"3b",
"3c",
"3d",
"3e",
"3f",
393 "40",
"41",
"42",
"43",
"44",
"45",
"46",
"47",
394 "48",
"49",
"4a",
"4b",
"4c",
"4d",
"4e",
"4f",
395 "50",
"51",
"52",
"53",
"54",
"55",
"56",
"57",
396 "58",
"59",
"5a",
"5b",
"5c",
"5d",
"5e",
"5f",
397 "60",
"61",
"62",
"63",
"64",
"65",
"66",
"67",
398 "68",
"69",
"6a",
"6b",
"6c",
"6d",
"6e",
"6f",
399 "70",
"71",
"72",
"73",
"74",
"75",
"76",
"77",
400 "78",
"79",
"7a",
"7b",
"7c",
"7d",
"7e",
"7f",
401 "80",
"81",
"82",
"83",
"84",
"85",
"86",
"87",
402 "88",
"89",
"8a",
"8b",
"8c",
"8d",
"8e",
"8f",
403 "90",
"91",
"92",
"93",
"94",
"95",
"96",
"97",
404 "98",
"99",
"9a",
"9b",
"9c",
"9d",
"9e",
"9f",
405 "a0",
"a1",
"a2",
"a3",
"a4",
"a5",
"a6",
"a7",
406 "a8",
"a9",
"aa",
"ab",
"ac",
"ad",
"ae",
"af",
407 "b0",
"b1",
"b2",
"b3",
"b4",
"b5",
"b6",
"b7",
408 "b8",
"b9",
"ba",
"bb",
"bc",
"bd",
"be",
"bf",
409 "c0",
"c1",
"c2",
"c3",
"c4",
"c5",
"c6",
"c7",
410 "c8",
"c9",
"ca",
"cb",
"cc",
"cd",
"ce",
"cf",
411 "d0",
"d1",
"d2",
"d3",
"d4",
"d5",
"d6",
"d7",
412 "d8",
"d9",
"da",
"db",
"dc",
"dd",
"de",
"df",
413 "e0",
"e1",
"e2",
"e3",
"e4",
"e5",
"e6",
"e7",
414 "e8",
"e9",
"ea",
"eb",
"ec",
"ed",
"ee",
"ef",
415 "f0",
"f1",
"f2",
"f3",
"f4",
"f5",
"f6",
"f7",
416 "f8",
"f9",
"fa",
"fb",
"fc",
"fd",
"fe",
"ff",