1 /* ANSI-C code produced by gperf version 3.0.4 */ 2 /* Command-line: gperf -t --output-file libs/parser/hconf.c -a -C -E -g -k '1,3,$' -p -t libs/parser/hconf.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 <[email protected]>." 29 #endif 30 31 #line 10 "libs/parser/hconf.gperf" 32 struct kconf_id; 33 34 static const struct kconf_id *kconf_id_lookup(register const char *str, register GPERF_LEN_TYPE len); 35 /* maximum key range = 71, duplicates = 0 */ 36 37 #ifdef __GNUC__ 38 __inline 39 #else 40 #ifdef __cplusplus 41 inline 42 #endif 43 #endif 44 static unsigned int 45 kconf_id_hash (register const char *str, register unsigned int len) 46 { 47 static const unsigned char asso_values[] = 48 { 49 73, 73, 73, 73, 73, 73, 73, 73, 73, 73, 50 73, 73, 73, 73, 73, 73, 73, 73, 73, 73, 51 73, 73, 73, 73, 73, 73, 73, 73, 73, 73, 52 73, 73, 73, 73, 73, 73, 73, 73, 73, 73, 53 73, 73, 73, 73, 73, 0, 73, 73, 73, 73, 54 73, 73, 73, 73, 73, 73, 73, 73, 73, 73, 55 73, 73, 73, 73, 73, 73, 73, 73, 73, 73, 56 73, 73, 73, 73, 73, 73, 73, 73, 73, 73, 57 73, 73, 73, 73, 73, 73, 73, 73, 73, 73, 58 73, 73, 73, 73, 73, 73, 73, 10, 25, 25, 59 0, 0, 0, 5, 0, 0, 73, 73, 5, 0, 60 10, 5, 45, 73, 20, 20, 0, 15, 15, 73, 61 20, 0, 73, 73, 73, 73, 73, 73, 73, 73, 62 73, 73, 73, 73, 73, 73, 73, 73, 73, 73, 63 73, 73, 73, 73, 73, 73, 73, 73, 73, 73, 64 73, 73, 73, 73, 73, 73, 73, 73, 73, 73, 65 73, 73, 73, 73, 73, 73, 73, 73, 73, 73, 66 73, 73, 73, 73, 73, 73, 73, 73, 73, 73, 67 73, 73, 73, 73, 73, 73, 73, 73, 73, 73, 68 73, 73, 73, 73, 73, 73, 73, 73, 73, 73, 69 73, 73, 73, 73, 73, 73, 73, 73, 73, 73, 70 73, 73, 73, 73, 73, 73, 73, 73, 73, 73, 71 73, 73, 73, 73, 73, 73, 73, 73, 73, 73, 72 73, 73, 73, 73, 73, 73, 73, 73, 73, 73, 73 73, 73, 73, 73, 73, 73, 73, 73, 73, 73, 74 73, 73, 73, 73, 73, 73 75 }; 76 register int hval = len; 77 78 switch (hval) 79 { 80 default: 81 hval += asso_values[(unsigned char)str[2]]; 82 /*FALLTHROUGH*/ 83 case 2: 84 case 1: 85 hval += asso_values[(unsigned char)str[0]]; 86 break; 87 } 88 return hval + asso_values[(unsigned char)str[len - 1]]; 89 } 90 91 struct kconf_id_strings_t 92 { 93 char kconf_id_strings_str2[sizeof("if")]; 94 char kconf_id_strings_str3[sizeof("int")]; 95 char kconf_id_strings_str5[sizeof("endif")]; 96 char kconf_id_strings_str7[sizeof("default")]; 97 char kconf_id_strings_str8[sizeof("tristate")]; 98 char kconf_id_strings_str9[sizeof("endchoice")]; 99 char kconf_id_strings_str10[sizeof("---help---")]; 100 char kconf_id_strings_str12[sizeof("def_tristate")]; 101 char kconf_id_strings_str13[sizeof("def_bool")]; 102 char kconf_id_strings_str14[sizeof("defconfig_list")]; 103 char kconf_id_strings_str17[sizeof("on")]; 104 char kconf_id_strings_str18[sizeof("optional")]; 105 char kconf_id_strings_str21[sizeof("option")]; 106 char kconf_id_strings_str22[sizeof("endmenu")]; 107 char kconf_id_strings_str23[sizeof("mainmenu")]; 108 char kconf_id_strings_str25[sizeof("menuconfig")]; 109 char kconf_id_strings_str27[sizeof("modules")]; 110 char kconf_id_strings_str28[sizeof("allnoconfig_y")]; 111 char kconf_id_strings_str29[sizeof("menu")]; 112 char kconf_id_strings_str31[sizeof("select")]; 113 char kconf_id_strings_str32[sizeof("comment")]; 114 char kconf_id_strings_str33[sizeof("env")]; 115 char kconf_id_strings_str35[sizeof("range")]; 116 char kconf_id_strings_str36[sizeof("choice")]; 117 char kconf_id_strings_str39[sizeof("bool")]; 118 char kconf_id_strings_str41[sizeof("source")]; 119 char kconf_id_strings_str42[sizeof("visible")]; 120 char kconf_id_strings_str43[sizeof("hex")]; 121 char kconf_id_strings_str46[sizeof("config")]; 122 char kconf_id_strings_str47[sizeof("boolean")]; 123 char kconf_id_strings_str50[sizeof("imply")]; 124 char kconf_id_strings_str51[sizeof("string")]; 125 char kconf_id_strings_str54[sizeof("help")]; 126 char kconf_id_strings_str56[sizeof("prompt")]; 127 char kconf_id_strings_str72[sizeof("depends")]; 128 }; 129 static const struct kconf_id_strings_t kconf_id_strings_contents = 130 { 131 "if", 132 "int", 133 "endif", 134 "default", 135 "tristate", 136 "endchoice", 137 "---help---", 138 "def_tristate", 139 "def_bool", 140 "defconfig_list", 141 "on", 142 "optional", 143 "option", 144 "endmenu", 145 "mainmenu", 146 "menuconfig", 147 "modules", 148 "allnoconfig_y", 149 "menu", 150 "select", 151 "comment", 152 "env", 153 "range", 154 "choice", 155 "bool", 156 "source", 157 "visible", 158 "hex", 159 "config", 160 "boolean", 161 "imply", 162 "string", 163 "help", 164 "prompt", 165 "depends" 166 }; 167 #define kconf_id_strings ((const char *) &kconf_id_strings_contents) 168 #ifdef __GNUC__ 169 __inline 170 #if defined __GNUC_STDC_INLINE__ || defined __GNUC_GNU_INLINE__ 171 __attribute__ ((__gnu_inline__)) 172 #endif 173 #endif 174 const struct kconf_id * 175 kconf_id_lookup (register const char *str, register unsigned int len) 176 { 177 enum 178 { 179 TOTAL_KEYWORDS = 35, 180 MIN_WORD_LENGTH = 2, 181 MAX_WORD_LENGTH = 14, 182 MIN_HASH_VALUE = 2, 183 MAX_HASH_VALUE = 72 184 }; 185 186 static const struct kconf_id wordlist[] = 187 { 188 {-1}, {-1}, 189 #line 26 "libs/parser/hconf.gperf" 190 {(int)(long)&((struct kconf_id_strings_t *)0)->kconf_id_strings_str2, T_IF, TF_COMMAND|TF_PARAM}, 191 #line 37 "libs/parser/hconf.gperf" 192 {(int)(long)&((struct kconf_id_strings_t *)0)->kconf_id_strings_str3, T_TYPE, TF_COMMAND, S_INT}, 193 {-1}, 194 #line 27 "libs/parser/hconf.gperf" 195 {(int)(long)&((struct kconf_id_strings_t *)0)->kconf_id_strings_str5, T_ENDIF, TF_COMMAND}, 196 {-1}, 197 #line 30 "libs/parser/hconf.gperf" 198 {(int)(long)&((struct kconf_id_strings_t *)0)->kconf_id_strings_str7, T_DEFAULT, TF_COMMAND, S_UNKNOWN}, 199 #line 32 "libs/parser/hconf.gperf" 200 {(int)(long)&((struct kconf_id_strings_t *)0)->kconf_id_strings_str8, T_TYPE, TF_COMMAND, S_TRISTATE}, 201 #line 20 "libs/parser/hconf.gperf" 202 {(int)(long)&((struct kconf_id_strings_t *)0)->kconf_id_strings_str9, T_ENDCHOICE, TF_COMMAND}, 203 #line 25 "libs/parser/hconf.gperf" 204 {(int)(long)&((struct kconf_id_strings_t *)0)->kconf_id_strings_str10, T_HELP, TF_COMMAND}, 205 {-1}, 206 #line 33 "libs/parser/hconf.gperf" 207 {(int)(long)&((struct kconf_id_strings_t *)0)->kconf_id_strings_str12, T_DEFAULT, TF_COMMAND, S_TRISTATE}, 208 #line 36 "libs/parser/hconf.gperf" 209 {(int)(long)&((struct kconf_id_strings_t *)0)->kconf_id_strings_str13, T_DEFAULT, TF_COMMAND, S_BOOLEAN}, 210 #line 47 "libs/parser/hconf.gperf" 211 {(int)(long)&((struct kconf_id_strings_t *)0)->kconf_id_strings_str14, T_OPT_DEFCONFIG_LIST,TF_OPTION}, 212 {-1}, {-1}, 213 #line 45 "libs/parser/hconf.gperf" 214 {(int)(long)&((struct kconf_id_strings_t *)0)->kconf_id_strings_str17, T_ON, TF_PARAM}, 215 #line 29 "libs/parser/hconf.gperf" 216 {(int)(long)&((struct kconf_id_strings_t *)0)->kconf_id_strings_str18, T_OPTIONAL, TF_COMMAND}, 217 {-1}, {-1}, 218 #line 44 "libs/parser/hconf.gperf" 219 {(int)(long)&((struct kconf_id_strings_t *)0)->kconf_id_strings_str21, T_OPTION, TF_COMMAND}, 220 #line 17 "libs/parser/hconf.gperf" 221 {(int)(long)&((struct kconf_id_strings_t *)0)->kconf_id_strings_str22, T_ENDMENU, TF_COMMAND}, 222 #line 15 "libs/parser/hconf.gperf" 223 {(int)(long)&((struct kconf_id_strings_t *)0)->kconf_id_strings_str23, T_MAINMENU, TF_COMMAND}, 224 {-1}, 225 #line 23 "libs/parser/hconf.gperf" 226 {(int)(long)&((struct kconf_id_strings_t *)0)->kconf_id_strings_str25, T_MENUCONFIG, TF_COMMAND}, 227 {-1}, 228 #line 46 "libs/parser/hconf.gperf" 229 {(int)(long)&((struct kconf_id_strings_t *)0)->kconf_id_strings_str27, T_OPT_MODULES, TF_OPTION}, 230 #line 49 "libs/parser/hconf.gperf" 231 {(int)(long)&((struct kconf_id_strings_t *)0)->kconf_id_strings_str28, T_OPT_ALLNOCONFIG_Y,TF_OPTION}, 232 #line 16 "libs/parser/hconf.gperf" 233 {(int)(long)&((struct kconf_id_strings_t *)0)->kconf_id_strings_str29, T_MENU, TF_COMMAND}, 234 {-1}, 235 #line 40 "libs/parser/hconf.gperf" 236 {(int)(long)&((struct kconf_id_strings_t *)0)->kconf_id_strings_str31, T_SELECT, TF_COMMAND}, 237 #line 21 "libs/parser/hconf.gperf" 238 {(int)(long)&((struct kconf_id_strings_t *)0)->kconf_id_strings_str32, T_COMMENT, TF_COMMAND}, 239 #line 48 "libs/parser/hconf.gperf" 240 {(int)(long)&((struct kconf_id_strings_t *)0)->kconf_id_strings_str33, T_OPT_ENV, TF_OPTION}, 241 {-1}, 242 #line 42 "libs/parser/hconf.gperf" 243 {(int)(long)&((struct kconf_id_strings_t *)0)->kconf_id_strings_str35, T_RANGE, TF_COMMAND}, 244 #line 19 "libs/parser/hconf.gperf" 245 {(int)(long)&((struct kconf_id_strings_t *)0)->kconf_id_strings_str36, T_CHOICE, TF_COMMAND}, 246 {-1}, {-1}, 247 #line 34 "libs/parser/hconf.gperf" 248 {(int)(long)&((struct kconf_id_strings_t *)0)->kconf_id_strings_str39, T_TYPE, TF_COMMAND, S_BOOLEAN}, 249 {-1}, 250 #line 18 "libs/parser/hconf.gperf" 251 {(int)(long)&((struct kconf_id_strings_t *)0)->kconf_id_strings_str41, T_SOURCE, TF_COMMAND}, 252 #line 43 "libs/parser/hconf.gperf" 253 {(int)(long)&((struct kconf_id_strings_t *)0)->kconf_id_strings_str42, T_VISIBLE, TF_COMMAND}, 254 #line 38 "libs/parser/hconf.gperf" 255 {(int)(long)&((struct kconf_id_strings_t *)0)->kconf_id_strings_str43, T_TYPE, TF_COMMAND, S_HEX}, 256 {-1}, {-1}, 257 #line 22 "libs/parser/hconf.gperf" 258 {(int)(long)&((struct kconf_id_strings_t *)0)->kconf_id_strings_str46, T_CONFIG, TF_COMMAND}, 259 #line 35 "libs/parser/hconf.gperf" 260 {(int)(long)&((struct kconf_id_strings_t *)0)->kconf_id_strings_str47, T_TYPE, TF_COMMAND, S_BOOLEAN}, 261 {-1}, {-1}, 262 #line 41 "libs/parser/hconf.gperf" 263 {(int)(long)&((struct kconf_id_strings_t *)0)->kconf_id_strings_str50, T_IMPLY, TF_COMMAND}, 264 #line 39 "libs/parser/hconf.gperf" 265 {(int)(long)&((struct kconf_id_strings_t *)0)->kconf_id_strings_str51, T_TYPE, TF_COMMAND, S_STRING}, 266 {-1}, {-1}, 267 #line 24 "libs/parser/hconf.gperf" 268 {(int)(long)&((struct kconf_id_strings_t *)0)->kconf_id_strings_str54, T_HELP, TF_COMMAND}, 269 {-1}, 270 #line 31 "libs/parser/hconf.gperf" 271 {(int)(long)&((struct kconf_id_strings_t *)0)->kconf_id_strings_str56, T_PROMPT, TF_COMMAND}, 272 {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, 273 {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, 274 #line 28 "libs/parser/hconf.gperf" 275 {(int)(long)&((struct kconf_id_strings_t *)0)->kconf_id_strings_str72, T_DEPENDS, TF_COMMAND} 276 }; 277 278 if (len <= MAX_WORD_LENGTH && len >= MIN_WORD_LENGTH) 279 { 280 register int key = kconf_id_hash (str, len); 281 282 if (key <= MAX_HASH_VALUE && key >= 0) 283 { 284 register int o = wordlist[key].name; 285 if (o >= 0) 286 { 287 register const char *s = o + kconf_id_strings; 288 289 if (*str == *s && !strncmp (str + 1, s + 1, len - 1) && s[len] == '\0') 290 return &wordlist[key]; 291 } 292 } 293 } 294 return 0; 295 } 296 #line 50 "libs/parser/hconf.gperf" 297 298