kconfig: regen parser

Signed-off-by: Arnaud Lacombe <lacombar@gmail.com>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>

authored by Arnaud Lacombe and committed by Mauro Carvalho Chehab 09899c93 86e187ff

+377 -353
+64 -58
scripts/kconfig/zconf.hash.c_shipped
··· 32 struct kconf_id; 33 34 static struct kconf_id *kconf_id_lookup(register const char *str, register unsigned int len); 35 - /* maximum key range = 47, duplicates = 0 */ 36 37 #ifdef __GNUC__ 38 __inline ··· 46 { 47 static unsigned char asso_values[] = 48 { 49 - 49, 49, 49, 49, 49, 49, 49, 49, 49, 49, 50 - 49, 49, 49, 49, 49, 49, 49, 49, 49, 49, 51 - 49, 49, 49, 49, 49, 49, 49, 49, 49, 49, 52 - 49, 49, 49, 49, 49, 49, 49, 49, 49, 49, 53 - 49, 49, 49, 49, 49, 49, 49, 49, 49, 49, 54 - 49, 49, 49, 49, 49, 49, 49, 49, 49, 49, 55 - 49, 49, 49, 49, 49, 49, 49, 49, 49, 49, 56 - 49, 49, 49, 49, 49, 49, 49, 49, 49, 49, 57 - 49, 49, 49, 49, 49, 49, 49, 49, 49, 49, 58 - 49, 49, 49, 49, 49, 49, 49, 49, 11, 5, 59 - 0, 0, 5, 49, 5, 20, 49, 49, 5, 20, 60 - 5, 0, 30, 49, 0, 15, 0, 10, 0, 49, 61 - 25, 49, 49, 49, 49, 49, 49, 49, 49, 49, 62 - 49, 49, 49, 49, 49, 49, 49, 49, 49, 49, 63 - 49, 49, 49, 49, 49, 49, 49, 49, 49, 49, 64 - 49, 49, 49, 49, 49, 49, 49, 49, 49, 49, 65 - 49, 49, 49, 49, 49, 49, 49, 49, 49, 49, 66 - 49, 49, 49, 49, 49, 49, 49, 49, 49, 49, 67 - 49, 49, 49, 49, 49, 49, 49, 49, 49, 49, 68 - 49, 49, 49, 49, 49, 49, 49, 49, 49, 49, 69 - 49, 49, 49, 49, 49, 49, 49, 49, 49, 49, 70 - 49, 49, 49, 49, 49, 49, 49, 49, 49, 49, 71 - 49, 49, 49, 49, 49, 49, 49, 49, 49, 49, 72 - 49, 49, 49, 49, 49, 49, 49, 49, 49, 49, 73 - 49, 49, 49, 49, 49, 49, 49, 49, 49, 49, 74 - 49, 49, 49, 49, 49, 49 75 }; 76 register int hval = len; 77 ··· 102 char kconf_id_strings_str12[sizeof("default")]; 103 char kconf_id_strings_str13[sizeof("def_bool")]; 104 char kconf_id_strings_str14[sizeof("help")]; 105 - char kconf_id_strings_str15[sizeof("bool")]; 106 char kconf_id_strings_str16[sizeof("config")]; 107 char kconf_id_strings_str17[sizeof("def_tristate")]; 108 - char kconf_id_strings_str18[sizeof("boolean")]; 109 char kconf_id_strings_str19[sizeof("defconfig_list")]; 110 - char kconf_id_strings_str21[sizeof("string")]; 111 char kconf_id_strings_str22[sizeof("if")]; 112 char kconf_id_strings_str23[sizeof("int")]; 113 - char kconf_id_strings_str26[sizeof("select")]; 114 char kconf_id_strings_str27[sizeof("modules")]; 115 char kconf_id_strings_str28[sizeof("tristate")]; 116 char kconf_id_strings_str29[sizeof("menu")]; 117 - char kconf_id_strings_str31[sizeof("source")]; 118 char kconf_id_strings_str32[sizeof("comment")]; 119 - char kconf_id_strings_str33[sizeof("hex")]; 120 char kconf_id_strings_str35[sizeof("menuconfig")]; 121 - char kconf_id_strings_str36[sizeof("prompt")]; 122 - char kconf_id_strings_str37[sizeof("depends")]; 123 char kconf_id_strings_str48[sizeof("mainmenu")]; 124 }; 125 static struct kconf_id_strings_t kconf_id_strings_contents = 126 { ··· 137 "default", 138 "def_bool", 139 "help", 140 - "bool", 141 "config", 142 "def_tristate", 143 - "boolean", 144 "defconfig_list", 145 - "string", 146 "if", 147 "int", 148 - "select", 149 "modules", 150 "tristate", 151 "menu", 152 - "source", 153 "comment", 154 - "hex", 155 "menuconfig", 156 "prompt", 157 "depends", 158 - "mainmenu" 159 }; 160 #define kconf_id_strings ((const char *) &kconf_id_strings_contents) 161 #ifdef __GNUC__ ··· 170 { 171 enum 172 { 173 - TOTAL_KEYWORDS = 31, 174 MIN_WORD_LENGTH = 2, 175 MAX_WORD_LENGTH = 14, 176 MIN_HASH_VALUE = 2, 177 - MAX_HASH_VALUE = 48 178 }; 179 180 static struct kconf_id wordlist[] = ··· 193 {(int)(long)&((struct kconf_id_strings_t *)0)->kconf_id_strings_str12, T_DEFAULT, TF_COMMAND, S_UNKNOWN}, 194 {(int)(long)&((struct kconf_id_strings_t *)0)->kconf_id_strings_str13, T_DEFAULT, TF_COMMAND, S_BOOLEAN}, 195 {(int)(long)&((struct kconf_id_strings_t *)0)->kconf_id_strings_str14, T_HELP, TF_COMMAND}, 196 - {(int)(long)&((struct kconf_id_strings_t *)0)->kconf_id_strings_str15, T_TYPE, TF_COMMAND, S_BOOLEAN}, 197 {(int)(long)&((struct kconf_id_strings_t *)0)->kconf_id_strings_str16, T_CONFIG, TF_COMMAND}, 198 {(int)(long)&((struct kconf_id_strings_t *)0)->kconf_id_strings_str17, T_DEFAULT, TF_COMMAND, S_TRISTATE}, 199 - {(int)(long)&((struct kconf_id_strings_t *)0)->kconf_id_strings_str18, T_TYPE, TF_COMMAND, S_BOOLEAN}, 200 {(int)(long)&((struct kconf_id_strings_t *)0)->kconf_id_strings_str19, T_OPT_DEFCONFIG_LIST,TF_OPTION}, 201 - {-1}, 202 - {(int)(long)&((struct kconf_id_strings_t *)0)->kconf_id_strings_str21, T_TYPE, TF_COMMAND, S_STRING}, 203 {(int)(long)&((struct kconf_id_strings_t *)0)->kconf_id_strings_str22, T_IF, TF_COMMAND|TF_PARAM}, 204 {(int)(long)&((struct kconf_id_strings_t *)0)->kconf_id_strings_str23, T_TYPE, TF_COMMAND, S_INT}, 205 - {-1}, {-1}, 206 - {(int)(long)&((struct kconf_id_strings_t *)0)->kconf_id_strings_str26, T_SELECT, TF_COMMAND}, 207 {(int)(long)&((struct kconf_id_strings_t *)0)->kconf_id_strings_str27, T_OPT_MODULES, TF_OPTION}, 208 {(int)(long)&((struct kconf_id_strings_t *)0)->kconf_id_strings_str28, T_TYPE, TF_COMMAND, S_TRISTATE}, 209 {(int)(long)&((struct kconf_id_strings_t *)0)->kconf_id_strings_str29, T_MENU, TF_COMMAND}, 210 - {-1}, 211 - {(int)(long)&((struct kconf_id_strings_t *)0)->kconf_id_strings_str31, T_SOURCE, TF_COMMAND}, 212 {(int)(long)&((struct kconf_id_strings_t *)0)->kconf_id_strings_str32, T_COMMENT, TF_COMMAND}, 213 - {(int)(long)&((struct kconf_id_strings_t *)0)->kconf_id_strings_str33, T_TYPE, TF_COMMAND, S_HEX}, 214 - {-1}, 215 {(int)(long)&((struct kconf_id_strings_t *)0)->kconf_id_strings_str35, T_MENUCONFIG, TF_COMMAND}, 216 - {(int)(long)&((struct kconf_id_strings_t *)0)->kconf_id_strings_str36, T_PROMPT, TF_COMMAND}, 217 - {(int)(long)&((struct kconf_id_strings_t *)0)->kconf_id_strings_str37, T_DEPENDS, TF_COMMAND}, 218 - {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, 219 {-1}, 220 - {(int)(long)&((struct kconf_id_strings_t *)0)->kconf_id_strings_str48, T_MAINMENU, TF_COMMAND} 221 }; 222 223 if (len <= MAX_WORD_LENGTH && len >= MIN_WORD_LENGTH)
··· 32 struct kconf_id; 33 34 static struct kconf_id *kconf_id_lookup(register const char *str, register unsigned int len); 35 + /* maximum key range = 50, duplicates = 0 */ 36 37 #ifdef __GNUC__ 38 __inline ··· 46 { 47 static unsigned char asso_values[] = 48 { 49 + 52, 52, 52, 52, 52, 52, 52, 52, 52, 52, 50 + 52, 52, 52, 52, 52, 52, 52, 52, 52, 52, 51 + 52, 52, 52, 52, 52, 52, 52, 52, 52, 52, 52 + 52, 52, 52, 52, 52, 52, 52, 52, 52, 52, 53 + 52, 52, 52, 52, 52, 52, 52, 52, 52, 52, 54 + 52, 52, 52, 52, 52, 52, 52, 52, 52, 52, 55 + 52, 52, 52, 52, 52, 52, 52, 52, 52, 52, 56 + 52, 52, 52, 52, 52, 52, 52, 52, 52, 52, 57 + 52, 52, 52, 52, 52, 52, 52, 52, 52, 52, 58 + 52, 52, 52, 52, 52, 52, 52, 52, 40, 5, 59 + 0, 0, 5, 52, 0, 20, 52, 52, 10, 20, 60 + 5, 0, 35, 52, 0, 30, 0, 15, 0, 52, 61 + 15, 52, 52, 52, 52, 52, 52, 52, 52, 52, 62 + 52, 52, 52, 52, 52, 52, 52, 52, 52, 52, 63 + 52, 52, 52, 52, 52, 52, 52, 52, 52, 52, 64 + 52, 52, 52, 52, 52, 52, 52, 52, 52, 52, 65 + 52, 52, 52, 52, 52, 52, 52, 52, 52, 52, 66 + 52, 52, 52, 52, 52, 52, 52, 52, 52, 52, 67 + 52, 52, 52, 52, 52, 52, 52, 52, 52, 52, 68 + 52, 52, 52, 52, 52, 52, 52, 52, 52, 52, 69 + 52, 52, 52, 52, 52, 52, 52, 52, 52, 52, 70 + 52, 52, 52, 52, 52, 52, 52, 52, 52, 52, 71 + 52, 52, 52, 52, 52, 52, 52, 52, 52, 52, 72 + 52, 52, 52, 52, 52, 52, 52, 52, 52, 52, 73 + 52, 52, 52, 52, 52, 52, 52, 52, 52, 52, 74 + 52, 52, 52, 52, 52, 52 75 }; 76 register int hval = len; 77 ··· 102 char kconf_id_strings_str12[sizeof("default")]; 103 char kconf_id_strings_str13[sizeof("def_bool")]; 104 char kconf_id_strings_str14[sizeof("help")]; 105 char kconf_id_strings_str16[sizeof("config")]; 106 char kconf_id_strings_str17[sizeof("def_tristate")]; 107 + char kconf_id_strings_str18[sizeof("hex")]; 108 char kconf_id_strings_str19[sizeof("defconfig_list")]; 109 char kconf_id_strings_str22[sizeof("if")]; 110 char kconf_id_strings_str23[sizeof("int")]; 111 char kconf_id_strings_str27[sizeof("modules")]; 112 char kconf_id_strings_str28[sizeof("tristate")]; 113 char kconf_id_strings_str29[sizeof("menu")]; 114 char kconf_id_strings_str32[sizeof("comment")]; 115 char kconf_id_strings_str35[sizeof("menuconfig")]; 116 + char kconf_id_strings_str36[sizeof("string")]; 117 + char kconf_id_strings_str37[sizeof("visible")]; 118 + char kconf_id_strings_str41[sizeof("prompt")]; 119 + char kconf_id_strings_str42[sizeof("depends")]; 120 + char kconf_id_strings_str44[sizeof("bool")]; 121 + char kconf_id_strings_str46[sizeof("select")]; 122 + char kconf_id_strings_str47[sizeof("boolean")]; 123 char kconf_id_strings_str48[sizeof("mainmenu")]; 124 + char kconf_id_strings_str51[sizeof("source")]; 125 }; 126 static struct kconf_id_strings_t kconf_id_strings_contents = 127 { ··· 136 "default", 137 "def_bool", 138 "help", 139 "config", 140 "def_tristate", 141 + "hex", 142 "defconfig_list", 143 "if", 144 "int", 145 "modules", 146 "tristate", 147 "menu", 148 "comment", 149 "menuconfig", 150 + "string", 151 + "visible", 152 "prompt", 153 "depends", 154 + "bool", 155 + "select", 156 + "boolean", 157 + "mainmenu", 158 + "source" 159 }; 160 #define kconf_id_strings ((const char *) &kconf_id_strings_contents) 161 #ifdef __GNUC__ ··· 168 { 169 enum 170 { 171 + TOTAL_KEYWORDS = 32, 172 MIN_WORD_LENGTH = 2, 173 MAX_WORD_LENGTH = 14, 174 MIN_HASH_VALUE = 2, 175 + MAX_HASH_VALUE = 51 176 }; 177 178 static struct kconf_id wordlist[] = ··· 191 {(int)(long)&((struct kconf_id_strings_t *)0)->kconf_id_strings_str12, T_DEFAULT, TF_COMMAND, S_UNKNOWN}, 192 {(int)(long)&((struct kconf_id_strings_t *)0)->kconf_id_strings_str13, T_DEFAULT, TF_COMMAND, S_BOOLEAN}, 193 {(int)(long)&((struct kconf_id_strings_t *)0)->kconf_id_strings_str14, T_HELP, TF_COMMAND}, 194 + {-1}, 195 {(int)(long)&((struct kconf_id_strings_t *)0)->kconf_id_strings_str16, T_CONFIG, TF_COMMAND}, 196 {(int)(long)&((struct kconf_id_strings_t *)0)->kconf_id_strings_str17, T_DEFAULT, TF_COMMAND, S_TRISTATE}, 197 + {(int)(long)&((struct kconf_id_strings_t *)0)->kconf_id_strings_str18, T_TYPE, TF_COMMAND, S_HEX}, 198 {(int)(long)&((struct kconf_id_strings_t *)0)->kconf_id_strings_str19, T_OPT_DEFCONFIG_LIST,TF_OPTION}, 199 + {-1}, {-1}, 200 {(int)(long)&((struct kconf_id_strings_t *)0)->kconf_id_strings_str22, T_IF, TF_COMMAND|TF_PARAM}, 201 {(int)(long)&((struct kconf_id_strings_t *)0)->kconf_id_strings_str23, T_TYPE, TF_COMMAND, S_INT}, 202 + {-1}, {-1}, {-1}, 203 {(int)(long)&((struct kconf_id_strings_t *)0)->kconf_id_strings_str27, T_OPT_MODULES, TF_OPTION}, 204 {(int)(long)&((struct kconf_id_strings_t *)0)->kconf_id_strings_str28, T_TYPE, TF_COMMAND, S_TRISTATE}, 205 {(int)(long)&((struct kconf_id_strings_t *)0)->kconf_id_strings_str29, T_MENU, TF_COMMAND}, 206 + {-1}, {-1}, 207 {(int)(long)&((struct kconf_id_strings_t *)0)->kconf_id_strings_str32, T_COMMENT, TF_COMMAND}, 208 + {-1}, {-1}, 209 {(int)(long)&((struct kconf_id_strings_t *)0)->kconf_id_strings_str35, T_MENUCONFIG, TF_COMMAND}, 210 + {(int)(long)&((struct kconf_id_strings_t *)0)->kconf_id_strings_str36, T_TYPE, TF_COMMAND, S_STRING}, 211 + {(int)(long)&((struct kconf_id_strings_t *)0)->kconf_id_strings_str37, T_VISIBLE, TF_COMMAND}, 212 + {-1}, {-1}, {-1}, 213 + {(int)(long)&((struct kconf_id_strings_t *)0)->kconf_id_strings_str41, T_PROMPT, TF_COMMAND}, 214 + {(int)(long)&((struct kconf_id_strings_t *)0)->kconf_id_strings_str42, T_DEPENDS, TF_COMMAND}, 215 {-1}, 216 + {(int)(long)&((struct kconf_id_strings_t *)0)->kconf_id_strings_str44, T_TYPE, TF_COMMAND, S_BOOLEAN}, 217 + {-1}, 218 + {(int)(long)&((struct kconf_id_strings_t *)0)->kconf_id_strings_str46, T_SELECT, TF_COMMAND}, 219 + {(int)(long)&((struct kconf_id_strings_t *)0)->kconf_id_strings_str47, T_TYPE, TF_COMMAND, S_BOOLEAN}, 220 + {(int)(long)&((struct kconf_id_strings_t *)0)->kconf_id_strings_str48, T_MAINMENU, TF_COMMAND}, 221 + {-1}, {-1}, 222 + {(int)(long)&((struct kconf_id_strings_t *)0)->kconf_id_strings_str51, T_SOURCE, TF_COMMAND} 223 }; 224 225 if (len <= MAX_WORD_LENGTH && len >= MIN_WORD_LENGTH)
+313 -295
scripts/kconfig/zconf.tab.c_shipped
··· 160 T_DEFAULT = 275, 161 T_SELECT = 276, 162 T_RANGE = 277, 163 - T_OPTION = 278, 164 - T_ON = 279, 165 - T_WORD = 280, 166 - T_WORD_QUOTE = 281, 167 - T_UNEQUAL = 282, 168 - T_CLOSE_PAREN = 283, 169 - T_OPEN_PAREN = 284, 170 - T_EOL = 285, 171 - T_OR = 286, 172 - T_AND = 287, 173 - T_EQUAL = 288, 174 - T_NOT = 289 175 }; 176 #endif 177 ··· 420 /* YYFINAL -- State number of the termination state. */ 421 #define YYFINAL 11 422 /* YYLAST -- Last index in YYTABLE. */ 423 - #define YYLAST 277 424 425 /* YYNTOKENS -- Number of terminals. */ 426 - #define YYNTOKENS 35 427 /* YYNNTS -- Number of nonterminals. */ 428 - #define YYNNTS 48 429 /* YYNRULES -- Number of rules. */ 430 - #define YYNRULES 113 431 /* YYNRULES -- Number of states. */ 432 - #define YYNSTATES 185 433 434 /* YYTRANSLATE(YYLEX) -- Bison symbol number corresponding to YYLEX. */ 435 #define YYUNDEFTOK 2 436 - #define YYMAXUTOK 289 437 438 #define YYTRANSLATE(YYX) \ 439 ((unsigned int) (YYX) <= YYMAXUTOK ? yytranslate[YYX] : YYUNDEFTOK) ··· 469 2, 2, 2, 2, 2, 2, 1, 2, 3, 4, 470 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 471 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 472 - 25, 26, 27, 28, 29, 30, 31, 32, 33, 34 473 }; 474 475 #if YYDEBUG ··· 480 { 481 0, 0, 3, 6, 8, 11, 13, 14, 17, 20, 482 23, 26, 31, 36, 40, 42, 44, 46, 48, 50, 483 - 52, 54, 56, 58, 60, 62, 64, 66, 70, 73, 484 - 77, 80, 84, 87, 88, 91, 94, 97, 100, 103, 485 - 106, 110, 115, 120, 125, 131, 135, 136, 140, 141, 486 - 144, 148, 151, 153, 157, 158, 161, 164, 167, 170, 487 - 173, 178, 182, 185, 190, 191, 194, 198, 200, 204, 488 - 205, 208, 211, 214, 218, 222, 225, 227, 231, 232, 489 - 235, 238, 241, 245, 249, 252, 255, 258, 259, 262, 490 - 265, 268, 273, 274, 277, 279, 281, 284, 287, 290, 491 - 292, 295, 296, 299, 301, 305, 309, 313, 316, 320, 492 - 324, 326, 328, 329 493 }; 494 495 /* YYRHS -- A `-1'-separated list of the rules' RHS. */ 496 static const yytype_int8 yyrhs[] = 497 { 498 - 36, 0, -1, 78, 37, -1, 37, -1, 62, 38, 499 - -1, 38, -1, -1, 38, 40, -1, 38, 54, -1, 500 - 38, 66, -1, 38, 77, -1, 38, 25, 1, 30, 501 - -1, 38, 39, 1, 30, -1, 38, 1, 30, -1, 502 16, -1, 18, -1, 19, -1, 21, -1, 17, -1, 503 - 22, -1, 20, -1, 30, -1, 60, -1, 70, -1, 504 - 43, -1, 45, -1, 68, -1, 25, 1, 30, -1, 505 - 1, 30, -1, 10, 25, 30, -1, 42, 46, -1, 506 - 11, 25, 30, -1, 44, 46, -1, -1, 46, 47, 507 - -1, 46, 48, -1, 46, 74, -1, 46, 72, -1, 508 - 46, 41, -1, 46, 30, -1, 19, 75, 30, -1, 509 - 18, 76, 79, 30, -1, 20, 80, 79, 30, -1, 510 - 21, 25, 79, 30, -1, 22, 81, 81, 79, 30, 511 - -1, 23, 49, 30, -1, -1, 49, 25, 50, -1, 512 - -1, 33, 76, -1, 7, 82, 30, -1, 51, 55, 513 - -1, 77, -1, 52, 57, 53, -1, -1, 55, 56, 514 - -1, 55, 74, -1, 55, 72, -1, 55, 30, -1, 515 - 55, 41, -1, 18, 76, 79, 30, -1, 19, 75, 516 - 30, -1, 17, 30, -1, 20, 25, 79, 30, -1, 517 - -1, 57, 40, -1, 14, 80, 78, -1, 77, -1, 518 - 58, 61, 59, -1, -1, 61, 40, -1, 61, 66, 519 - -1, 61, 54, -1, 3, 76, 78, -1, 4, 76, 520 - 30, -1, 63, 73, -1, 77, -1, 64, 67, 65, 521 - -1, -1, 67, 40, -1, 67, 66, -1, 67, 54, 522 - -1, 6, 76, 30, -1, 9, 76, 30, -1, 69, 523 - 73, -1, 12, 30, -1, 71, 13, -1, -1, 73, 524 - 74, -1, 73, 30, -1, 73, 41, -1, 16, 24, 525 - 80, 30, -1, -1, 76, 79, -1, 25, -1, 26, 526 - -1, 5, 30, -1, 8, 30, -1, 15, 30, -1, 527 - 30, -1, 78, 30, -1, -1, 14, 80, -1, 81, 528 - -1, 81, 33, 81, -1, 81, 27, 81, -1, 29, 529 - 80, 28, -1, 34, 80, -1, 80, 31, 80, -1, 530 - 80, 32, 80, -1, 25, -1, 26, -1, -1, 25, 531 - -1 532 }; 533 534 /* YYRLINE[YYN] -- source line where rule number YYN was defined. */ 535 static const yytype_uint16 yyrline[] = 536 { 537 - 0, 107, 107, 107, 109, 109, 111, 113, 114, 115, 538 - 116, 117, 118, 122, 126, 126, 126, 126, 126, 126, 539 - 126, 130, 131, 132, 133, 134, 135, 139, 140, 146, 540 - 154, 160, 168, 178, 180, 181, 182, 183, 184, 185, 541 - 188, 196, 202, 212, 218, 224, 227, 229, 240, 241, 542 - 246, 255, 260, 268, 271, 273, 274, 275, 276, 277, 543 - 280, 286, 297, 303, 313, 315, 320, 328, 336, 339, 544 - 341, 342, 343, 348, 355, 362, 367, 375, 378, 380, 545 - 381, 382, 385, 393, 400, 407, 413, 420, 422, 423, 546 - 424, 427, 435, 437, 442, 443, 446, 447, 448, 452, 547 - 453, 456, 457, 460, 461, 462, 463, 464, 465, 466, 548 - 469, 470, 473, 474 549 }; 550 #endif 551 ··· 559 "T_SOURCE", "T_CHOICE", "T_ENDCHOICE", "T_COMMENT", "T_CONFIG", 560 "T_MENUCONFIG", "T_HELP", "T_HELPTEXT", "T_IF", "T_ENDIF", "T_DEPENDS", 561 "T_OPTIONAL", "T_PROMPT", "T_TYPE", "T_DEFAULT", "T_SELECT", "T_RANGE", 562 - "T_OPTION", "T_ON", "T_WORD", "T_WORD_QUOTE", "T_UNEQUAL", 563 "T_CLOSE_PAREN", "T_OPEN_PAREN", "T_EOL", "T_OR", "T_AND", "T_EQUAL", 564 "T_NOT", "$accept", "input", "start", "stmt_list", "option_name", 565 "common_stmt", "option_error", "config_entry_start", "config_stmt", ··· 570 "if_entry", "if_end", "if_stmt", "if_block", "mainmenu_stmt", "menu", 571 "menu_entry", "menu_end", "menu_stmt", "menu_block", "source_stmt", 572 "comment", "comment_stmt", "help_start", "help", "depends_list", 573 - "depends", "prompt_stmt_opt", "prompt", "end", "nl", "if_expr", "expr", 574 - "symbol", "word_opt", 0 575 }; 576 #endif 577 ··· 583 0, 256, 257, 258, 259, 260, 261, 262, 263, 264, 584 265, 266, 267, 268, 269, 270, 271, 272, 273, 274, 585 275, 276, 277, 278, 279, 280, 281, 282, 283, 284, 586 - 285, 286, 287, 288, 289 587 }; 588 # endif 589 590 /* YYR1[YYN] -- Symbol number of symbol that rule YYN derives. */ 591 static const yytype_uint8 yyr1[] = 592 { 593 - 0, 35, 36, 36, 37, 37, 38, 38, 38, 38, 594 - 38, 38, 38, 38, 39, 39, 39, 39, 39, 39, 595 - 39, 40, 40, 40, 40, 40, 40, 41, 41, 42, 596 - 43, 44, 45, 46, 46, 46, 46, 46, 46, 46, 597 - 47, 47, 47, 47, 47, 48, 49, 49, 50, 50, 598 - 51, 52, 53, 54, 55, 55, 55, 55, 55, 55, 599 - 56, 56, 56, 56, 57, 57, 58, 59, 60, 61, 600 - 61, 61, 61, 62, 63, 64, 65, 66, 67, 67, 601 - 67, 67, 68, 69, 70, 71, 72, 73, 73, 73, 602 - 73, 74, 75, 75, 76, 76, 77, 77, 77, 78, 603 - 78, 79, 79, 80, 80, 80, 80, 80, 80, 80, 604 - 81, 81, 82, 82 605 }; 606 607 /* YYR2[YYN] -- Number of symbols composing right hand side of rule YYN. */ ··· 609 { 610 0, 2, 2, 1, 2, 1, 0, 2, 2, 2, 611 2, 4, 4, 3, 1, 1, 1, 1, 1, 1, 612 - 1, 1, 1, 1, 1, 1, 1, 3, 2, 3, 613 - 2, 3, 2, 0, 2, 2, 2, 2, 2, 2, 614 - 3, 4, 4, 4, 5, 3, 0, 3, 0, 2, 615 - 3, 2, 1, 3, 0, 2, 2, 2, 2, 2, 616 - 4, 3, 2, 4, 0, 2, 3, 1, 3, 0, 617 - 2, 2, 2, 3, 3, 2, 1, 3, 0, 2, 618 - 2, 2, 3, 3, 2, 2, 2, 0, 2, 2, 619 - 2, 4, 0, 2, 1, 1, 2, 2, 2, 1, 620 - 2, 0, 2, 1, 3, 3, 3, 2, 3, 3, 621 - 1, 1, 0, 1 622 }; 623 624 /* YYDEFACT[STATE-NAME] -- Default rule to reduce with in state ··· 626 means the default is an error. */ 627 static const yytype_uint8 yydefact[] = 628 { 629 - 6, 0, 99, 0, 3, 0, 6, 6, 94, 95, 630 - 0, 1, 0, 0, 0, 0, 112, 0, 0, 0, 631 0, 0, 0, 14, 18, 15, 16, 20, 17, 19, 632 - 0, 21, 0, 7, 33, 24, 33, 25, 54, 64, 633 - 8, 69, 22, 87, 78, 9, 26, 87, 23, 10, 634 - 0, 100, 2, 73, 13, 0, 96, 0, 113, 0, 635 - 97, 0, 0, 0, 110, 111, 0, 0, 0, 103, 636 - 98, 0, 0, 0, 0, 0, 0, 0, 0, 0, 637 - 0, 74, 82, 50, 83, 29, 31, 0, 107, 0, 638 - 0, 66, 0, 0, 11, 12, 0, 0, 0, 0, 639 - 92, 0, 0, 0, 46, 0, 39, 38, 34, 35, 640 - 0, 37, 36, 0, 0, 92, 0, 58, 59, 55, 641 - 57, 56, 65, 53, 52, 70, 72, 68, 71, 67, 642 - 89, 90, 88, 79, 81, 77, 80, 76, 106, 108, 643 - 109, 105, 104, 28, 85, 0, 101, 0, 101, 101, 644 - 101, 0, 0, 0, 86, 62, 101, 0, 101, 0, 645 - 0, 0, 40, 93, 0, 0, 101, 48, 45, 27, 646 - 0, 61, 0, 91, 102, 41, 42, 43, 0, 0, 647 - 47, 60, 63, 44, 49 648 }; 649 650 /* YYDEFGOTO[NTERM-NUM]. */ 651 static const yytype_int16 yydefgoto[] = 652 { 653 - -1, 3, 4, 5, 32, 33, 107, 34, 35, 36, 654 - 37, 73, 108, 109, 152, 180, 38, 39, 123, 40, 655 - 75, 119, 76, 41, 127, 42, 77, 6, 43, 44, 656 - 135, 45, 79, 46, 47, 48, 110, 111, 78, 112, 657 - 147, 148, 49, 7, 161, 68, 69, 59 658 }; 659 660 /* YYPACT[STATE-NUM] -- Index in YYTABLE of the portion describing 661 STATE-NUM. */ 662 - #define YYPACT_NINF -89 663 static const yytype_int16 yypact[] = 664 { 665 - 3, 4, -89, 20, -89, 100, -89, 7, -89, -89, 666 - -8, -89, 17, 4, 28, 4, 37, 36, 4, 68, 667 - 87, -18, 69, -89, -89, -89, -89, -89, -89, -89, 668 - 128, -89, 138, -89, -89, -89, -89, -89, -89, -89, 669 - -89, -89, -89, -89, -89, -89, -89, -89, -89, -89, 670 - 127, -89, -89, 110, -89, 126, -89, 136, -89, 137, 671 - -89, 147, 150, 152, -89, -89, -18, -18, 171, -14, 672 - -89, 153, 157, 34, 67, 180, 233, 220, 207, 220, 673 - 154, -89, -89, -89, -89, -89, -89, 0, -89, -18, 674 - -18, 110, 44, 44, -89, -89, 163, 174, 182, 4, 675 - 4, -18, 194, 44, -89, 219, -89, -89, -89, -89, 676 - 223, -89, -89, 203, 4, 4, 215, -89, -89, -89, 677 - -89, -89, -89, -89, -89, -89, -89, -89, -89, -89, 678 - -89, -89, -89, -89, -89, -89, -89, -89, -89, 213, 679 - -89, -89, -89, -89, -89, -18, 232, 227, 232, -5, 680 - 232, 44, 35, 234, -89, -89, 232, 235, 232, 224, 681 - -18, 236, -89, -89, 237, 238, 232, 216, -89, -89, 682 - 240, -89, 241, -89, 71, -89, -89, -89, 242, 4, 683 - -89, -89, -89, -89, -89 684 }; 685 686 /* YYPGOTO[NTERM-NUM]. */ 687 static const yytype_int16 yypgoto[] = 688 { 689 - -89, -89, 255, 267, -89, 47, -57, -89, -89, -89, 690 - -89, 239, -89, -89, -89, -89, -89, -89, -89, 130, 691 - -89, -89, -89, -89, -89, -89, -89, -89, -89, -89, 692 - -89, 181, -89, -89, -89, -89, -89, 199, 229, 16, 693 - 162, -1, 74, -7, 103, -65, -88, -89 694 }; 695 696 /* YYTABLE[YYPACT[STATE-NUM]]. What to do in state STATE-NUM. If 697 positive, shift that token. If negative, reduce the rule which 698 number is the opposite. If zero, do what YYDEFACT says. 699 If YYTABLE_NINF, syntax error. */ 700 - #define YYTABLE_NINF -85 701 static const yytype_int16 yytable[] = 702 { 703 - 10, 87, 88, 53, 141, 142, 1, 64, 65, 160, 704 - 1, 66, 55, 92, 57, 151, 67, 61, 118, 93, 705 - 11, 131, 2, 131, 139, 140, 89, 90, 138, 8, 706 - 9, 89, 90, 2, -30, 96, 149, 51, -30, -30, 707 - -30, -30, -30, -30, -30, -30, 97, 54, -30, -30, 708 - 98, -30, 99, 100, 101, 102, 103, 104, 56, 105, 709 - 167, 91, 58, 166, 106, 168, 60, -32, 96, 64, 710 - 65, -32, -32, -32, -32, -32, -32, -32, -32, 97, 711 - 159, -32, -32, 98, -32, 99, 100, 101, 102, 103, 712 - 104, 121, 105, 62, 132, 174, 132, 106, 146, 70, 713 - -5, 12, 89, 90, 13, 14, 15, 16, 17, 18, 714 - 19, 20, 63, 156, 21, 22, 23, 24, 25, 26, 715 - 27, 28, 29, 122, 125, 30, 133, -4, 12, 71, 716 - 31, 13, 14, 15, 16, 17, 18, 19, 20, 72, 717 - 51, 21, 22, 23, 24, 25, 26, 27, 28, 29, 718 - 124, 129, 30, 137, -84, 96, 81, 31, -84, -84, 719 - -84, -84, -84, -84, -84, -84, 82, 83, -84, -84, 720 - 98, -84, -84, -84, -84, -84, -84, 84, 184, 105, 721 - 85, 96, 86, 94, 130, -51, -51, 95, -51, -51, 722 - -51, -51, 97, 143, -51, -51, 98, 113, 114, 115, 723 - 116, 2, 89, 90, 144, 105, 145, 126, 96, 134, 724 - 117, -75, -75, -75, -75, -75, -75, -75, -75, 150, 725 - 153, -75, -75, 98, 13, 14, 15, 16, 17, 18, 726 - 19, 20, 105, 155, 21, 22, 154, 130, 14, 15, 727 - 158, 17, 18, 19, 20, 90, 160, 21, 22, 179, 728 - 31, 163, 164, 165, 173, 89, 90, 162, 128, 170, 729 - 136, 172, 52, 31, 169, 171, 175, 176, 177, 178, 730 - 181, 182, 183, 50, 120, 74, 80, 157 731 }; 732 733 - static const yytype_uint8 yycheck[] = 734 { 735 - 1, 66, 67, 10, 92, 93, 3, 25, 26, 14, 736 - 3, 29, 13, 27, 15, 103, 34, 18, 75, 33, 737 - 0, 78, 30, 80, 89, 90, 31, 32, 28, 25, 738 - 26, 31, 32, 30, 0, 1, 101, 30, 4, 5, 739 - 6, 7, 8, 9, 10, 11, 12, 30, 14, 15, 740 - 16, 17, 18, 19, 20, 21, 22, 23, 30, 25, 741 - 25, 68, 25, 151, 30, 30, 30, 0, 1, 25, 742 - 26, 4, 5, 6, 7, 8, 9, 10, 11, 12, 743 - 145, 14, 15, 16, 17, 18, 19, 20, 21, 22, 744 - 23, 75, 25, 25, 78, 160, 80, 30, 99, 30, 745 - 0, 1, 31, 32, 4, 5, 6, 7, 8, 9, 746 - 10, 11, 25, 114, 14, 15, 16, 17, 18, 19, 747 - 20, 21, 22, 76, 77, 25, 79, 0, 1, 1, 748 - 30, 4, 5, 6, 7, 8, 9, 10, 11, 1, 749 - 30, 14, 15, 16, 17, 18, 19, 20, 21, 22, 750 - 76, 77, 25, 79, 0, 1, 30, 30, 4, 5, 751 - 6, 7, 8, 9, 10, 11, 30, 30, 14, 15, 752 - 16, 17, 18, 19, 20, 21, 22, 30, 179, 25, 753 - 30, 1, 30, 30, 30, 5, 6, 30, 8, 9, 754 - 10, 11, 12, 30, 14, 15, 16, 17, 18, 19, 755 - 20, 30, 31, 32, 30, 25, 24, 77, 1, 79, 756 - 30, 4, 5, 6, 7, 8, 9, 10, 11, 25, 757 - 1, 14, 15, 16, 4, 5, 6, 7, 8, 9, 758 - 10, 11, 25, 30, 14, 15, 13, 30, 5, 6, 759 - 25, 8, 9, 10, 11, 32, 14, 14, 15, 33, 760 - 30, 148, 149, 150, 30, 31, 32, 30, 77, 156, 761 - 79, 158, 7, 30, 30, 30, 30, 30, 30, 166, 762 - 30, 30, 30, 6, 75, 36, 47, 115 763 }; 764 765 /* YYSTOS[STATE-NUM] -- The (internal number of the) accessing 766 symbol of state STATE-NUM. */ 767 static const yytype_uint8 yystos[] = 768 { 769 - 0, 3, 30, 36, 37, 38, 62, 78, 25, 26, 770 - 76, 0, 1, 4, 5, 6, 7, 8, 9, 10, 771 11, 14, 15, 16, 17, 18, 19, 20, 21, 22, 772 - 25, 30, 39, 40, 42, 43, 44, 45, 51, 52, 773 - 54, 58, 60, 63, 64, 66, 68, 69, 70, 77, 774 - 38, 30, 37, 78, 30, 76, 30, 76, 25, 82, 775 - 30, 76, 25, 25, 25, 26, 29, 34, 80, 81, 776 - 30, 1, 1, 46, 46, 55, 57, 61, 73, 67, 777 - 73, 30, 30, 30, 30, 30, 30, 80, 80, 31, 778 - 32, 78, 27, 33, 30, 30, 1, 12, 16, 18, 779 - 19, 20, 21, 22, 23, 25, 30, 41, 47, 48, 780 - 71, 72, 74, 17, 18, 19, 20, 30, 41, 56, 781 - 72, 74, 40, 53, 77, 40, 54, 59, 66, 77, 782 - 30, 41, 74, 40, 54, 65, 66, 77, 28, 80, 783 - 80, 81, 81, 30, 30, 24, 76, 75, 76, 80, 784 - 25, 81, 49, 1, 13, 30, 76, 75, 25, 80, 785 - 14, 79, 30, 79, 79, 79, 81, 25, 30, 30, 786 - 79, 30, 79, 30, 80, 30, 30, 30, 79, 33, 787 - 50, 30, 30, 30, 76 788 }; 789 790 #define yyerrok (yyerrstatus = 0) ··· 1302 1303 switch (yytype) 1304 { 1305 - case 52: /* "choice_entry" */ 1306 1307 { 1308 fprintf(stderr, "%s:%d: missing end statement for this entry\n", ··· 1312 }; 1313 1314 break; 1315 - case 58: /* "if_entry" */ 1316 1317 { 1318 fprintf(stderr, "%s:%d: missing end statement for this entry\n", ··· 1322 }; 1323 1324 break; 1325 - case 64: /* "menu_entry" */ 1326 1327 { 1328 fprintf(stderr, "%s:%d: missing end statement for this entry\n", ··· 1654 { zconf_error("invalid statement"); ;} 1655 break; 1656 1657 - case 27: 1658 1659 { zconf_error("unknown option \"%s\"", (yyvsp[(1) - (3)].string)); ;} 1660 break; 1661 1662 - case 28: 1663 1664 { zconf_error("invalid option"); ;} 1665 break; 1666 1667 - case 29: 1668 1669 { 1670 struct symbol *sym = sym_lookup((yyvsp[(2) - (3)].string), 0); ··· 1674 ;} 1675 break; 1676 1677 - case 30: 1678 1679 { 1680 menu_end_entry(); ··· 1682 ;} 1683 break; 1684 1685 - case 31: 1686 1687 { 1688 struct symbol *sym = sym_lookup((yyvsp[(2) - (3)].string), 0); ··· 1692 ;} 1693 break; 1694 1695 - case 32: 1696 1697 { 1698 if (current_entry->prompt) ··· 1704 ;} 1705 break; 1706 1707 - case 40: 1708 1709 { 1710 menu_set_type((yyvsp[(1) - (3)].id)->stype); ··· 1714 ;} 1715 break; 1716 1717 - case 41: 1718 1719 { 1720 menu_add_prompt(P_PROMPT, (yyvsp[(2) - (4)].string), (yyvsp[(3) - (4)].expr)); ··· 1722 ;} 1723 break; 1724 1725 - case 42: 1726 1727 { 1728 menu_add_expr(P_DEFAULT, (yyvsp[(2) - (4)].expr), (yyvsp[(3) - (4)].expr)); ··· 1734 ;} 1735 break; 1736 1737 - case 43: 1738 1739 { 1740 menu_add_symbol(P_SELECT, sym_lookup((yyvsp[(2) - (4)].string), 0), (yyvsp[(3) - (4)].expr)); ··· 1742 ;} 1743 break; 1744 1745 - case 44: 1746 1747 { 1748 menu_add_expr(P_RANGE, expr_alloc_comp(E_RANGE,(yyvsp[(2) - (5)].symbol), (yyvsp[(3) - (5)].symbol)), (yyvsp[(4) - (5)].expr)); ··· 1750 ;} 1751 break; 1752 1753 - case 47: 1754 1755 { 1756 struct kconf_id *id = kconf_id_lookup((yyvsp[(2) - (3)].string), strlen((yyvsp[(2) - (3)].string))); ··· 1762 ;} 1763 break; 1764 1765 - case 48: 1766 1767 { (yyval.string) = NULL; ;} 1768 break; 1769 1770 - case 49: 1771 1772 { (yyval.string) = (yyvsp[(2) - (2)].string); ;} 1773 break; 1774 1775 - case 50: 1776 1777 { 1778 struct symbol *sym = sym_lookup((yyvsp[(2) - (3)].string), SYMBOL_CHOICE); ··· 1783 ;} 1784 break; 1785 1786 - case 51: 1787 1788 { 1789 (yyval.menu) = menu_add_menu(); 1790 ;} 1791 break; 1792 1793 - case 52: 1794 1795 { 1796 if (zconf_endtoken((yyvsp[(1) - (1)].id), T_CHOICE, T_ENDCHOICE)) { ··· 1800 ;} 1801 break; 1802 1803 - case 60: 1804 1805 { 1806 menu_add_prompt(P_PROMPT, (yyvsp[(2) - (4)].string), (yyvsp[(3) - (4)].expr)); ··· 1808 ;} 1809 break; 1810 1811 - case 61: 1812 1813 { 1814 if ((yyvsp[(1) - (3)].id)->stype == S_BOOLEAN || (yyvsp[(1) - (3)].id)->stype == S_TRISTATE) { ··· 1821 ;} 1822 break; 1823 1824 - case 62: 1825 1826 { 1827 current_entry->sym->flags |= SYMBOL_OPTIONAL; ··· 1829 ;} 1830 break; 1831 1832 - case 63: 1833 1834 { 1835 if ((yyvsp[(1) - (4)].id)->stype == S_UNKNOWN) { ··· 1841 ;} 1842 break; 1843 1844 - case 66: 1845 1846 { 1847 printd(DEBUG_PARSE, "%s:%d:if\n", zconf_curname(), zconf_lineno()); ··· 1851 ;} 1852 break; 1853 1854 - case 67: 1855 1856 { 1857 if (zconf_endtoken((yyvsp[(1) - (1)].id), T_IF, T_ENDIF)) { ··· 1861 ;} 1862 break; 1863 1864 - case 73: 1865 1866 { 1867 menu_add_prompt(P_MENU, (yyvsp[(2) - (3)].string), NULL); 1868 ;} 1869 break; 1870 1871 - case 74: 1872 1873 { 1874 menu_add_entry(NULL); ··· 1877 ;} 1878 break; 1879 1880 - case 75: 1881 1882 { 1883 (yyval.menu) = menu_add_menu(); 1884 ;} 1885 break; 1886 1887 - case 76: 1888 1889 { 1890 if (zconf_endtoken((yyvsp[(1) - (1)].id), T_MENU, T_ENDMENU)) { ··· 1894 ;} 1895 break; 1896 1897 - case 82: 1898 1899 { 1900 printd(DEBUG_PARSE, "%s:%d:source %s\n", zconf_curname(), zconf_lineno(), (yyvsp[(2) - (3)].string)); ··· 1902 ;} 1903 break; 1904 1905 - case 83: 1906 1907 { 1908 menu_add_entry(NULL); ··· 1911 ;} 1912 break; 1913 1914 - case 84: 1915 1916 { 1917 menu_end_entry(); 1918 ;} 1919 break; 1920 1921 - case 85: 1922 1923 { 1924 printd(DEBUG_PARSE, "%s:%d:help\n", zconf_curname(), zconf_lineno()); ··· 1926 ;} 1927 break; 1928 1929 - case 86: 1930 1931 { 1932 current_entry->help = (yyvsp[(2) - (2)].string); 1933 ;} 1934 break; 1935 1936 - case 91: 1937 1938 { 1939 menu_add_dep((yyvsp[(3) - (4)].expr)); ··· 1941 ;} 1942 break; 1943 1944 - case 93: 1945 1946 { 1947 menu_add_prompt(P_PROMPT, (yyvsp[(1) - (2)].string), (yyvsp[(2) - (2)].expr)); 1948 ;} 1949 break; 1950 1951 - case 96: 1952 - 1953 - { (yyval.id) = (yyvsp[(1) - (2)].id); ;} 1954 - break; 1955 - 1956 - case 97: 1957 - 1958 - { (yyval.id) = (yyvsp[(1) - (2)].id); ;} 1959 - break; 1960 - 1961 - case 98: 1962 - 1963 - { (yyval.id) = (yyvsp[(1) - (2)].id); ;} 1964 - break; 1965 - 1966 case 101: 1967 1968 - { (yyval.expr) = NULL; ;} 1969 break; 1970 1971 case 102: 1972 1973 - { (yyval.expr) = (yyvsp[(2) - (2)].expr); ;} 1974 break; 1975 1976 case 103: 1977 1978 - { (yyval.expr) = expr_alloc_symbol((yyvsp[(1) - (1)].symbol)); ;} 1979 - break; 1980 - 1981 - case 104: 1982 - 1983 - { (yyval.expr) = expr_alloc_comp(E_EQUAL, (yyvsp[(1) - (3)].symbol), (yyvsp[(3) - (3)].symbol)); ;} 1984 - break; 1985 - 1986 - case 105: 1987 - 1988 - { (yyval.expr) = expr_alloc_comp(E_UNEQUAL, (yyvsp[(1) - (3)].symbol), (yyvsp[(3) - (3)].symbol)); ;} 1989 break; 1990 1991 case 106: 1992 1993 - { (yyval.expr) = (yyvsp[(2) - (3)].expr); ;} 1994 break; 1995 1996 case 107: 1997 1998 - { (yyval.expr) = expr_alloc_one(E_NOT, (yyvsp[(2) - (2)].expr)); ;} 1999 break; 2000 2001 case 108: 2002 2003 - { (yyval.expr) = expr_alloc_two(E_OR, (yyvsp[(1) - (3)].expr), (yyvsp[(3) - (3)].expr)); ;} 2004 break; 2005 2006 case 109: 2007 2008 - { (yyval.expr) = expr_alloc_two(E_AND, (yyvsp[(1) - (3)].expr), (yyvsp[(3) - (3)].expr)); ;} 2009 break; 2010 2011 case 110: 2012 2013 - { (yyval.symbol) = sym_lookup((yyvsp[(1) - (1)].string), 0); free((yyvsp[(1) - (1)].string)); ;} 2014 break; 2015 2016 case 111: 2017 2018 - { (yyval.symbol) = sym_lookup((yyvsp[(1) - (1)].string), SYMBOL_CONST); free((yyvsp[(1) - (1)].string)); ;} 2019 break; 2020 2021 case 112: 2022 2023 { (yyval.string) = NULL; ;} 2024 break; ··· 2295 case T_IF: return "if"; 2296 case T_ENDIF: return "endif"; 2297 case T_DEPENDS: return "depends"; 2298 } 2299 return "<token>"; 2300 }
··· 160 T_DEFAULT = 275, 161 T_SELECT = 276, 162 T_RANGE = 277, 163 + T_VISIBLE = 278, 164 + T_OPTION = 279, 165 + T_ON = 280, 166 + T_WORD = 281, 167 + T_WORD_QUOTE = 282, 168 + T_UNEQUAL = 283, 169 + T_CLOSE_PAREN = 284, 170 + T_OPEN_PAREN = 285, 171 + T_EOL = 286, 172 + T_OR = 287, 173 + T_AND = 288, 174 + T_EQUAL = 289, 175 + T_NOT = 290 176 }; 177 #endif 178 ··· 419 /* YYFINAL -- State number of the termination state. */ 420 #define YYFINAL 11 421 /* YYLAST -- Last index in YYTABLE. */ 422 + #define YYLAST 290 423 424 /* YYNTOKENS -- Number of terminals. */ 425 + #define YYNTOKENS 36 426 /* YYNNTS -- Number of nonterminals. */ 427 + #define YYNNTS 50 428 /* YYNRULES -- Number of rules. */ 429 + #define YYNRULES 118 430 /* YYNRULES -- Number of states. */ 431 + #define YYNSTATES 191 432 433 /* YYTRANSLATE(YYLEX) -- Bison symbol number corresponding to YYLEX. */ 434 #define YYUNDEFTOK 2 435 + #define YYMAXUTOK 290 436 437 #define YYTRANSLATE(YYX) \ 438 ((unsigned int) (YYX) <= YYMAXUTOK ? yytranslate[YYX] : YYUNDEFTOK) ··· 468 2, 2, 2, 2, 2, 2, 1, 2, 3, 4, 469 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 470 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 471 + 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 472 + 35 473 }; 474 475 #if YYDEBUG ··· 478 { 479 0, 0, 3, 6, 8, 11, 13, 14, 17, 20, 480 23, 26, 31, 36, 40, 42, 44, 46, 48, 50, 481 + 52, 54, 56, 58, 60, 62, 64, 66, 68, 72, 482 + 75, 79, 82, 86, 89, 90, 93, 96, 99, 102, 483 + 105, 108, 112, 117, 122, 127, 133, 137, 138, 142, 484 + 143, 146, 150, 153, 155, 159, 160, 163, 166, 169, 485 + 172, 175, 180, 184, 187, 192, 193, 196, 200, 202, 486 + 206, 207, 210, 213, 216, 220, 224, 228, 230, 234, 487 + 235, 238, 241, 244, 248, 252, 255, 258, 261, 262, 488 + 265, 268, 271, 276, 277, 280, 283, 286, 287, 290, 489 + 292, 294, 297, 300, 303, 305, 308, 309, 312, 314, 490 + 318, 322, 326, 329, 333, 337, 339, 341, 342 491 }; 492 493 /* YYRHS -- A `-1'-separated list of the rules' RHS. */ 494 static const yytype_int8 yyrhs[] = 495 { 496 + 37, 0, -1, 81, 38, -1, 38, -1, 63, 39, 497 + -1, 39, -1, -1, 39, 41, -1, 39, 55, -1, 498 + 39, 67, -1, 39, 80, -1, 39, 26, 1, 31, 499 + -1, 39, 40, 1, 31, -1, 39, 1, 31, -1, 500 16, -1, 18, -1, 19, -1, 21, -1, 17, -1, 501 + 22, -1, 20, -1, 23, -1, 31, -1, 61, -1, 502 + 71, -1, 44, -1, 46, -1, 69, -1, 26, 1, 503 + 31, -1, 1, 31, -1, 10, 26, 31, -1, 43, 504 + 47, -1, 11, 26, 31, -1, 45, 47, -1, -1, 505 + 47, 48, -1, 47, 49, -1, 47, 75, -1, 47, 506 + 73, -1, 47, 42, -1, 47, 31, -1, 19, 78, 507 + 31, -1, 18, 79, 82, 31, -1, 20, 83, 82, 508 + 31, -1, 21, 26, 82, 31, -1, 22, 84, 84, 509 + 82, 31, -1, 24, 50, 31, -1, -1, 50, 26, 510 + 51, -1, -1, 34, 79, -1, 7, 85, 31, -1, 511 + 52, 56, -1, 80, -1, 53, 58, 54, -1, -1, 512 + 56, 57, -1, 56, 75, -1, 56, 73, -1, 56, 513 + 31, -1, 56, 42, -1, 18, 79, 82, 31, -1, 514 + 19, 78, 31, -1, 17, 31, -1, 20, 26, 82, 515 + 31, -1, -1, 58, 41, -1, 14, 83, 81, -1, 516 + 80, -1, 59, 62, 60, -1, -1, 62, 41, -1, 517 + 62, 67, -1, 62, 55, -1, 3, 79, 81, -1, 518 + 4, 79, 31, -1, 64, 76, 74, -1, 80, -1, 519 + 65, 68, 66, -1, -1, 68, 41, -1, 68, 67, 520 + -1, 68, 55, -1, 6, 79, 31, -1, 9, 79, 521 + 31, -1, 70, 74, -1, 12, 31, -1, 72, 13, 522 + -1, -1, 74, 75, -1, 74, 31, -1, 74, 42, 523 + -1, 16, 25, 83, 31, -1, -1, 76, 77, -1, 524 + 76, 31, -1, 23, 82, -1, -1, 79, 82, -1, 525 + 26, -1, 27, -1, 5, 31, -1, 8, 31, -1, 526 + 15, 31, -1, 31, -1, 81, 31, -1, -1, 14, 527 + 83, -1, 84, -1, 84, 34, 84, -1, 84, 28, 528 + 84, -1, 30, 83, 29, -1, 35, 83, -1, 83, 529 + 32, 83, -1, 83, 33, 83, -1, 26, -1, 27, 530 + -1, -1, 26, -1 531 }; 532 533 /* YYRLINE[YYN] -- source line where rule number YYN was defined. */ 534 static const yytype_uint16 yyrline[] = 535 { 536 + 0, 108, 108, 108, 110, 110, 112, 114, 115, 116, 537 + 117, 118, 119, 123, 127, 127, 127, 127, 127, 127, 538 + 127, 127, 131, 132, 133, 134, 135, 136, 140, 141, 539 + 147, 155, 161, 169, 179, 181, 182, 183, 184, 185, 540 + 186, 189, 197, 203, 213, 219, 225, 228, 230, 241, 541 + 242, 247, 256, 261, 269, 272, 274, 275, 276, 277, 542 + 278, 281, 287, 298, 304, 314, 316, 321, 329, 337, 543 + 340, 342, 343, 344, 349, 356, 363, 368, 376, 379, 544 + 381, 382, 383, 386, 394, 401, 408, 414, 421, 423, 545 + 424, 425, 428, 436, 438, 439, 442, 449, 451, 456, 546 + 457, 460, 461, 462, 466, 467, 470, 471, 474, 475, 547 + 476, 477, 478, 479, 480, 483, 484, 487, 488 548 }; 549 #endif 550 ··· 556 "T_SOURCE", "T_CHOICE", "T_ENDCHOICE", "T_COMMENT", "T_CONFIG", 557 "T_MENUCONFIG", "T_HELP", "T_HELPTEXT", "T_IF", "T_ENDIF", "T_DEPENDS", 558 "T_OPTIONAL", "T_PROMPT", "T_TYPE", "T_DEFAULT", "T_SELECT", "T_RANGE", 559 + "T_VISIBLE", "T_OPTION", "T_ON", "T_WORD", "T_WORD_QUOTE", "T_UNEQUAL", 560 "T_CLOSE_PAREN", "T_OPEN_PAREN", "T_EOL", "T_OR", "T_AND", "T_EQUAL", 561 "T_NOT", "$accept", "input", "start", "stmt_list", "option_name", 562 "common_stmt", "option_error", "config_entry_start", "config_stmt", ··· 567 "if_entry", "if_end", "if_stmt", "if_block", "mainmenu_stmt", "menu", 568 "menu_entry", "menu_end", "menu_stmt", "menu_block", "source_stmt", 569 "comment", "comment_stmt", "help_start", "help", "depends_list", 570 + "depends", "visibility_list", "visible", "prompt_stmt_opt", "prompt", 571 + "end", "nl", "if_expr", "expr", "symbol", "word_opt", 0 572 }; 573 #endif 574 ··· 580 0, 256, 257, 258, 259, 260, 261, 262, 263, 264, 581 265, 266, 267, 268, 269, 270, 271, 272, 273, 274, 582 275, 276, 277, 278, 279, 280, 281, 282, 283, 284, 583 + 285, 286, 287, 288, 289, 290 584 }; 585 # endif 586 587 /* YYR1[YYN] -- Symbol number of symbol that rule YYN derives. */ 588 static const yytype_uint8 yyr1[] = 589 { 590 + 0, 36, 37, 37, 38, 38, 39, 39, 39, 39, 591 + 39, 39, 39, 39, 40, 40, 40, 40, 40, 40, 592 + 40, 40, 41, 41, 41, 41, 41, 41, 42, 42, 593 + 43, 44, 45, 46, 47, 47, 47, 47, 47, 47, 594 + 47, 48, 48, 48, 48, 48, 49, 50, 50, 51, 595 + 51, 52, 53, 54, 55, 56, 56, 56, 56, 56, 596 + 56, 57, 57, 57, 57, 58, 58, 59, 60, 61, 597 + 62, 62, 62, 62, 63, 64, 65, 66, 67, 68, 598 + 68, 68, 68, 69, 70, 71, 72, 73, 74, 74, 599 + 74, 74, 75, 76, 76, 76, 77, 78, 78, 79, 600 + 79, 80, 80, 80, 81, 81, 82, 82, 83, 83, 601 + 83, 83, 83, 83, 83, 84, 84, 85, 85 602 }; 603 604 /* YYR2[YYN] -- Number of symbols composing right hand side of rule YYN. */ ··· 606 { 607 0, 2, 2, 1, 2, 1, 0, 2, 2, 2, 608 2, 4, 4, 3, 1, 1, 1, 1, 1, 1, 609 + 1, 1, 1, 1, 1, 1, 1, 1, 3, 2, 610 + 3, 2, 3, 2, 0, 2, 2, 2, 2, 2, 611 + 2, 3, 4, 4, 4, 5, 3, 0, 3, 0, 612 + 2, 3, 2, 1, 3, 0, 2, 2, 2, 2, 613 + 2, 4, 3, 2, 4, 0, 2, 3, 1, 3, 614 + 0, 2, 2, 2, 3, 3, 3, 1, 3, 0, 615 + 2, 2, 2, 3, 3, 2, 2, 2, 0, 2, 616 + 2, 2, 4, 0, 2, 2, 2, 0, 2, 1, 617 + 1, 2, 2, 2, 1, 2, 0, 2, 1, 3, 618 + 3, 3, 2, 3, 3, 1, 1, 0, 1 619 }; 620 621 /* YYDEFACT[STATE-NAME] -- Default rule to reduce with in state ··· 623 means the default is an error. */ 624 static const yytype_uint8 yydefact[] = 625 { 626 + 6, 0, 104, 0, 3, 0, 6, 6, 99, 100, 627 + 0, 1, 0, 0, 0, 0, 117, 0, 0, 0, 628 0, 0, 0, 14, 18, 15, 16, 20, 17, 19, 629 + 21, 0, 22, 0, 7, 34, 25, 34, 26, 55, 630 + 65, 8, 70, 23, 93, 79, 9, 27, 88, 24, 631 + 10, 0, 105, 2, 74, 13, 0, 101, 0, 118, 632 + 0, 102, 0, 0, 0, 115, 116, 0, 0, 0, 633 + 108, 103, 0, 0, 0, 0, 0, 0, 0, 88, 634 + 0, 0, 75, 83, 51, 84, 30, 32, 0, 112, 635 + 0, 0, 67, 0, 0, 11, 12, 0, 0, 0, 636 + 0, 97, 0, 0, 0, 47, 0, 40, 39, 35, 637 + 36, 0, 38, 37, 0, 0, 97, 0, 59, 60, 638 + 56, 58, 57, 66, 54, 53, 71, 73, 69, 72, 639 + 68, 106, 95, 0, 94, 80, 82, 78, 81, 77, 640 + 90, 91, 89, 111, 113, 114, 110, 109, 29, 86, 641 + 0, 106, 0, 106, 106, 106, 0, 0, 0, 87, 642 + 63, 106, 0, 106, 0, 96, 0, 0, 41, 98, 643 + 0, 0, 106, 49, 46, 28, 0, 62, 0, 107, 644 + 92, 42, 43, 44, 0, 0, 48, 61, 64, 45, 645 + 50 646 }; 647 648 /* YYDEFGOTO[NTERM-NUM]. */ 649 static const yytype_int16 yydefgoto[] = 650 { 651 + -1, 3, 4, 5, 33, 34, 108, 35, 36, 37, 652 + 38, 74, 109, 110, 157, 186, 39, 40, 124, 41, 653 + 76, 120, 77, 42, 128, 43, 78, 6, 44, 45, 654 + 137, 46, 80, 47, 48, 49, 111, 112, 81, 113, 655 + 79, 134, 152, 153, 50, 7, 165, 69, 70, 60 656 }; 657 658 /* YYPACT[STATE-NUM] -- Index in YYTABLE of the portion describing 659 STATE-NUM. */ 660 + #define YYPACT_NINF -90 661 static const yytype_int16 yypact[] = 662 { 663 + 4, 42, -90, 96, -90, 111, -90, 15, -90, -90, 664 + 75, -90, 82, 42, 104, 42, 110, 107, 42, 115, 665 + 125, -4, 121, -90, -90, -90, -90, -90, -90, -90, 666 + -90, 162, -90, 163, -90, -90, -90, -90, -90, -90, 667 + -90, -90, -90, -90, -90, -90, -90, -90, -90, -90, 668 + -90, 139, -90, -90, 138, -90, 142, -90, 143, -90, 669 + 152, -90, 164, 167, 168, -90, -90, -4, -4, 77, 670 + -18, -90, 177, 185, 33, 71, 195, 247, 236, -2, 671 + 236, 171, -90, -90, -90, -90, -90, -90, 41, -90, 672 + -4, -4, 138, 97, 97, -90, -90, 186, 187, 194, 673 + 42, 42, -4, 196, 97, -90, 219, -90, -90, -90, 674 + -90, 210, -90, -90, 204, 42, 42, 199, -90, -90, 675 + -90, -90, -90, -90, -90, -90, -90, -90, -90, -90, 676 + -90, 222, -90, 223, -90, -90, -90, -90, -90, -90, 677 + -90, -90, -90, -90, 215, -90, -90, -90, -90, -90, 678 + -4, 222, 228, 222, -5, 222, 97, 35, 229, -90, 679 + -90, 222, 232, 222, -4, -90, 135, 233, -90, -90, 680 + 234, 235, 222, 240, -90, -90, 237, -90, 239, -13, 681 + -90, -90, -90, -90, 244, 42, -90, -90, -90, -90, 682 + -90 683 }; 684 685 /* YYPGOTO[NTERM-NUM]. */ 686 static const yytype_int16 yypgoto[] = 687 { 688 + -90, -90, 269, 271, -90, 23, -70, -90, -90, -90, 689 + -90, 243, -90, -90, -90, -90, -90, -90, -90, -48, 690 + -90, -90, -90, -90, -90, -90, -90, -90, -90, -90, 691 + -90, -20, -90, -90, -90, -90, -90, 206, 205, -68, 692 + -90, -90, 169, -1, 27, -7, 118, -66, -89, -90 693 }; 694 695 /* YYTABLE[YYPACT[STATE-NUM]]. What to do in state STATE-NUM. If 696 positive, shift that token. If negative, reduce the rule which 697 number is the opposite. If zero, do what YYDEFACT says. 698 If YYTABLE_NINF, syntax error. */ 699 + #define YYTABLE_NINF -86 700 static const yytype_int16 yytable[] = 701 { 702 + 10, 88, 89, 54, 146, 147, 119, 1, 122, 164, 703 + 93, 141, 56, 142, 58, 156, 94, 62, 1, 90, 704 + 91, 131, 65, 66, 144, 145, 67, 90, 91, 132, 705 + 127, 68, 136, -31, 97, 2, 154, -31, -31, -31, 706 + -31, -31, -31, -31, -31, 98, 52, -31, -31, 99, 707 + -31, 100, 101, 102, 103, 104, -31, 105, 129, 106, 708 + 138, 173, 92, 141, 107, 142, 174, 172, 8, 9, 709 + 143, -33, 97, 90, 91, -33, -33, -33, -33, -33, 710 + -33, -33, -33, 98, 166, -33, -33, 99, -33, 100, 711 + 101, 102, 103, 104, -33, 105, 11, 106, 179, 151, 712 + 123, 126, 107, 135, 125, 130, 2, 139, 2, 90, 713 + 91, -5, 12, 55, 161, 13, 14, 15, 16, 17, 714 + 18, 19, 20, 65, 66, 21, 22, 23, 24, 25, 715 + 26, 27, 28, 29, 30, 57, 59, 31, 61, -4, 716 + 12, 63, 32, 13, 14, 15, 16, 17, 18, 19, 717 + 20, 64, 71, 21, 22, 23, 24, 25, 26, 27, 718 + 28, 29, 30, 72, 73, 31, 180, 90, 91, 52, 719 + 32, -85, 97, 82, 83, -85, -85, -85, -85, -85, 720 + -85, -85, -85, 84, 190, -85, -85, 99, -85, -85, 721 + -85, -85, -85, -85, -85, 85, 97, 106, 86, 87, 722 + -52, -52, 140, -52, -52, -52, -52, 98, 95, -52, 723 + -52, 99, 114, 115, 116, 117, 96, 148, 149, 150, 724 + 158, 106, 155, 159, 97, 163, 118, -76, -76, -76, 725 + -76, -76, -76, -76, -76, 160, 164, -76, -76, 99, 726 + 13, 14, 15, 16, 17, 18, 19, 20, 91, 106, 727 + 21, 22, 14, 15, 140, 17, 18, 19, 20, 168, 728 + 175, 21, 22, 177, 181, 182, 183, 32, 187, 167, 729 + 188, 169, 170, 171, 185, 189, 53, 51, 32, 176, 730 + 75, 178, 121, 0, 133, 162, 0, 0, 0, 0, 731 + 184 732 }; 733 734 + static const yytype_int16 yycheck[] = 735 { 736 + 1, 67, 68, 10, 93, 94, 76, 3, 76, 14, 737 + 28, 81, 13, 81, 15, 104, 34, 18, 3, 32, 738 + 33, 23, 26, 27, 90, 91, 30, 32, 33, 31, 739 + 78, 35, 80, 0, 1, 31, 102, 4, 5, 6, 740 + 7, 8, 9, 10, 11, 12, 31, 14, 15, 16, 741 + 17, 18, 19, 20, 21, 22, 23, 24, 78, 26, 742 + 80, 26, 69, 133, 31, 133, 31, 156, 26, 27, 743 + 29, 0, 1, 32, 33, 4, 5, 6, 7, 8, 744 + 9, 10, 11, 12, 150, 14, 15, 16, 17, 18, 745 + 19, 20, 21, 22, 23, 24, 0, 26, 164, 100, 746 + 77, 78, 31, 80, 77, 78, 31, 80, 31, 32, 747 + 33, 0, 1, 31, 115, 4, 5, 6, 7, 8, 748 + 9, 10, 11, 26, 27, 14, 15, 16, 17, 18, 749 + 19, 20, 21, 22, 23, 31, 26, 26, 31, 0, 750 + 1, 26, 31, 4, 5, 6, 7, 8, 9, 10, 751 + 11, 26, 31, 14, 15, 16, 17, 18, 19, 20, 752 + 21, 22, 23, 1, 1, 26, 31, 32, 33, 31, 753 + 31, 0, 1, 31, 31, 4, 5, 6, 7, 8, 754 + 9, 10, 11, 31, 185, 14, 15, 16, 17, 18, 755 + 19, 20, 21, 22, 23, 31, 1, 26, 31, 31, 756 + 5, 6, 31, 8, 9, 10, 11, 12, 31, 14, 757 + 15, 16, 17, 18, 19, 20, 31, 31, 31, 25, 758 + 1, 26, 26, 13, 1, 26, 31, 4, 5, 6, 759 + 7, 8, 9, 10, 11, 31, 14, 14, 15, 16, 760 + 4, 5, 6, 7, 8, 9, 10, 11, 33, 26, 761 + 14, 15, 5, 6, 31, 8, 9, 10, 11, 31, 762 + 31, 14, 15, 31, 31, 31, 31, 31, 31, 151, 763 + 31, 153, 154, 155, 34, 31, 7, 6, 31, 161, 764 + 37, 163, 76, -1, 79, 116, -1, -1, -1, -1, 765 + 172 766 }; 767 768 /* YYSTOS[STATE-NUM] -- The (internal number of the) accessing 769 symbol of state STATE-NUM. */ 770 static const yytype_uint8 yystos[] = 771 { 772 + 0, 3, 31, 37, 38, 39, 63, 81, 26, 27, 773 + 79, 0, 1, 4, 5, 6, 7, 8, 9, 10, 774 11, 14, 15, 16, 17, 18, 19, 20, 21, 22, 775 + 23, 26, 31, 40, 41, 43, 44, 45, 46, 52, 776 + 53, 55, 59, 61, 64, 65, 67, 69, 70, 71, 777 + 80, 39, 31, 38, 81, 31, 79, 31, 79, 26, 778 + 85, 31, 79, 26, 26, 26, 27, 30, 35, 83, 779 + 84, 31, 1, 1, 47, 47, 56, 58, 62, 76, 780 + 68, 74, 31, 31, 31, 31, 31, 31, 83, 83, 781 + 32, 33, 81, 28, 34, 31, 31, 1, 12, 16, 782 + 18, 19, 20, 21, 22, 24, 26, 31, 42, 48, 783 + 49, 72, 73, 75, 17, 18, 19, 20, 31, 42, 784 + 57, 73, 75, 41, 54, 80, 41, 55, 60, 67, 785 + 80, 23, 31, 74, 77, 41, 55, 66, 67, 80, 786 + 31, 42, 75, 29, 83, 83, 84, 84, 31, 31, 787 + 25, 79, 78, 79, 83, 26, 84, 50, 1, 13, 788 + 31, 79, 78, 26, 14, 82, 83, 82, 31, 82, 789 + 82, 82, 84, 26, 31, 31, 82, 31, 82, 83, 790 + 31, 31, 31, 31, 82, 34, 51, 31, 31, 31, 791 + 79 792 }; 793 794 #define yyerrok (yyerrstatus = 0) ··· 1292 1293 switch (yytype) 1294 { 1295 + case 53: /* "choice_entry" */ 1296 1297 { 1298 fprintf(stderr, "%s:%d: missing end statement for this entry\n", ··· 1302 }; 1303 1304 break; 1305 + case 59: /* "if_entry" */ 1306 1307 { 1308 fprintf(stderr, "%s:%d: missing end statement for this entry\n", ··· 1312 }; 1313 1314 break; 1315 + case 65: /* "menu_entry" */ 1316 1317 { 1318 fprintf(stderr, "%s:%d: missing end statement for this entry\n", ··· 1644 { zconf_error("invalid statement"); ;} 1645 break; 1646 1647 + case 28: 1648 1649 { zconf_error("unknown option \"%s\"", (yyvsp[(1) - (3)].string)); ;} 1650 break; 1651 1652 + case 29: 1653 1654 { zconf_error("invalid option"); ;} 1655 break; 1656 1657 + case 30: 1658 1659 { 1660 struct symbol *sym = sym_lookup((yyvsp[(2) - (3)].string), 0); ··· 1664 ;} 1665 break; 1666 1667 + case 31: 1668 1669 { 1670 menu_end_entry(); ··· 1672 ;} 1673 break; 1674 1675 + case 32: 1676 1677 { 1678 struct symbol *sym = sym_lookup((yyvsp[(2) - (3)].string), 0); ··· 1682 ;} 1683 break; 1684 1685 + case 33: 1686 1687 { 1688 if (current_entry->prompt) ··· 1694 ;} 1695 break; 1696 1697 + case 41: 1698 1699 { 1700 menu_set_type((yyvsp[(1) - (3)].id)->stype); ··· 1704 ;} 1705 break; 1706 1707 + case 42: 1708 1709 { 1710 menu_add_prompt(P_PROMPT, (yyvsp[(2) - (4)].string), (yyvsp[(3) - (4)].expr)); ··· 1712 ;} 1713 break; 1714 1715 + case 43: 1716 1717 { 1718 menu_add_expr(P_DEFAULT, (yyvsp[(2) - (4)].expr), (yyvsp[(3) - (4)].expr)); ··· 1724 ;} 1725 break; 1726 1727 + case 44: 1728 1729 { 1730 menu_add_symbol(P_SELECT, sym_lookup((yyvsp[(2) - (4)].string), 0), (yyvsp[(3) - (4)].expr)); ··· 1732 ;} 1733 break; 1734 1735 + case 45: 1736 1737 { 1738 menu_add_expr(P_RANGE, expr_alloc_comp(E_RANGE,(yyvsp[(2) - (5)].symbol), (yyvsp[(3) - (5)].symbol)), (yyvsp[(4) - (5)].expr)); ··· 1740 ;} 1741 break; 1742 1743 + case 48: 1744 1745 { 1746 struct kconf_id *id = kconf_id_lookup((yyvsp[(2) - (3)].string), strlen((yyvsp[(2) - (3)].string))); ··· 1752 ;} 1753 break; 1754 1755 + case 49: 1756 1757 { (yyval.string) = NULL; ;} 1758 break; 1759 1760 + case 50: 1761 1762 { (yyval.string) = (yyvsp[(2) - (2)].string); ;} 1763 break; 1764 1765 + case 51: 1766 1767 { 1768 struct symbol *sym = sym_lookup((yyvsp[(2) - (3)].string), SYMBOL_CHOICE); ··· 1773 ;} 1774 break; 1775 1776 + case 52: 1777 1778 { 1779 (yyval.menu) = menu_add_menu(); 1780 ;} 1781 break; 1782 1783 + case 53: 1784 1785 { 1786 if (zconf_endtoken((yyvsp[(1) - (1)].id), T_CHOICE, T_ENDCHOICE)) { ··· 1790 ;} 1791 break; 1792 1793 + case 61: 1794 1795 { 1796 menu_add_prompt(P_PROMPT, (yyvsp[(2) - (4)].string), (yyvsp[(3) - (4)].expr)); ··· 1798 ;} 1799 break; 1800 1801 + case 62: 1802 1803 { 1804 if ((yyvsp[(1) - (3)].id)->stype == S_BOOLEAN || (yyvsp[(1) - (3)].id)->stype == S_TRISTATE) { ··· 1811 ;} 1812 break; 1813 1814 + case 63: 1815 1816 { 1817 current_entry->sym->flags |= SYMBOL_OPTIONAL; ··· 1819 ;} 1820 break; 1821 1822 + case 64: 1823 1824 { 1825 if ((yyvsp[(1) - (4)].id)->stype == S_UNKNOWN) { ··· 1831 ;} 1832 break; 1833 1834 + case 67: 1835 1836 { 1837 printd(DEBUG_PARSE, "%s:%d:if\n", zconf_curname(), zconf_lineno()); ··· 1841 ;} 1842 break; 1843 1844 + case 68: 1845 1846 { 1847 if (zconf_endtoken((yyvsp[(1) - (1)].id), T_IF, T_ENDIF)) { ··· 1851 ;} 1852 break; 1853 1854 + case 74: 1855 1856 { 1857 menu_add_prompt(P_MENU, (yyvsp[(2) - (3)].string), NULL); 1858 ;} 1859 break; 1860 1861 + case 75: 1862 1863 { 1864 menu_add_entry(NULL); ··· 1867 ;} 1868 break; 1869 1870 + case 76: 1871 1872 { 1873 (yyval.menu) = menu_add_menu(); 1874 ;} 1875 break; 1876 1877 + case 77: 1878 1879 { 1880 if (zconf_endtoken((yyvsp[(1) - (1)].id), T_MENU, T_ENDMENU)) { ··· 1884 ;} 1885 break; 1886 1887 + case 83: 1888 1889 { 1890 printd(DEBUG_PARSE, "%s:%d:source %s\n", zconf_curname(), zconf_lineno(), (yyvsp[(2) - (3)].string)); ··· 1892 ;} 1893 break; 1894 1895 + case 84: 1896 1897 { 1898 menu_add_entry(NULL); ··· 1901 ;} 1902 break; 1903 1904 + case 85: 1905 1906 { 1907 menu_end_entry(); 1908 ;} 1909 break; 1910 1911 + case 86: 1912 1913 { 1914 printd(DEBUG_PARSE, "%s:%d:help\n", zconf_curname(), zconf_lineno()); ··· 1916 ;} 1917 break; 1918 1919 + case 87: 1920 1921 { 1922 current_entry->help = (yyvsp[(2) - (2)].string); 1923 ;} 1924 break; 1925 1926 + case 92: 1927 1928 { 1929 menu_add_dep((yyvsp[(3) - (4)].expr)); ··· 1931 ;} 1932 break; 1933 1934 + case 96: 1935 + 1936 + { 1937 + menu_add_visibility((yyvsp[(2) - (2)].expr)); 1938 + ;} 1939 + break; 1940 + 1941 + case 98: 1942 1943 { 1944 menu_add_prompt(P_PROMPT, (yyvsp[(1) - (2)].string), (yyvsp[(2) - (2)].expr)); 1945 ;} 1946 break; 1947 1948 case 101: 1949 1950 + { (yyval.id) = (yyvsp[(1) - (2)].id); ;} 1951 break; 1952 1953 case 102: 1954 1955 + { (yyval.id) = (yyvsp[(1) - (2)].id); ;} 1956 break; 1957 1958 case 103: 1959 1960 + { (yyval.id) = (yyvsp[(1) - (2)].id); ;} 1961 break; 1962 1963 case 106: 1964 1965 + { (yyval.expr) = NULL; ;} 1966 break; 1967 1968 case 107: 1969 1970 + { (yyval.expr) = (yyvsp[(2) - (2)].expr); ;} 1971 break; 1972 1973 case 108: 1974 1975 + { (yyval.expr) = expr_alloc_symbol((yyvsp[(1) - (1)].symbol)); ;} 1976 break; 1977 1978 case 109: 1979 1980 + { (yyval.expr) = expr_alloc_comp(E_EQUAL, (yyvsp[(1) - (3)].symbol), (yyvsp[(3) - (3)].symbol)); ;} 1981 break; 1982 1983 case 110: 1984 1985 + { (yyval.expr) = expr_alloc_comp(E_UNEQUAL, (yyvsp[(1) - (3)].symbol), (yyvsp[(3) - (3)].symbol)); ;} 1986 break; 1987 1988 case 111: 1989 1990 + { (yyval.expr) = (yyvsp[(2) - (3)].expr); ;} 1991 break; 1992 1993 case 112: 1994 + 1995 + { (yyval.expr) = expr_alloc_one(E_NOT, (yyvsp[(2) - (2)].expr)); ;} 1996 + break; 1997 + 1998 + case 113: 1999 + 2000 + { (yyval.expr) = expr_alloc_two(E_OR, (yyvsp[(1) - (3)].expr), (yyvsp[(3) - (3)].expr)); ;} 2001 + break; 2002 + 2003 + case 114: 2004 + 2005 + { (yyval.expr) = expr_alloc_two(E_AND, (yyvsp[(1) - (3)].expr), (yyvsp[(3) - (3)].expr)); ;} 2006 + break; 2007 + 2008 + case 115: 2009 + 2010 + { (yyval.symbol) = sym_lookup((yyvsp[(1) - (1)].string), 0); free((yyvsp[(1) - (1)].string)); ;} 2011 + break; 2012 + 2013 + case 116: 2014 + 2015 + { (yyval.symbol) = sym_lookup((yyvsp[(1) - (1)].string), SYMBOL_CONST); free((yyvsp[(1) - (1)].string)); ;} 2016 + break; 2017 + 2018 + case 117: 2019 2020 { (yyval.string) = NULL; ;} 2021 break; ··· 2278 case T_IF: return "if"; 2279 case T_ENDIF: return "endif"; 2280 case T_DEPENDS: return "depends"; 2281 + case T_VISIBLE: return "visible"; 2282 } 2283 return "<token>"; 2284 }