1 /* 2 * Copyright (C) 2018 Alexander Borisov 3 * 4 * Author: Alexander Borisov <borisov@lexbor.com> 5 */ 6 7 #ifndef LEXBOR_STR_RES_H 8 #define LEXBOR_STR_RES_H 9 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' 13 14 #define LEXBOR_STR_RES_SLIP 0xFF 15 16 #endif /* LEXBOR_STR_RES_H */ 17 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 21 static const lxb_char_t 22 lexbor_str_res_ansi_replacement_character[] = "\xEF\xBF\xBD"; 23 #endif /* LEXBOR_STR_RES_ANSI_REPLACEMENT_CHARACTER_ENABLED */ 24 #endif /* LEXBOR_STR_RES_ANSI_REPLACEMENT_CHARACTER */ 25 26 #ifdef LEXBOR_STR_RES_MAP_NUM 27 #ifndef LEXBOR_STR_RES_MAP_NUM_ENABLED 28 #define LEXBOR_STR_RES_MAP_NUM_ENABLED 29 static 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 59 }; 60 #endif /* LEXBOR_STR_RES_MAP_NUM_ENABLED */ 61 #endif /* LEXBOR_STR_RES_MAP_NUM */ 62 63 64 #ifdef LEXBOR_STR_RES_MAP_HEX 65 #ifndef LEXBOR_STR_RES_MAP_HEX_ENABLED 66 #define LEXBOR_STR_RES_MAP_HEX_ENABLED 67 static 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 97 }; 98 #endif /* LEXBOR_STR_RES_MAP_HEX_ENABLED */ 99 #endif /* LEXBOR_STR_RES_MAP_HEX */ 100 101 102 #ifdef LEXBOR_STR_RES_MAP_LOWERCASE 103 #ifndef LEXBOR_STR_RES_MAP_LOWERCASE_ENABLED 104 #define LEXBOR_STR_RES_MAP_LOWERCASE_ENABLED 105 static 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 135 }; 136 #endif /* LEXBOR_STR_RES_MAP_LOWERCASE_ENABLED */ 137 #endif /* LEXBOR_STR_RES_MAP_LOWERCASE */ 138 139 140 #ifdef LEXBOR_STR_RES_MAP_UPPERCASE 141 #ifndef LEXBOR_STR_RES_MAP_UPPERCASE_ENABLED 142 #define LEXBOR_STR_RES_MAP_UPPERCASE_ENABLED 143 static 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 173 }; 174 #endif /* LEXBOR_STR_RES_MAP_UPPERCASE_ENABLED */ 175 #endif /* LEXBOR_STR_RES_MAP_UPPERCASE */ 176 177 178 #ifdef LEXBOR_STR_RES_REPLACEMENT_CHARACTER 179 #ifndef LEXBOR_STR_RES_REPLACEMENT_CHARACTER_ENABLED 180 #define LEXBOR_STR_RES_REPLACEMENT_CHARACTER_ENABLED 181 static 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 200 }; 201 #endif /* LEXBOR_STR_RES_REPLACEMENT_CHARACTER_ENABLED */ 202 #endif /* LEXBOR_STR_RES_REPLACEMENT_CHARACTER */ 203 204 205 #ifdef LEXBOR_STR_RES_ALPHANUMERIC_CHARACTER 206 #ifndef LEXBOR_STR_RES_ALPHANUMERIC_CHARACTER_ENABLED 207 #define LEXBOR_STR_RES_ALPHANUMERIC_CHARACTER_ENABLED 208 static 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 238 }; 239 #endif /* LEXBOR_STR_RES_ALPHANUMERIC_CHARACTER_ENABLED */ 240 #endif /* LEXBOR_STR_RES_ALPHANUMERIC_CHARACTER */ 241 242 243 #ifdef LEXBOR_STR_RES_ALPHA_CHARACTER 244 #ifndef LEXBOR_STR_RES_ALPHA_CHARACTER_ENABLED 245 #define LEXBOR_STR_RES_ALPHA_CHARACTER_ENABLED 246 static 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 276 }; 277 #endif /* LEXBOR_STR_RES_ALPHA_CHARACTER_ENABLED */ 278 #endif /* LEXBOR_STR_RES_ALPHA_CHARACTER */ 279 280 281 #ifdef LEXBOR_TOKENIZER_CHARS_MAP 282 #ifndef LEXBOR_TOKENIZER_CHARS_MAP_ENABLED 283 #define LEXBOR_TOKENIZER_CHARS_MAP_ENABLED 284 static 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 314 }; 315 #endif /* LEXBOR_TOKENIZER_CHARS_MAP_ENABLED */ 316 #endif /* LEXBOR_TOKENIZER_CHARS_MAP */ 317 318 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 322 static 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 325 }; 326 #endif /* LEXBOR_STR_RES_MAP_HEX_TO_CHAR_ENABLED */ 327 #endif /* LEXBOR_STR_RES_MAP_HEX_TO_CHAR */ 328 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 332 static 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 335 }; 336 #endif /* LEXBOR_STR_RES_MAP_HEX_TO_CHAR_LOWERCASE_ENABLED */ 337 #endif /* LEXBOR_STR_RES_MAP_HEX_TO_CHAR_LOWERCASE */ 338 339 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 343 static 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", 376 NULL 377 }; 378 #endif /* LEXBOR_STR_RES_CHAR_TO_TWO_HEX_VALUE_ENABLED */ 379 #endif /* LEXBOR_STR_RES_CHAR_TO_TWO_HEX_VALUE */ 380 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 384 static 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", 417 NULL 418 }; 419 #endif /* LEXBOR_STR_RES_CHAR_TO_TWO_HEX_VALUE_LOWERCASE_ENABLED */ 420 #endif /* LEXBOR_STR_RES_CHAR_TO_TWO_HEX_VALUE_LOWERCASE */ 421