1/* ANSI-C code produced by gperf version 3.0.4 */ 2/* Command-line: gperf -t --output-file scripts/genksyms/keywords.hash.c_shipped -a -C -E -g -k '1,3,$' -p -t scripts/genksyms/keywords.gperf */ 3 4#if !((' ' == 32) && ('!' == 33) && ('"' == 34) && ('#' == 35) \ 5 && ('%' == 37) && ('&' == 38) && ('\'' == 39) && ('(' == 40) \ 6 && (')' == 41) && ('*' == 42) && ('+' == 43) && (',' == 44) \ 7 && ('-' == 45) && ('.' == 46) && ('/' == 47) && ('0' == 48) \ 8 && ('1' == 49) && ('2' == 50) && ('3' == 51) && ('4' == 52) \ 9 && ('5' == 53) && ('6' == 54) && ('7' == 55) && ('8' == 56) \ 10 && ('9' == 57) && (':' == 58) && (';' == 59) && ('<' == 60) \ 11 && ('=' == 61) && ('>' == 62) && ('?' == 63) && ('A' == 65) \ 12 && ('B' == 66) && ('C' == 67) && ('D' == 68) && ('E' == 69) \ 13 && ('F' == 70) && ('G' == 71) && ('H' == 72) && ('I' == 73) \ 14 && ('J' == 74) && ('K' == 75) && ('L' == 76) && ('M' == 77) \ 15 && ('N' == 78) && ('O' == 79) && ('P' == 80) && ('Q' == 81) \ 16 && ('R' == 82) && ('S' == 83) && ('T' == 84) && ('U' == 85) \ 17 && ('V' == 86) && ('W' == 87) && ('X' == 88) && ('Y' == 89) \ 18 && ('Z' == 90) && ('[' == 91) && ('\\' == 92) && (']' == 93) \ 19 && ('^' == 94) && ('_' == 95) && ('a' == 97) && ('b' == 98) \ 20 && ('c' == 99) && ('d' == 100) && ('e' == 101) && ('f' == 102) \ 21 && ('g' == 103) && ('h' == 104) && ('i' == 105) && ('j' == 106) \ 22 && ('k' == 107) && ('l' == 108) && ('m' == 109) && ('n' == 110) \ 23 && ('o' == 111) && ('p' == 112) && ('q' == 113) && ('r' == 114) \ 24 && ('s' == 115) && ('t' == 116) && ('u' == 117) && ('v' == 118) \ 25 && ('w' == 119) && ('x' == 120) && ('y' == 121) && ('z' == 122) \ 26 && ('{' == 123) && ('|' == 124) && ('}' == 125) && ('~' == 126)) 27/* The character set is not based on ISO-646. */ 28#error "gperf generated tables don't work with this execution character set. Please report a bug to <bug-gnu-gperf@gnu.org>." 29#endif 30 31#line 4 "scripts/genksyms/keywords.gperf" 32 33struct resword; 34static const struct resword *is_reserved_word(register const char *str, register unsigned int len); 35#line 8 "scripts/genksyms/keywords.gperf" 36struct resword { const char *name; int token; }; 37/* maximum key range = 98, duplicates = 0 */ 38 39#ifdef __GNUC__ 40__inline 41#else 42#ifdef __cplusplus 43inline 44#endif 45#endif 46static unsigned int 47is_reserved_hash (register const char *str, register unsigned int len) 48{ 49 static const unsigned char asso_values[] = 50 { 51 101, 101, 101, 101, 101, 101, 101, 101, 101, 101, 52 101, 101, 101, 101, 101, 101, 101, 101, 101, 101, 53 101, 101, 101, 101, 101, 101, 101, 101, 101, 101, 54 101, 101, 101, 101, 101, 101, 101, 101, 101, 101, 55 101, 101, 101, 101, 101, 101, 101, 101, 101, 101, 56 101, 101, 101, 101, 101, 101, 101, 101, 101, 101, 57 101, 101, 101, 101, 101, 101, 101, 101, 101, 0, 58 101, 101, 101, 101, 101, 101, 15, 101, 101, 101, 59 0, 101, 101, 101, 101, 101, 101, 101, 101, 101, 60 101, 101, 101, 101, 101, 0, 101, 0, 101, 5, 61 25, 20, 55, 30, 101, 15, 101, 101, 10, 0, 62 10, 40, 10, 101, 10, 5, 0, 10, 15, 101, 63 101, 101, 101, 101, 101, 101, 101, 101, 101, 101, 64 101, 101, 101, 101, 101, 101, 101, 101, 101, 101, 65 101, 101, 101, 101, 101, 101, 101, 101, 101, 101, 66 101, 101, 101, 101, 101, 101, 101, 101, 101, 101, 67 101, 101, 101, 101, 101, 101, 101, 101, 101, 101, 68 101, 101, 101, 101, 101, 101, 101, 101, 101, 101, 69 101, 101, 101, 101, 101, 101, 101, 101, 101, 101, 70 101, 101, 101, 101, 101, 101, 101, 101, 101, 101, 71 101, 101, 101, 101, 101, 101, 101, 101, 101, 101, 72 101, 101, 101, 101, 101, 101, 101, 101, 101, 101, 73 101, 101, 101, 101, 101, 101, 101, 101, 101, 101, 74 101, 101, 101, 101, 101, 101, 101, 101, 101, 101, 75 101, 101, 101, 101, 101, 101, 101, 101, 101, 101, 76 101, 101, 101, 101, 101, 101 77 }; 78 return len + asso_values[(unsigned char)str[2]] + asso_values[(unsigned char)str[0]] + asso_values[(unsigned char)str[len - 1]]; 79} 80 81#ifdef __GNUC__ 82__inline 83#if defined __GNUC_STDC_INLINE__ || defined __GNUC_GNU_INLINE__ 84__attribute__ ((__gnu_inline__)) 85#endif 86#endif 87const struct resword * 88is_reserved_word (register const char *str, register unsigned int len) 89{ 90 enum 91 { 92 TOTAL_KEYWORDS = 46, 93 MIN_WORD_LENGTH = 3, 94 MAX_WORD_LENGTH = 24, 95 MIN_HASH_VALUE = 3, 96 MAX_HASH_VALUE = 100 97 }; 98 99 static const struct resword wordlist[] = 100 { 101 {""}, {""}, {""}, 102#line 35 "scripts/genksyms/keywords.gperf" 103 {"asm", ASM_KEYW}, 104 {""}, 105#line 15 "scripts/genksyms/keywords.gperf" 106 {"__asm", ASM_KEYW}, 107 {""}, 108#line 16 "scripts/genksyms/keywords.gperf" 109 {"__asm__", ASM_KEYW}, 110 {""}, {""}, 111#line 27 "scripts/genksyms/keywords.gperf" 112 {"__typeof__", TYPEOF_KEYW}, 113 {""}, 114#line 19 "scripts/genksyms/keywords.gperf" 115 {"__const", CONST_KEYW}, 116#line 18 "scripts/genksyms/keywords.gperf" 117 {"__attribute__", ATTRIBUTE_KEYW}, 118#line 20 "scripts/genksyms/keywords.gperf" 119 {"__const__", CONST_KEYW}, 120#line 25 "scripts/genksyms/keywords.gperf" 121 {"__signed__", SIGNED_KEYW}, 122#line 53 "scripts/genksyms/keywords.gperf" 123 {"static", STATIC_KEYW}, 124 {""}, 125#line 48 "scripts/genksyms/keywords.gperf" 126 {"int", INT_KEYW}, 127#line 41 "scripts/genksyms/keywords.gperf" 128 {"char", CHAR_KEYW}, 129#line 42 "scripts/genksyms/keywords.gperf" 130 {"const", CONST_KEYW}, 131#line 54 "scripts/genksyms/keywords.gperf" 132 {"struct", STRUCT_KEYW}, 133#line 33 "scripts/genksyms/keywords.gperf" 134 {"__restrict__", RESTRICT_KEYW}, 135#line 34 "scripts/genksyms/keywords.gperf" 136 {"restrict", RESTRICT_KEYW}, 137#line 12 "scripts/genksyms/keywords.gperf" 138 {"EXPORT_SYMBOL_GPL_FUTURE", EXPORT_SYMBOL_KEYW}, 139#line 23 "scripts/genksyms/keywords.gperf" 140 {"__inline__", INLINE_KEYW}, 141 {""}, 142#line 29 "scripts/genksyms/keywords.gperf" 143 {"__volatile__", VOLATILE_KEYW}, 144#line 10 "scripts/genksyms/keywords.gperf" 145 {"EXPORT_SYMBOL", EXPORT_SYMBOL_KEYW}, 146#line 32 "scripts/genksyms/keywords.gperf" 147 {"_restrict", RESTRICT_KEYW}, 148 {""}, 149#line 17 "scripts/genksyms/keywords.gperf" 150 {"__attribute", ATTRIBUTE_KEYW}, 151#line 11 "scripts/genksyms/keywords.gperf" 152 {"EXPORT_SYMBOL_GPL", EXPORT_SYMBOL_KEYW}, 153#line 21 "scripts/genksyms/keywords.gperf" 154 {"__extension__", EXTENSION_KEYW}, 155#line 44 "scripts/genksyms/keywords.gperf" 156 {"enum", ENUM_KEYW}, 157#line 13 "scripts/genksyms/keywords.gperf" 158 {"EXPORT_UNUSED_SYMBOL", EXPORT_SYMBOL_KEYW}, 159#line 45 "scripts/genksyms/keywords.gperf" 160 {"extern", EXTERN_KEYW}, 161 {""}, 162#line 24 "scripts/genksyms/keywords.gperf" 163 {"__signed", SIGNED_KEYW}, 164#line 14 "scripts/genksyms/keywords.gperf" 165 {"EXPORT_UNUSED_SYMBOL_GPL", EXPORT_SYMBOL_KEYW}, 166#line 57 "scripts/genksyms/keywords.gperf" 167 {"union", UNION_KEYW}, 168 {""}, {""}, 169#line 22 "scripts/genksyms/keywords.gperf" 170 {"__inline", INLINE_KEYW}, 171#line 40 "scripts/genksyms/keywords.gperf" 172 {"auto", AUTO_KEYW}, 173#line 28 "scripts/genksyms/keywords.gperf" 174 {"__volatile", VOLATILE_KEYW}, 175 {""}, {""}, 176#line 58 "scripts/genksyms/keywords.gperf" 177 {"unsigned", UNSIGNED_KEYW}, 178 {""}, 179#line 51 "scripts/genksyms/keywords.gperf" 180 {"short", SHORT_KEYW}, 181#line 47 "scripts/genksyms/keywords.gperf" 182 {"inline", INLINE_KEYW}, 183 {""}, 184#line 60 "scripts/genksyms/keywords.gperf" 185 {"volatile", VOLATILE_KEYW}, 186#line 49 "scripts/genksyms/keywords.gperf" 187 {"long", LONG_KEYW}, 188#line 31 "scripts/genksyms/keywords.gperf" 189 {"_Bool", BOOL_KEYW}, 190 {""}, {""}, 191#line 50 "scripts/genksyms/keywords.gperf" 192 {"register", REGISTER_KEYW}, 193#line 59 "scripts/genksyms/keywords.gperf" 194 {"void", VOID_KEYW}, 195 {""}, 196#line 43 "scripts/genksyms/keywords.gperf" 197 {"double", DOUBLE_KEYW}, 198 {""}, 199#line 26 "scripts/genksyms/keywords.gperf" 200 {"__typeof", TYPEOF_KEYW}, 201 {""}, {""}, 202#line 52 "scripts/genksyms/keywords.gperf" 203 {"signed", SIGNED_KEYW}, 204 {""}, {""}, {""}, {""}, 205#line 56 "scripts/genksyms/keywords.gperf" 206 {"typeof", TYPEOF_KEYW}, 207#line 55 "scripts/genksyms/keywords.gperf" 208 {"typedef", TYPEDEF_KEYW}, 209 {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, 210 {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, 211 {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, 212#line 46 "scripts/genksyms/keywords.gperf" 213 {"float", FLOAT_KEYW} 214 }; 215 216 if (len <= MAX_WORD_LENGTH && len >= MIN_WORD_LENGTH) 217 { 218 register int key = is_reserved_hash (str, len); 219 220 if (key <= MAX_HASH_VALUE && key >= 0) 221 { 222 register const char *s = wordlist[key].name; 223 224 if (*str == *s && !strcmp (str + 1, s + 1)) 225 return &wordlist[key]; 226 } 227 } 228 return 0; 229} 230