Go to the documentation of this file.
5#if !((' ' == 32) && ('!' == 33) && ('"' == 34) && ('#' == 35) \
6 && ('%' == 37) && ('&' == 38) && ('\'' == 39) && ('(' == 40) \
7 && (')' == 41) && ('*' == 42) && ('+' == 43) && (',' == 44) \
8 && ('-' == 45) && ('.' == 46) && ('/' == 47) && ('0' == 48) \
9 && ('1' == 49) && ('2' == 50) && ('3' == 51) && ('4' == 52) \
10 && ('5' == 53) && ('6' == 54) && ('7' == 55) && ('8' == 56) \
11 && ('9' == 57) && (':' == 58) && (';' == 59) && ('<' == 60) \
12 && ('=' == 61) && ('>' == 62) && ('?' == 63) && ('A' == 65) \
13 && ('B' == 66) && ('C' == 67) && ('D' == 68) && ('E' == 69) \
14 && ('F' == 70) && ('G' == 71) && ('H' == 72) && ('I' == 73) \
15 && ('J' == 74) && ('K' == 75) && ('L' == 76) && ('M' == 77) \
16 && ('N' == 78) && ('O' == 79) && ('P' == 80) && ('Q' == 81) \
17 && ('R' == 82) && ('S' == 83) && ('T' == 84) && ('U' == 85) \
18 && ('V' == 86) && ('W' == 87) && ('X' == 88) && ('Y' == 89) \
19 && ('Z' == 90) && ('[' == 91) && ('\\' == 92) && (']' == 93) \
20 && ('^' == 94) && ('_' == 95) && ('a' == 97) && ('b' == 98) \
21 && ('c' == 99) && ('d' == 100) && ('e' == 101) && ('f' == 102) \
22 && ('g' == 103) && ('h' == 104) && ('i' == 105) && ('j' == 106) \
23 && ('k' == 107) && ('l' == 108) && ('m' == 109) && ('n' == 110) \
24 && ('o' == 111) && ('p' == 112) && ('q' == 113) && ('r' == 114) \
25 && ('s' == 115) && ('t' == 116) && ('u' == 117) && ('v' == 118) \
26 && ('w' == 119) && ('x' == 120) && ('y' == 121) && ('z' == 122) \
27 && ('{' == 123) && ('|' == 124) && ('}' == 125) && ('~' == 126))
28/* The character set is not based on ISO-646. */
29#error "gperf generated tables don't work with this execution character set. Please report a bug to <bug-gperf@gnu.org>."
32#line 18 "src/treebuilder/element-type.gperf"
36#include "treebuilder/element-type.h"
38#line 25 "src/treebuilder/element-type.gperf"
39struct element_type_map;
41#define TOTAL_KEYWORDS 106
42#define MIN_WORD_LENGTH 1
43#define MAX_WORD_LENGTH 14
44#define MIN_HASH_VALUE 1
45#define MAX_HASH_VALUE 219
46/* maximum key range = 219, duplicates = 0 */
49#define GPERF_DOWNCASE 1
50static const unsigned char gperf_downcase[256] =
52 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14,
53 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29,
54 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44,
55 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59,
56 60, 61, 62, 63, 64, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106,
57 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121,
58 122, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104,
59 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119,
60 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134,
61 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149,
62 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164,
63 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179,
64 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194,
65 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209,
66 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224,
67 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, 239,
68 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, 250, 251, 252, 253, 254,
73#ifndef GPERF_CASE_STRNCMP
74#define GPERF_CASE_STRNCMP 1
76gperf_case_strncmp (register const char *s1, register const char *s2, register size_t n)
80 unsigned char c1 = gperf_downcase[(unsigned char)*s1++];
81 unsigned char c2 = gperf_downcase[(unsigned char)*s2++];
82 if (c1 != 0 && c1 == c2)
87 return (int)c1 - (int)c2;
101hubbub_element_type_generated_hash (register const char *str, register size_t len)
103 static const unsigned char asso_values[] =
105 220, 220, 220, 220, 220, 220, 220, 220, 220, 220,
106 220, 220, 220, 220, 220, 220, 220, 220, 220, 220,
107 220, 220, 220, 220, 220, 220, 220, 220, 220, 220,
108 220, 220, 220, 220, 220, 220, 220, 220, 220, 220,
109 220, 220, 220, 220, 220, 220, 220, 220, 220, 60,
110 20, 70, 105, 50, 10, 50, 5, 220, 220, 220,
111 220, 220, 220, 220, 220, 0, 95, 40, 20, 10,
112 5, 35, 35, 60, 70, 15, 55, 5, 15, 70,
113 35, 0, 0, 10, 0, 100, 125, 40, 10, 65,
114 220, 220, 220, 220, 220, 220, 220, 0, 95, 40,
115 20, 10, 5, 35, 35, 60, 70, 15, 55, 5,
116 15, 70, 35, 0, 0, 10, 0, 100, 125, 40,
117 10, 65, 220, 220, 220, 220, 220, 220, 220, 220,
118 220, 220, 220, 220, 220, 220, 220, 220, 220, 220,
119 220, 220, 220, 220, 220, 220, 220, 220, 220, 220,
120 220, 220, 220, 220, 220, 220, 220, 220, 220, 220,
121 220, 220, 220, 220, 220, 220, 220, 220, 220, 220,
122 220, 220, 220, 220, 220, 220, 220, 220, 220, 220,
123 220, 220, 220, 220, 220, 220, 220, 220, 220, 220,
124 220, 220, 220, 220, 220, 220, 220, 220, 220, 220,
125 220, 220, 220, 220, 220, 220, 220, 220, 220, 220,
126 220, 220, 220, 220, 220, 220, 220, 220, 220, 220,
127 220, 220, 220, 220, 220, 220, 220, 220, 220, 220,
128 220, 220, 220, 220, 220, 220, 220, 220, 220, 220,
129 220, 220, 220, 220, 220, 220, 220, 220, 220, 220,
130 220, 220, 220, 220, 220, 220, 220, 220
132 register unsigned int hval = len;
137 hval += asso_values[(unsigned char)str[1]+2];
138#if (defined __cplusplus && (__cplusplus >= 201703L || (__cplusplus >= 201103L && defined __clang__ && __clang_major__ + (__clang_minor__ >= 9) > 3))) || (defined __STDC_VERSION__ && __STDC_VERSION__ >= 202000L && ((defined __GNUC__ && __GNUC__ >= 10) || (defined __clang__ && __clang_major__ >= 9)))
140#elif (defined __GNUC__ && __GNUC__ >= 7) || (defined __clang__ && __clang_major__ >= 10)
141 __attribute__ ((__fallthrough__));
145 hval += asso_values[(unsigned char)str[0]];
148 return hval + asso_values[(unsigned char)str[len - 1]];
151#if (defined __GNUC__ && __GNUC__ + (__GNUC_MINOR__ >= 6) > 4) || (defined __clang__ && __clang_major__ >= 3)
152#pragma GCC diagnostic push
153#pragma GCC diagnostic ignored "-Wmissing-field-initializers"
155static const struct element_type_map wordlist[] =
157#line 27 "src/treebuilder/element-type.gperf"
159#line 127 "src/treebuilder/element-type.gperf"
161#line 31 "src/treebuilder/element-type.gperf"
163#line 30 "src/treebuilder/element-type.gperf"
165#line 61 "src/treebuilder/element-type.gperf"
167#line 62 "src/treebuilder/element-type.gperf"
169#line 66 "src/treebuilder/element-type.gperf"
170 {"frameset", FRAMESET},
171#line 64 "src/treebuilder/element-type.gperf"
173#line 113 "src/treebuilder/element-type.gperf"
175#line 32 "src/treebuilder/element-type.gperf"
176 {"article", ARTICLE},
177#line 63 "src/treebuilder/element-type.gperf"
178 {"foreignobject", FOREIGNOBJECT},
179#line 96 "src/treebuilder/element-type.gperf"
181#line 65 "src/treebuilder/element-type.gperf"
183#line 109 "src/treebuilder/element-type.gperf"
185#line 28 "src/treebuilder/element-type.gperf"
186 {"address", ADDRESS},
187#line 99 "src/treebuilder/element-type.gperf"
188 {"noscript", NOSCRIPT},
189#line 110 "src/treebuilder/element-type.gperf"
191#line 121 "src/treebuilder/element-type.gperf"
193#line 58 "src/treebuilder/element-type.gperf"
194 {"fieldset", FIELDSET},
195#line 126 "src/treebuilder/element-type.gperf"
197#line 98 "src/treebuilder/element-type.gperf"
198 {"noframes", NOFRAMES},
199#line 60 "src/treebuilder/element-type.gperf"
201#line 74 "src/treebuilder/element-type.gperf"
203#line 52 "src/treebuilder/element-type.gperf"
205#line 123 "src/treebuilder/element-type.gperf"
207#line 97 "src/treebuilder/element-type.gperf"
208 {"noembed", NOEMBED},
209#line 122 "src/treebuilder/element-type.gperf"
210 {"textarea", TEXTAREA},
211#line 89 "src/treebuilder/element-type.gperf"
213#line 59 "src/treebuilder/element-type.gperf"
214 {"figcaption", FIGCAPTION},
215#line 48 "src/treebuilder/element-type.gperf"
217#line 108 "src/treebuilder/element-type.gperf"
219#line 111 "src/treebuilder/element-type.gperf"
221#line 72 "src/treebuilder/element-type.gperf"
223#line 119 "src/treebuilder/element-type.gperf"
225#line 92 "src/treebuilder/element-type.gperf"
227#line 118 "src/treebuilder/element-type.gperf"
229#line 107 "src/treebuilder/element-type.gperf"
230 {"plaintext", PLAINTEXT},
231#line 86 "src/treebuilder/element-type.gperf"
232 {"marquee", MARQUEE},
233#line 131 "src/treebuilder/element-type.gperf"
235#line 47 "src/treebuilder/element-type.gperf"
236 {"command", COMMAND},
237#line 85 "src/treebuilder/element-type.gperf"
238 {"malignmark", MALIGNMARK},
239#line 105 "src/treebuilder/element-type.gperf"
241#line 50 "src/treebuilder/element-type.gperf"
242 {"details", DETAILS},
243#line 51 "src/treebuilder/element-type.gperf"
245#line 93 "src/treebuilder/element-type.gperf"
247#line 44 "src/treebuilder/element-type.gperf"
249#line 91 "src/treebuilder/element-type.gperf"
251#line 46 "src/treebuilder/element-type.gperf"
252 {"colgroup", COLGROUP},
253#line 87 "src/treebuilder/element-type.gperf"
255#line 106 "src/treebuilder/element-type.gperf"
257#line 56 "src/treebuilder/element-type.gperf"
259#line 83 "src/treebuilder/element-type.gperf"
261#line 120 "src/treebuilder/element-type.gperf"
263#line 103 "src/treebuilder/element-type.gperf"
265#line 54 "src/treebuilder/element-type.gperf"
267#line 73 "src/treebuilder/element-type.gperf"
269#line 125 "src/treebuilder/element-type.gperf"
271#line 100 "src/treebuilder/element-type.gperf"
273#line 41 "src/treebuilder/element-type.gperf"
275#line 45 "src/treebuilder/element-type.gperf"
277#line 49 "src/treebuilder/element-type.gperf"
279#line 80 "src/treebuilder/element-type.gperf"
281#line 43 "src/treebuilder/element-type.gperf"
282 {"caption", CAPTION},
283#line 29 "src/treebuilder/element-type.gperf"
284 {"annotation-xml", ANNOTATION_XML},
285#line 57 "src/treebuilder/element-type.gperf"
287#line 90 "src/treebuilder/element-type.gperf"
289#line 124 "src/treebuilder/element-type.gperf"
291#line 77 "src/treebuilder/element-type.gperf"
293#line 84 "src/treebuilder/element-type.gperf"
294 {"listing", LISTING},
295#line 102 "src/treebuilder/element-type.gperf"
296 {"optgroup", OPTGROUP},
297#line 33 "src/treebuilder/element-type.gperf"
299#line 104 "src/treebuilder/element-type.gperf"
301#line 94 "src/treebuilder/element-type.gperf"
303#line 132 "src/treebuilder/element-type.gperf"
305#line 76 "src/treebuilder/element-type.gperf"
307#line 117 "src/treebuilder/element-type.gperf"
308 {"summary", SUMMARY},
309#line 128 "src/treebuilder/element-type.gperf"
311#line 39 "src/treebuilder/element-type.gperf"
312 {"blockquote", BLOCKQUOTE},
313#line 82 "src/treebuilder/element-type.gperf"
315#line 95 "src/treebuilder/element-type.gperf"
317#line 71 "src/treebuilder/element-type.gperf"
319#line 112 "src/treebuilder/element-type.gperf"
321#line 101 "src/treebuilder/element-type.gperf"
323#line 36 "src/treebuilder/element-type.gperf"
324 {"basefont", BASEFONT},
325#line 88 "src/treebuilder/element-type.gperf"
327#line 78 "src/treebuilder/element-type.gperf"
329#line 55 "src/treebuilder/element-type.gperf"
331#line 38 "src/treebuilder/element-type.gperf"
333#line 35 "src/treebuilder/element-type.gperf"
335#line 116 "src/treebuilder/element-type.gperf"
337#line 114 "src/treebuilder/element-type.gperf"
339#line 70 "src/treebuilder/element-type.gperf"
341#line 42 "src/treebuilder/element-type.gperf"
343#line 69 "src/treebuilder/element-type.gperf"
345#line 68 "src/treebuilder/element-type.gperf"
347#line 53 "src/treebuilder/element-type.gperf"
349#line 40 "src/treebuilder/element-type.gperf"
351#line 67 "src/treebuilder/element-type.gperf"
353#line 79 "src/treebuilder/element-type.gperf"
355#line 130 "src/treebuilder/element-type.gperf"
357#line 115 "src/treebuilder/element-type.gperf"
359#line 81 "src/treebuilder/element-type.gperf"
360 {"isindex", ISINDEX},
361#line 37 "src/treebuilder/element-type.gperf"
362 {"bgsound", BGSOUND},
363#line 34 "src/treebuilder/element-type.gperf"
365#line 129 "src/treebuilder/element-type.gperf"
367#line 75 "src/treebuilder/element-type.gperf"
370#if (defined __GNUC__ && __GNUC__ + (__GNUC_MINOR__ >= 6) > 4) || (defined __clang__ && __clang_major__ >= 3)
371#pragma GCC diagnostic pop
374static const struct element_type_map *
375hubbub_element_type_generated_lookup (register const char *str, register size_t len)
377 if (len <= MAX_WORD_LENGTH && len >= MIN_WORD_LENGTH)
379 register unsigned int key = hubbub_element_type_generated_hash (str, len);
381 if (key <= MAX_HASH_VALUE && key >= MIN_HASH_VALUE)
383 register const struct element_type_map *resword;
388 resword = &wordlist[0];
391 resword = &wordlist[1];
394 resword = &wordlist[2];
397 resword = &wordlist[3];
400 resword = &wordlist[4];
403 resword = &wordlist[5];
406 resword = &wordlist[6];
409 resword = &wordlist[7];
412 resword = &wordlist[8];
415 resword = &wordlist[9];
418 resword = &wordlist[10];
421 resword = &wordlist[11];
424 resword = &wordlist[12];
427 resword = &wordlist[13];
430 resword = &wordlist[14];
433 resword = &wordlist[15];
436 resword = &wordlist[16];
439 resword = &wordlist[17];
442 resword = &wordlist[18];
445 resword = &wordlist[19];
448 resword = &wordlist[20];
451 resword = &wordlist[21];
454 resword = &wordlist[22];
457 resword = &wordlist[23];
460 resword = &wordlist[24];
463 resword = &wordlist[25];
466 resword = &wordlist[26];
469 resword = &wordlist[27];
472 resword = &wordlist[28];
475 resword = &wordlist[29];
478 resword = &wordlist[30];
481 resword = &wordlist[31];
484 resword = &wordlist[32];
487 resword = &wordlist[33];
490 resword = &wordlist[34];
493 resword = &wordlist[35];
496 resword = &wordlist[36];
499 resword = &wordlist[37];
502 resword = &wordlist[38];
505 resword = &wordlist[39];
508 resword = &wordlist[40];
511 resword = &wordlist[41];
514 resword = &wordlist[42];
517 resword = &wordlist[43];
520 resword = &wordlist[44];
523 resword = &wordlist[45];
526 resword = &wordlist[46];
529 resword = &wordlist[47];
532 resword = &wordlist[48];
535 resword = &wordlist[49];
538 resword = &wordlist[50];
541 resword = &wordlist[51];
544 resword = &wordlist[52];
547 resword = &wordlist[53];
550 resword = &wordlist[54];
553 resword = &wordlist[55];
556 resword = &wordlist[56];
559 resword = &wordlist[57];
562 resword = &wordlist[58];
565 resword = &wordlist[59];
568 resword = &wordlist[60];
571 resword = &wordlist[61];
574 resword = &wordlist[62];
577 resword = &wordlist[63];
580 resword = &wordlist[64];
583 resword = &wordlist[65];
586 resword = &wordlist[66];
589 resword = &wordlist[67];
592 resword = &wordlist[68];
595 resword = &wordlist[69];
598 resword = &wordlist[70];
601 resword = &wordlist[71];
604 resword = &wordlist[72];
607 resword = &wordlist[73];
610 resword = &wordlist[74];
613 resword = &wordlist[75];
616 resword = &wordlist[76];
619 resword = &wordlist[77];
622 resword = &wordlist[78];
625 resword = &wordlist[79];
628 resword = &wordlist[80];
631 resword = &wordlist[81];
634 resword = &wordlist[82];
637 resword = &wordlist[83];
640 resword = &wordlist[84];
643 resword = &wordlist[85];
646 resword = &wordlist[86];
649 resword = &wordlist[87];
652 resword = &wordlist[88];
655 resword = &wordlist[89];
658 resword = &wordlist[90];
661 resword = &wordlist[91];
664 resword = &wordlist[92];
667 resword = &wordlist[93];
670 resword = &wordlist[94];
673 resword = &wordlist[95];
676 resword = &wordlist[96];
679 resword = &wordlist[97];
682 resword = &wordlist[98];
685 resword = &wordlist[99];
688 resword = &wordlist[100];
691 resword = &wordlist[101];
694 resword = &wordlist[102];
697 resword = &wordlist[103];
700 resword = &wordlist[104];
703 resword = &wordlist[105];
706 return (struct element_type_map *) 0;
709 register const char *s = resword->name;
711 if ((((unsigned char)*str ^ (unsigned char)*s) & ~32) == 0 && !gperf_case_strncmp (str, s, len) && s[len] == '\0')
716 return (struct element_type_map *) 0;