T_PROMPT = 274,
T_TYPE = 275,
T_DEFAULT = 276,
- T_SELECT = 277,
- T_RANGE = 278,
- T_ON = 279,
- T_RESET = 280,
- T_WORD = 281,
- T_WORD_QUOTE = 282,
- T_UNEQUAL = 283,
- T_CLOSE_PAREN = 284,
- T_OPEN_PAREN = 285,
- T_EOL = 286,
- T_OR = 287,
- T_AND = 288,
- T_EQUAL = 289,
- T_NOT = 290
+ T_DESELECT = 277,
+ T_SELECT = 278,
+ T_RANGE = 279,
+ T_ON = 280,
+ T_RESET = 281,
+ T_WORD = 282,
+ T_WORD_QUOTE = 283,
+ T_UNEQUAL = 284,
+ T_CLOSE_PAREN = 285,
+ T_OPEN_PAREN = 286,
+ T_EOL = 287,
+ T_OR = 288,
+ T_AND = 289,
+ T_EQUAL = 290,
+ T_NOT = 291
};
#endif
#define T_MAINMENU 258
#define T_PROMPT 274
#define T_TYPE 275
#define T_DEFAULT 276
-#define T_SELECT 277
-#define T_RANGE 278
-#define T_ON 279
-#define T_RESET 280
-#define T_WORD 281
-#define T_WORD_QUOTE 282
-#define T_UNEQUAL 283
-#define T_CLOSE_PAREN 284
-#define T_OPEN_PAREN 285
-#define T_EOL 286
-#define T_OR 287
-#define T_AND 288
-#define T_EQUAL 289
-#define T_NOT 290
+#define T_DESELECT 277
+#define T_SELECT 278
+#define T_RANGE 279
+#define T_ON 280
+#define T_RESET 281
+#define T_WORD 282
+#define T_WORD_QUOTE 283
+#define T_UNEQUAL 284
+#define T_CLOSE_PAREN 285
+#define T_OPEN_PAREN 286
+#define T_EOL 287
+#define T_OR 288
+#define T_AND 289
+#define T_EQUAL 290
+#define T_NOT 291
static void zconferror(const char *err);
static bool zconf_endtoken(struct kconf_id *id, int starttoken, int endtoken);
-struct symbol *symbol_hash[257];
+struct symbol *symbol_hash[SYMBOL_HASHSIZE];
static struct menu *current_menu, *current_entry;
/* YYFINAL -- State number of the termination state. */
#define YYFINAL 3
/* YYLAST -- Last index in YYTABLE. */
-#define YYLAST 271
+#define YYLAST 285
/* YYNTOKENS -- Number of terminals. */
-#define YYNTOKENS 36
+#define YYNTOKENS 37
/* YYNNTS -- Number of nonterminals. */
#define YYNNTS 42
/* YYNRULES -- Number of rules. */
-#define YYNRULES 106
+#define YYNRULES 108
/* YYNRULES -- Number of states. */
-#define YYNSTATES 179
+#define YYNSTATES 184
/* YYTRANSLATE(YYLEX) -- Bison symbol number corresponding to YYLEX. */
#define YYUNDEFTOK 2
-#define YYMAXUTOK 290
+#define YYMAXUTOK 291
#define YYTRANSLATE(YYX) \
((unsigned int) (YYX) <= YYMAXUTOK ? yytranslate[YYX] : YYUNDEFTOK)
5, 6, 7, 8, 9, 10, 11, 12, 13, 14,
15, 16, 17, 18, 19, 20, 21, 22, 23, 24,
25, 26, 27, 28, 29, 30, 31, 32, 33, 34,
- 35
+ 35, 36
};
#if YYDEBUG
{
0, 0, 3, 5, 6, 9, 12, 15, 20, 23,
28, 33, 37, 39, 41, 43, 45, 47, 49, 51,
- 53, 55, 57, 59, 61, 63, 65, 69, 72, 76,
- 79, 83, 86, 87, 90, 93, 96, 99, 102, 106,
- 111, 116, 121, 127, 130, 133, 135, 139, 140, 143,
- 146, 149, 152, 155, 160, 164, 167, 171, 176, 177,
- 180, 184, 186, 190, 191, 194, 197, 200, 204, 207,
- 209, 213, 214, 217, 220, 223, 227, 231, 234, 237,
- 240, 241, 244, 247, 250, 255, 259, 263, 264, 267,
- 269, 271, 274, 277, 280, 282, 285, 286, 289, 291,
- 295, 299, 303, 306, 310, 314, 316
+ 53, 55, 57, 59, 61, 63, 65, 67, 71, 74,
+ 78, 81, 85, 88, 89, 92, 95, 98, 101, 104,
+ 108, 113, 118, 123, 128, 134, 137, 140, 142, 146,
+ 147, 150, 153, 156, 159, 162, 167, 171, 174, 178,
+ 183, 184, 187, 191, 193, 197, 198, 201, 204, 207,
+ 211, 214, 216, 220, 221, 224, 227, 230, 234, 238,
+ 241, 244, 247, 248, 251, 254, 257, 262, 266, 270,
+ 271, 274, 276, 278, 281, 284, 287, 289, 292, 293,
+ 296, 298, 302, 306, 310, 313, 317, 321, 323
};
/* YYRHS -- A `-1'-separated list of the rules' RHS. */
static const yysigned_char yyrhs[] =
{
- 37, 0, -1, 38, -1, -1, 38, 40, -1, 38,
- 51, -1, 38, 62, -1, 38, 3, 72, 74, -1,
- 38, 73, -1, 38, 26, 1, 31, -1, 38, 39,
- 1, 31, -1, 38, 1, 31, -1, 16, -1, 19,
- -1, 20, -1, 22, -1, 18, -1, 23, -1, 21,
- -1, 25, -1, 31, -1, 57, -1, 66, -1, 43,
- -1, 45, -1, 64, -1, 26, 1, 31, -1, 1,
- 31, -1, 10, 26, 31, -1, 42, 46, -1, 11,
- 26, 31, -1, 44, 46, -1, -1, 46, 47, -1,
- 46, 70, -1, 46, 68, -1, 46, 41, -1, 46,
- 31, -1, 20, 71, 31, -1, 19, 72, 75, 31,
- -1, 21, 76, 75, 31, -1, 22, 26, 75, 31,
- -1, 23, 77, 77, 75, 31, -1, 7, 31, -1,
- 48, 52, -1, 73, -1, 49, 54, 50, -1, -1,
- 52, 53, -1, 52, 70, -1, 52, 68, -1, 52,
- 31, -1, 52, 41, -1, 19, 72, 75, 31, -1,
- 20, 71, 31, -1, 18, 31, -1, 25, 75, 31,
- -1, 21, 26, 75, 31, -1, -1, 54, 40, -1,
- 14, 76, 74, -1, 73, -1, 55, 58, 56, -1,
- -1, 58, 40, -1, 58, 62, -1, 58, 51, -1,
- 4, 72, 31, -1, 59, 69, -1, 73, -1, 60,
- 63, 61, -1, -1, 63, 40, -1, 63, 62, -1,
- 63, 51, -1, 6, 72, 31, -1, 9, 72, 31,
- -1, 65, 69, -1, 12, 31, -1, 67, 13, -1,
- -1, 69, 70, -1, 69, 31, -1, 69, 41, -1,
- 16, 24, 76, 31, -1, 16, 76, 31, -1, 17,
- 76, 31, -1, -1, 72, 75, -1, 26, -1, 27,
- -1, 5, 31, -1, 8, 31, -1, 15, 31, -1,
- 31, -1, 74, 31, -1, -1, 14, 76, -1, 77,
- -1, 77, 34, 77, -1, 77, 28, 77, -1, 30,
- 76, 29, -1, 35, 76, -1, 76, 32, 76, -1,
- 76, 33, 76, -1, 26, -1, 27, -1
+ 38, 0, -1, 39, -1, -1, 39, 41, -1, 39,
+ 52, -1, 39, 63, -1, 39, 3, 73, 75, -1,
+ 39, 74, -1, 39, 27, 1, 32, -1, 39, 40,
+ 1, 32, -1, 39, 1, 32, -1, 16, -1, 19,
+ -1, 20, -1, 22, -1, 23, -1, 18, -1, 24,
+ -1, 21, -1, 26, -1, 32, -1, 58, -1, 67,
+ -1, 44, -1, 46, -1, 65, -1, 27, 1, 32,
+ -1, 1, 32, -1, 10, 27, 32, -1, 43, 47,
+ -1, 11, 27, 32, -1, 45, 47, -1, -1, 47,
+ 48, -1, 47, 71, -1, 47, 69, -1, 47, 42,
+ -1, 47, 32, -1, 20, 72, 32, -1, 19, 73,
+ 76, 32, -1, 21, 77, 76, 32, -1, 22, 27,
+ 76, 32, -1, 23, 27, 76, 32, -1, 24, 78,
+ 78, 76, 32, -1, 7, 32, -1, 49, 53, -1,
+ 74, -1, 50, 55, 51, -1, -1, 53, 54, -1,
+ 53, 71, -1, 53, 69, -1, 53, 32, -1, 53,
+ 42, -1, 19, 73, 76, 32, -1, 20, 72, 32,
+ -1, 18, 32, -1, 26, 76, 32, -1, 21, 27,
+ 76, 32, -1, -1, 55, 41, -1, 14, 77, 75,
+ -1, 74, -1, 56, 59, 57, -1, -1, 59, 41,
+ -1, 59, 63, -1, 59, 52, -1, 4, 73, 32,
+ -1, 60, 70, -1, 74, -1, 61, 64, 62, -1,
+ -1, 64, 41, -1, 64, 63, -1, 64, 52, -1,
+ 6, 73, 32, -1, 9, 73, 32, -1, 66, 70,
+ -1, 12, 32, -1, 68, 13, -1, -1, 70, 71,
+ -1, 70, 32, -1, 70, 42, -1, 16, 25, 77,
+ 32, -1, 16, 77, 32, -1, 17, 77, 32, -1,
+ -1, 73, 76, -1, 27, -1, 28, -1, 5, 32,
+ -1, 8, 32, -1, 15, 32, -1, 32, -1, 75,
+ 32, -1, -1, 14, 77, -1, 78, -1, 78, 35,
+ 78, -1, 78, 29, 78, -1, 31, 77, 30, -1,
+ 36, 77, -1, 77, 33, 77, -1, 77, 34, 77,
+ -1, 27, -1, 28, -1
};
/* YYRLINE[YYN] -- source line where rule number YYN was defined. */
static const unsigned short int yyrline[] =
{
- 0, 104, 104, 106, 108, 109, 110, 111, 112, 113,
- 114, 118, 122, 122, 122, 122, 122, 122, 122, 122,
- 126, 127, 128, 129, 130, 131, 135, 136, 142, 150,
- 156, 164, 174, 176, 177, 178, 179, 180, 183, 191,
- 197, 207, 213, 221, 230, 235, 243, 246, 248, 249,
- 250, 251, 252, 255, 261, 272, 278, 283, 293, 295,
- 300, 308, 316, 319, 321, 322, 323, 328, 335, 340,
- 348, 351, 353, 354, 355, 358, 366, 373, 380, 386,
- 393, 395, 396, 397, 400, 405, 410, 418, 420, 425,
- 426, 429, 430, 431, 435, 436, 439, 440, 443, 444,
- 445, 446, 447, 448, 449, 452, 453
+ 0, 105, 105, 107, 109, 110, 111, 112, 113, 114,
+ 115, 119, 123, 123, 123, 123, 123, 123, 123, 123,
+ 123, 127, 128, 129, 130, 131, 132, 136, 137, 143,
+ 151, 157, 165, 175, 177, 178, 179, 180, 181, 184,
+ 192, 198, 208, 214, 220, 228, 237, 242, 250, 253,
+ 255, 256, 257, 258, 259, 262, 268, 279, 285, 290,
+ 300, 302, 307, 315, 323, 326, 328, 329, 330, 335,
+ 342, 347, 355, 358, 360, 361, 362, 365, 373, 380,
+ 387, 393, 400, 402, 403, 404, 407, 412, 417, 425,
+ 427, 432, 433, 436, 437, 438, 442, 443, 446, 447,
+ 450, 451, 452, 453, 454, 455, 456, 459, 460
};
#endif
"T_SOURCE", "T_CHOICE", "T_ENDCHOICE", "T_COMMENT", "T_CONFIG",
"T_MENUCONFIG", "T_HELP", "T_HELPTEXT", "T_IF", "T_ENDIF", "T_DEPENDS",
"T_REQUIRES", "T_OPTIONAL", "T_PROMPT", "T_TYPE", "T_DEFAULT",
- "T_SELECT", "T_RANGE", "T_ON", "T_RESET", "T_WORD", "T_WORD_QUOTE",
- "T_UNEQUAL", "T_CLOSE_PAREN", "T_OPEN_PAREN", "T_EOL", "T_OR", "T_AND",
- "T_EQUAL", "T_NOT", "$accept", "input", "stmt_list", "option_name",
- "common_stmt", "option_error", "config_entry_start", "config_stmt",
- "menuconfig_entry_start", "menuconfig_stmt", "config_option_list",
- "config_option", "choice", "choice_entry", "choice_end", "choice_stmt",
- "choice_option_list", "choice_option", "choice_block", "if_entry",
- "if_end", "if_stmt", "if_block", "menu", "menu_entry", "menu_end",
- "menu_stmt", "menu_block", "source_stmt", "comment", "comment_stmt",
- "help_start", "help", "depends_list", "depends", "prompt_stmt_opt",
- "prompt", "end", "nl", "if_expr", "expr", "symbol", 0
+ "T_DESELECT", "T_SELECT", "T_RANGE", "T_ON", "T_RESET", "T_WORD",
+ "T_WORD_QUOTE", "T_UNEQUAL", "T_CLOSE_PAREN", "T_OPEN_PAREN", "T_EOL",
+ "T_OR", "T_AND", "T_EQUAL", "T_NOT", "$accept", "input", "stmt_list",
+ "option_name", "common_stmt", "option_error", "config_entry_start",
+ "config_stmt", "menuconfig_entry_start", "menuconfig_stmt",
+ "config_option_list", "config_option", "choice", "choice_entry",
+ "choice_end", "choice_stmt", "choice_option_list", "choice_option",
+ "choice_block", "if_entry", "if_end", "if_stmt", "if_block", "menu",
+ "menu_entry", "menu_end", "menu_stmt", "menu_block", "source_stmt",
+ "comment", "comment_stmt", "help_start", "help", "depends_list",
+ "depends", "prompt_stmt_opt", "prompt", "end", "nl", "if_expr", "expr",
+ "symbol", 0
};
#endif
0, 256, 257, 258, 259, 260, 261, 262, 263, 264,
265, 266, 267, 268, 269, 270, 271, 272, 273, 274,
275, 276, 277, 278, 279, 280, 281, 282, 283, 284,
- 285, 286, 287, 288, 289, 290
+ 285, 286, 287, 288, 289, 290, 291
};
# endif
/* YYR1[YYN] -- Symbol number of symbol that rule YYN derives. */
static const unsigned char yyr1[] =
{
- 0, 36, 37, 38, 38, 38, 38, 38, 38, 38,
- 38, 38, 39, 39, 39, 39, 39, 39, 39, 39,
- 40, 40, 40, 40, 40, 40, 41, 41, 42, 43,
- 44, 45, 46, 46, 46, 46, 46, 46, 47, 47,
- 47, 47, 47, 48, 49, 50, 51, 52, 52, 52,
- 52, 52, 52, 53, 53, 53, 53, 53, 54, 54,
- 55, 56, 57, 58, 58, 58, 58, 59, 60, 61,
- 62, 63, 63, 63, 63, 64, 65, 66, 67, 68,
- 69, 69, 69, 69, 70, 70, 70, 71, 71, 72,
- 72, 73, 73, 73, 74, 74, 75, 75, 76, 76,
- 76, 76, 76, 76, 76, 77, 77
+ 0, 37, 38, 39, 39, 39, 39, 39, 39, 39,
+ 39, 39, 40, 40, 40, 40, 40, 40, 40, 40,
+ 40, 41, 41, 41, 41, 41, 41, 42, 42, 43,
+ 44, 45, 46, 47, 47, 47, 47, 47, 47, 48,
+ 48, 48, 48, 48, 48, 49, 50, 51, 52, 53,
+ 53, 53, 53, 53, 53, 54, 54, 54, 54, 54,
+ 55, 55, 56, 57, 58, 59, 59, 59, 59, 60,
+ 61, 62, 63, 64, 64, 64, 64, 65, 66, 67,
+ 68, 69, 70, 70, 70, 70, 71, 71, 71, 72,
+ 72, 73, 73, 74, 74, 74, 75, 75, 76, 76,
+ 77, 77, 77, 77, 77, 77, 77, 78, 78
};
/* YYR2[YYN] -- Number of symbols composing right hand side of rule YYN. */
{
0, 2, 1, 0, 2, 2, 2, 4, 2, 4,
4, 3, 1, 1, 1, 1, 1, 1, 1, 1,
- 1, 1, 1, 1, 1, 1, 3, 2, 3, 2,
- 3, 2, 0, 2, 2, 2, 2, 2, 3, 4,
- 4, 4, 5, 2, 2, 1, 3, 0, 2, 2,
- 2, 2, 2, 4, 3, 2, 3, 4, 0, 2,
- 3, 1, 3, 0, 2, 2, 2, 3, 2, 1,
- 3, 0, 2, 2, 2, 3, 3, 2, 2, 2,
- 0, 2, 2, 2, 4, 3, 3, 0, 2, 1,
- 1, 2, 2, 2, 1, 2, 0, 2, 1, 3,
- 3, 3, 2, 3, 3, 1, 1
+ 1, 1, 1, 1, 1, 1, 1, 3, 2, 3,
+ 2, 3, 2, 0, 2, 2, 2, 2, 2, 3,
+ 4, 4, 4, 4, 5, 2, 2, 1, 3, 0,
+ 2, 2, 2, 2, 2, 4, 3, 2, 3, 4,
+ 0, 2, 3, 1, 3, 0, 2, 2, 2, 3,
+ 2, 1, 3, 0, 2, 2, 2, 3, 3, 2,
+ 2, 2, 0, 2, 2, 2, 4, 3, 3, 0,
+ 2, 1, 1, 2, 2, 2, 1, 2, 0, 2,
+ 1, 3, 3, 3, 2, 3, 3, 1, 1
};
/* YYDEFACT[STATE-NAME] -- Default rule to reduce with in state
static const unsigned char yydefact[] =
{
3, 0, 0, 1, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 12, 16, 13, 14,
- 18, 15, 17, 19, 0, 20, 0, 4, 32, 23,
- 32, 24, 47, 58, 5, 63, 21, 80, 71, 6,
- 25, 80, 22, 8, 11, 89, 90, 0, 0, 91,
- 0, 43, 92, 0, 0, 0, 105, 106, 0, 0,
- 0, 98, 93, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 94, 7, 67, 75, 76, 28, 30,
- 0, 102, 0, 0, 60, 0, 0, 9, 10, 0,
- 0, 0, 0, 0, 87, 0, 0, 0, 0, 37,
- 36, 33, 0, 35, 34, 0, 0, 87, 0, 96,
- 51, 52, 48, 50, 49, 59, 46, 45, 64, 66,
- 62, 65, 61, 82, 83, 81, 72, 74, 70, 73,
- 69, 95, 101, 103, 104, 100, 99, 27, 78, 0,
- 0, 0, 96, 0, 96, 96, 96, 0, 0, 79,
- 55, 96, 0, 96, 0, 0, 0, 85, 86, 0,
- 38, 88, 0, 0, 96, 26, 0, 54, 0, 97,
- 56, 84, 39, 40, 41, 0, 53, 57, 42
+ 0, 0, 0, 0, 0, 0, 12, 17, 13, 14,
+ 19, 15, 16, 18, 20, 0, 21, 0, 4, 33,
+ 24, 33, 25, 49, 60, 5, 65, 22, 82, 73,
+ 6, 26, 82, 23, 8, 11, 91, 92, 0, 0,
+ 93, 0, 45, 94, 0, 0, 0, 107, 108, 0,
+ 0, 0, 100, 95, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 96, 7, 69, 77, 78, 29,
+ 31, 0, 104, 0, 0, 62, 0, 0, 9, 10,
+ 0, 0, 0, 0, 0, 89, 0, 0, 0, 0,
+ 0, 38, 37, 34, 0, 36, 35, 0, 0, 89,
+ 0, 98, 53, 54, 50, 52, 51, 61, 48, 47,
+ 66, 68, 64, 67, 63, 84, 85, 83, 74, 76,
+ 72, 75, 71, 97, 103, 105, 106, 102, 101, 28,
+ 80, 0, 0, 0, 98, 0, 98, 98, 98, 98,
+ 0, 0, 81, 57, 98, 0, 98, 0, 0, 0,
+ 87, 88, 0, 39, 90, 0, 0, 0, 98, 27,
+ 0, 56, 0, 99, 58, 86, 40, 41, 42, 43,
+ 0, 55, 59, 44
};
/* YYDEFGOTO[NTERM-NUM]. */
static const short int yydefgoto[] =
{
- -1, 1, 2, 26, 27, 100, 28, 29, 30, 31,
- 65, 101, 32, 33, 116, 34, 67, 112, 68, 35,
- 120, 36, 69, 37, 38, 128, 39, 71, 40, 41,
- 42, 102, 103, 70, 104, 143, 144, 43, 74, 155,
- 60, 61
+ -1, 1, 2, 27, 28, 102, 29, 30, 31, 32,
+ 66, 103, 33, 34, 118, 35, 68, 114, 69, 36,
+ 122, 37, 70, 38, 39, 130, 40, 72, 41, 42,
+ 43, 104, 105, 71, 106, 145, 146, 44, 75, 158,
+ 61, 62
};
/* YYPACT[STATE-NUM] -- Index in YYTABLE of the portion describing
STATE-NUM. */
-#define YYPACT_NINF -134
+#define YYPACT_NINF -80
static const short int yypact[] =
{
- -134, 2, 160, -134, -16, 53, 53, -14, 53, -8,
- -1, 53, 26, 63, 60, 73, -134, -134, -134, -134,
- -134, -134, -134, -134, 114, -134, 125, -134, -134, -134,
- -134, -134, -134, -134, -134, -134, -134, -134, -134, -134,
- -134, -134, -134, -134, -134, -134, -134, 124, 127, -134,
- 128, -134, -134, 141, 142, 146, -134, -134, 60, 60,
- 3, -18, -134, 153, 159, 39, 102, 187, 226, 215,
- 67, 215, 131, -134, 163, -134, -134, -134, -134, -134,
- 34, -134, 60, 60, 163, 103, 103, -134, -134, 169,
- 186, 218, 60, 53, 53, 60, 201, 103, 227, -134,
- -134, -134, 220, -134, -134, 207, 53, 53, 213, 229,
- -134, -134, -134, -134, -134, -134, -134, -134, -134, -134,
- -134, -134, -134, -134, -134, -134, -134, -134, -134, -134,
- -134, -134, -134, 214, -134, -134, -134, -134, -134, 60,
- 178, 183, 229, 224, 229, 0, 229, 103, 228, -134,
- -134, 229, 230, 229, 60, 231, 219, -134, -134, 232,
- -134, -134, 233, 234, 229, -134, 235, -134, 236, 111,
- -134, -134, -134, -134, -134, 237, -134, -134, -134
+ -80, 2, 164, -80, -22, 105, 105, -6, 105, 0,
+ 7, 105, 17, 28, 70, 35, -80, -80, -80, -80,
+ -80, -80, -80, -80, -80, 69, -80, 78, -80, -80,
+ -80, -80, -80, -80, -80, -80, -80, -80, -80, -80,
+ -80, -80, -80, -80, -80, -80, -80, -80, 62, 68,
+ -80, 85, -80, -80, 97, 127, 144, -80, -80, 70,
+ 70, 188, -8, -80, 149, 163, 42, 104, 192, 67,
+ 221, 8, 221, 134, -80, 167, -80, -80, -80, -80,
+ -80, 50, -80, 70, 70, 167, 119, 119, -80, -80,
+ 173, 184, 60, 70, 105, 105, 70, 65, 150, 119,
+ 232, -80, -80, -80, 210, -80, -80, 202, 105, 105,
+ 231, 224, -80, -80, -80, -80, -80, -80, -80, -80,
+ -80, -80, -80, -80, -80, -80, -80, -80, -80, -80,
+ -80, -80, -80, -80, -80, 226, -80, -80, -80, -80,
+ -80, 70, 211, 218, 224, 230, 224, -3, 224, 224,
+ 119, 233, -80, -80, 224, 234, 224, 70, 235, 222,
+ -80, -80, 236, -80, -80, 237, 238, 239, 224, -80,
+ 240, -80, 241, 129, -80, -80, -80, -80, -80, -80,
+ 242, -80, -80, -80
};
/* YYPGOTO[NTERM-NUM]. */
static const short int yypgoto[] =
{
- -134, -134, -134, -134, 23, -46, -134, -134, -134, -134,
- 239, -134, -134, -134, -134, 118, -134, -134, -134, -134,
- -134, -134, -134, -134, -134, -134, 185, -134, -134, -134,
- -134, -134, 182, 217, -45, 164, -5, 28, 200, -133,
- -54, -78
+ -80, -80, -80, -80, -36, 22, -80, -80, -80, -80,
+ 244, -80, -80, -80, -80, 176, -80, -80, -80, -80,
+ -80, -80, -80, -80, -80, -80, 187, -80, -80, -80,
+ -80, -80, 195, 243, 121, 155, -5, 145, 215, 93,
+ -55, -79
};
/* YYTABLE[YYPACT[STATE-NUM]]. What to do in state STATE-NUM. If
positive, shift that token. If negative, reduce the rule which
number is the opposite. If zero, do what YYDEFACT says.
If YYTABLE_NINF, syntax error. */
-#define YYTABLE_NINF -78
+#define YYTABLE_NINF -80
static const short int yytable[] =
{
- 47, 48, 3, 50, 80, 81, 53, 135, 136, 159,
- 85, 161, 162, 163, 154, 44, 86, 49, 166, 147,
- 168, 111, 114, 51, 124, 125, 124, 125, 133, 134,
- 52, 175, 82, 83, 73, 82, 83, 140, 141, -29,
- 89, 145, -29, -29, -29, -29, -29, -29, -29, -29,
- -29, 90, 54, -29, -29, 91, 92, -29, 93, 94,
- 95, 96, 97, 132, -29, 98, 82, 83, 89, 164,
- 99, -68, -68, -68, -68, -68, -68, -68, -68, 45,
- 46, -68, -68, 91, 92, 156, 56, 57, 142, 55,
- 58, 115, 118, 98, 126, 59, 117, 122, 123, 130,
- 169, 151, -31, 89, 62, -31, -31, -31, -31, -31,
- -31, -31, -31, -31, 90, 63, -31, -31, 91, 92,
- -31, 93, 94, 95, 96, 97, 64, -31, 98, 56,
- 57, -77, 89, 99, -77, -77, -77, -77, -77, -77,
- -77, -77, -77, 82, 83, -77, -77, 91, 92, -77,
- -77, -77, -77, -77, -77, 73, -77, 98, 75, 76,
- -2, 4, 123, 5, 6, 7, 8, 9, 10, 11,
- 12, 13, 77, 78, 14, 15, 16, 79, 17, 18,
- 19, 20, 21, 22, 87, 23, 24, 119, 89, 127,
- 88, 25, -44, -44, 131, -44, -44, -44, -44, 90,
- 137, -44, -44, 91, 92, 105, 106, 107, 108, 157,
- 82, 83, 109, 98, 158, 82, 83, 138, 110, 6,
- 7, 8, 9, 10, 11, 12, 13, 146, 148, 14,
- 15, 7, 8, 149, 10, 11, 12, 13, 150, 153,
- 14, 15, 139, 154, 56, 57, 25, 83, 58, 113,
- 171, 82, 83, 59, 121, 160, 129, 25, 72, 165,
- 84, 167, 170, 172, 173, 174, 176, 177, 178, 66,
- 0, 152
+ 48, 49, 3, 51, 81, 82, 54, 137, 138, 90,
+ 45, 157, -70, -70, -70, -70, -70, -70, -70, -70,
+ 150, 86, -70, -70, 92, 93, 50, 87, 135, 136,
+ 83, 84, 52, 117, 120, 100, 128, 142, 143, 53,
+ 125, 147, -30, 90, 55, -30, -30, -30, -30, -30,
+ -30, -30, -30, -30, 91, 56, -30, -30, 92, 93,
+ -30, 94, 95, 96, 97, 98, 99, 63, -30, 100,
+ 64, 168, 7, 8, 101, 10, 11, 12, 13, 65,
+ 134, 14, 15, 83, 84, 141, 159, 57, 58, 144,
+ 113, 59, 148, 126, 74, 126, 60, 57, 58, 26,
+ 76, 59, 173, 154, -32, 90, 60, -32, -32, -32,
+ -32, -32, -32, -32, -32, -32, 91, 77, -32, -32,
+ 92, 93, -32, 94, 95, 96, 97, 98, 99, 78,
+ -32, 100, 46, 47, -79, 90, 101, -79, -79, -79,
+ -79, -79, -79, -79, -79, -79, 57, 58, -79, -79,
+ 92, 93, -79, -79, -79, -79, -79, -79, -79, 79,
+ -79, 100, 83, 84, -2, 4, 125, 5, 6, 7,
+ 8, 9, 10, 11, 12, 13, 80, 149, 14, 15,
+ 16, 88, 17, 18, 19, 20, 21, 22, 23, 116,
+ 24, 25, 127, 90, 127, 89, 26, -46, -46, 133,
+ -46, -46, -46, -46, 91, 139, -46, -46, 92, 93,
+ 107, 108, 109, 110, 119, 124, 140, 132, 111, 100,
+ 74, 83, 84, 152, 112, 6, 7, 8, 9, 10,
+ 11, 12, 13, 151, 153, 14, 15, 162, 157, 164,
+ 165, 166, 167, 160, 83, 84, 121, 170, 129, 172,
+ 161, 83, 84, 26, 175, 83, 84, 123, 156, 131,
+ 84, 180, 163, 115, 155, 169, 171, 174, 176, 177,
+ 178, 179, 181, 182, 183, 67, 85, 0, 0, 0,
+ 0, 0, 0, 0, 0, 73
};
static const short int yycheck[] =
{
- 5, 6, 0, 8, 58, 59, 11, 85, 86, 142,
- 28, 144, 145, 146, 14, 31, 34, 31, 151, 97,
- 153, 67, 67, 31, 70, 70, 72, 72, 82, 83,
- 31, 164, 32, 33, 31, 32, 33, 91, 92, 0,
- 1, 95, 3, 4, 5, 6, 7, 8, 9, 10,
- 11, 12, 26, 14, 15, 16, 17, 18, 19, 20,
- 21, 22, 23, 29, 25, 26, 32, 33, 1, 147,
- 31, 4, 5, 6, 7, 8, 9, 10, 11, 26,
- 27, 14, 15, 16, 17, 139, 26, 27, 93, 26,
- 30, 68, 69, 26, 71, 35, 68, 69, 31, 71,
- 154, 106, 0, 1, 31, 3, 4, 5, 6, 7,
- 8, 9, 10, 11, 12, 1, 14, 15, 16, 17,
- 18, 19, 20, 21, 22, 23, 1, 25, 26, 26,
- 27, 0, 1, 31, 3, 4, 5, 6, 7, 8,
- 9, 10, 11, 32, 33, 14, 15, 16, 17, 18,
- 19, 20, 21, 22, 23, 31, 25, 26, 31, 31,
- 0, 1, 31, 3, 4, 5, 6, 7, 8, 9,
- 10, 11, 31, 31, 14, 15, 16, 31, 18, 19,
- 20, 21, 22, 23, 31, 25, 26, 69, 1, 71,
- 31, 31, 5, 6, 31, 8, 9, 10, 11, 12,
- 31, 14, 15, 16, 17, 18, 19, 20, 21, 31,
- 32, 33, 25, 26, 31, 32, 33, 31, 31, 4,
- 5, 6, 7, 8, 9, 10, 11, 26, 1, 14,
- 15, 5, 6, 13, 8, 9, 10, 11, 31, 26,
- 14, 15, 24, 14, 26, 27, 31, 33, 30, 67,
- 31, 32, 33, 35, 69, 31, 71, 31, 41, 31,
- 60, 31, 31, 31, 31, 31, 31, 31, 31, 30,
- -1, 107
+ 5, 6, 0, 8, 59, 60, 11, 86, 87, 1,
+ 32, 14, 4, 5, 6, 7, 8, 9, 10, 11,
+ 99, 29, 14, 15, 16, 17, 32, 35, 83, 84,
+ 33, 34, 32, 69, 70, 27, 72, 92, 93, 32,
+ 32, 96, 0, 1, 27, 3, 4, 5, 6, 7,
+ 8, 9, 10, 11, 12, 27, 14, 15, 16, 17,
+ 18, 19, 20, 21, 22, 23, 24, 32, 26, 27,
+ 1, 150, 5, 6, 32, 8, 9, 10, 11, 1,
+ 30, 14, 15, 33, 34, 25, 141, 27, 28, 94,
+ 68, 31, 27, 71, 32, 73, 36, 27, 28, 32,
+ 32, 31, 157, 108, 0, 1, 36, 3, 4, 5,
+ 6, 7, 8, 9, 10, 11, 12, 32, 14, 15,
+ 16, 17, 18, 19, 20, 21, 22, 23, 24, 32,
+ 26, 27, 27, 28, 0, 1, 32, 3, 4, 5,
+ 6, 7, 8, 9, 10, 11, 27, 28, 14, 15,
+ 16, 17, 18, 19, 20, 21, 22, 23, 24, 32,
+ 26, 27, 33, 34, 0, 1, 32, 3, 4, 5,
+ 6, 7, 8, 9, 10, 11, 32, 27, 14, 15,
+ 16, 32, 18, 19, 20, 21, 22, 23, 24, 68,
+ 26, 27, 71, 1, 73, 32, 32, 5, 6, 32,
+ 8, 9, 10, 11, 12, 32, 14, 15, 16, 17,
+ 18, 19, 20, 21, 69, 70, 32, 72, 26, 27,
+ 32, 33, 34, 13, 32, 4, 5, 6, 7, 8,
+ 9, 10, 11, 1, 32, 14, 15, 144, 14, 146,
+ 147, 148, 149, 32, 33, 34, 70, 154, 72, 156,
+ 32, 33, 34, 32, 32, 33, 34, 70, 27, 72,
+ 34, 168, 32, 68, 109, 32, 32, 32, 32, 32,
+ 32, 32, 32, 32, 32, 31, 61, -1, -1, -1,
+ -1, -1, -1, -1, -1, 42
};
/* YYSTOS[STATE-NUM] -- The (internal number of the) accessing
symbol of state STATE-NUM. */
static const unsigned char yystos[] =
{
- 0, 37, 38, 0, 1, 3, 4, 5, 6, 7,
+ 0, 38, 39, 0, 1, 3, 4, 5, 6, 7,
8, 9, 10, 11, 14, 15, 16, 18, 19, 20,
- 21, 22, 23, 25, 26, 31, 39, 40, 42, 43,
- 44, 45, 48, 49, 51, 55, 57, 59, 60, 62,
- 64, 65, 66, 73, 31, 26, 27, 72, 72, 31,
- 72, 31, 31, 72, 26, 26, 26, 27, 30, 35,
- 76, 77, 31, 1, 1, 46, 46, 52, 54, 58,
- 69, 63, 69, 31, 74, 31, 31, 31, 31, 31,
- 76, 76, 32, 33, 74, 28, 34, 31, 31, 1,
- 12, 16, 17, 19, 20, 21, 22, 23, 26, 31,
- 41, 47, 67, 68, 70, 18, 19, 20, 21, 25,
- 31, 41, 53, 68, 70, 40, 50, 73, 40, 51,
- 56, 62, 73, 31, 41, 70, 40, 51, 61, 62,
- 73, 31, 29, 76, 76, 77, 77, 31, 31, 24,
- 76, 76, 72, 71, 72, 76, 26, 77, 1, 13,
- 31, 72, 71, 26, 14, 75, 76, 31, 31, 75,
- 31, 75, 75, 75, 77, 31, 75, 31, 75, 76,
- 31, 31, 31, 31, 31, 75, 31, 31, 31
+ 21, 22, 23, 24, 26, 27, 32, 40, 41, 43,
+ 44, 45, 46, 49, 50, 52, 56, 58, 60, 61,
+ 63, 65, 66, 67, 74, 32, 27, 28, 73, 73,
+ 32, 73, 32, 32, 73, 27, 27, 27, 28, 31,
+ 36, 77, 78, 32, 1, 1, 47, 47, 53, 55,
+ 59, 70, 64, 70, 32, 75, 32, 32, 32, 32,
+ 32, 77, 77, 33, 34, 75, 29, 35, 32, 32,
+ 1, 12, 16, 17, 19, 20, 21, 22, 23, 24,
+ 27, 32, 42, 48, 68, 69, 71, 18, 19, 20,
+ 21, 26, 32, 42, 54, 69, 71, 41, 51, 74,
+ 41, 52, 57, 63, 74, 32, 42, 71, 41, 52,
+ 62, 63, 74, 32, 30, 77, 77, 78, 78, 32,
+ 32, 25, 77, 77, 73, 72, 73, 77, 27, 27,
+ 78, 1, 13, 32, 73, 72, 27, 14, 76, 77,
+ 32, 32, 76, 32, 76, 76, 76, 76, 78, 32,
+ 76, 32, 76, 77, 32, 32, 32, 32, 32, 32,
+ 76, 32, 32, 32
};
#if ! defined (YYSIZE_T) && defined (__SIZE_TYPE__)
switch (yytype)
{
- case 49: /* choice_entry */
+ case 50: /* choice_entry */
{
fprintf(stderr, "%s:%d: missing end statement for this entry\n",
};
break;
- case 55: /* if_entry */
+ case 56: /* if_entry */
{
fprintf(stderr, "%s:%d: missing end statement for this entry\n",
};
break;
- case 60: /* menu_entry */
+ case 61: /* menu_entry */
{
fprintf(stderr, "%s:%d: missing end statement for this entry\n",
{ zconf_error("invalid statement"); ;}
break;
- case 26:
+ case 27:
{ zconf_error("unknown option \"%s\"", yyvsp[-2].string); ;}
break;
- case 27:
+ case 28:
{ zconf_error("invalid option"); ;}
break;
- case 28:
+ case 29:
{
struct symbol *sym = sym_lookup(yyvsp[-1].string, 0);
;}
break;
- case 29:
+ case 30:
{
menu_end_entry();
;}
break;
- case 30:
+ case 31:
{
struct symbol *sym = sym_lookup(yyvsp[-1].string, 0);
;}
break;
- case 31:
+ case 32:
{
if (current_entry->prompt)
;}
break;
- case 38:
+ case 39:
{
menu_set_type(yyvsp[-2].id->stype);
;}
break;
- case 39:
+ case 40:
{
menu_add_prompt(P_PROMPT, yyvsp[-2].string, yyvsp[-1].expr);
;}
break;
- case 40:
+ case 41:
{
menu_add_expr(P_DEFAULT, yyvsp[-2].expr, yyvsp[-1].expr);
;}
break;
- case 41:
+ case 42:
+
+ {
+ menu_add_symbol(P_DESELECT, sym_lookup(yyvsp[-2].string, 0), yyvsp[-1].expr);
+ printd(DEBUG_PARSE, "%s:%d:deselect\n", zconf_curname(), zconf_lineno());
+;}
+ break;
+
+ case 43:
{
menu_add_symbol(P_SELECT, sym_lookup(yyvsp[-2].string, 0), yyvsp[-1].expr);
;}
break;
- case 42:
+ case 44:
{
menu_add_expr(P_RANGE, expr_alloc_comp(E_RANGE,yyvsp[-3].symbol, yyvsp[-2].symbol), yyvsp[-1].expr);
;}
break;
- case 43:
+ case 45:
{
struct symbol *sym = sym_lookup(NULL, 0);
;}
break;
- case 44:
+ case 46:
{
yyval.menu = menu_add_menu();
;}
break;
- case 45:
+ case 47:
{
if (zconf_endtoken(yyvsp[0].id, T_CHOICE, T_ENDCHOICE)) {
;}
break;
- case 53:
+ case 55:
{
menu_add_prompt(P_PROMPT, yyvsp[-2].string, yyvsp[-1].expr);
;}
break;
- case 54:
+ case 56:
{
if (yyvsp[-2].id->stype == S_BOOLEAN || yyvsp[-2].id->stype == S_TRISTATE) {
;}
break;
- case 55:
+ case 57:
{
current_entry->sym->flags |= SYMBOL_OPTIONAL;
;}
break;
- case 56:
+ case 58:
{
menu_add_prop(P_RESET, NULL, NULL, yyvsp[-1].expr);
;}
break;
- case 57:
+ case 59:
{
if (yyvsp[-3].id->stype == S_UNKNOWN) {
;}
break;
- case 60:
+ case 62:
{
printd(DEBUG_PARSE, "%s:%d:if\n", zconf_curname(), zconf_lineno());
;}
break;
- case 61:
+ case 63:
{
if (zconf_endtoken(yyvsp[0].id, T_IF, T_ENDIF)) {
;}
break;
- case 67:
+ case 69:
{
menu_add_entry(NULL);
;}
break;
- case 68:
+ case 70:
{
yyval.menu = menu_add_menu();
;}
break;
- case 69:
+ case 71:
{
if (zconf_endtoken(yyvsp[0].id, T_MENU, T_ENDMENU)) {
;}
break;
- case 75:
+ case 77:
{
printd(DEBUG_PARSE, "%s:%d:source %s\n", zconf_curname(), zconf_lineno(), yyvsp[-1].string);
;}
break;
- case 76:
+ case 78:
{
menu_add_entry(NULL);
;}
break;
- case 77:
+ case 79:
{
menu_end_entry();
;}
break;
- case 78:
+ case 80:
{
printd(DEBUG_PARSE, "%s:%d:help\n", zconf_curname(), zconf_lineno());
;}
break;
- case 79:
+ case 81:
{
current_entry->sym->help = yyvsp[0].string;
;}
break;
- case 84:
+ case 86:
{
menu_add_dep(yyvsp[-1].expr);
;}
break;
- case 85:
+ case 87:
{
menu_add_dep(yyvsp[-1].expr);
;}
break;
- case 86:
+ case 88:
{
menu_add_dep(yyvsp[-1].expr);
;}
break;
- case 88:
+ case 90:
{
menu_add_prompt(P_PROMPT, yyvsp[-1].string, yyvsp[0].expr);
;}
break;
- case 91:
+ case 93:
{ yyval.id = yyvsp[-1].id; ;}
break;
- case 92:
+ case 94:
{ yyval.id = yyvsp[-1].id; ;}
break;
- case 93:
+ case 95:
{ yyval.id = yyvsp[-1].id; ;}
break;
- case 96:
+ case 98:
{ yyval.expr = NULL; ;}
break;
- case 97:
+ case 99:
{ yyval.expr = yyvsp[0].expr; ;}
break;
- case 98:
+ case 100:
{ yyval.expr = expr_alloc_symbol(yyvsp[0].symbol); ;}
break;
- case 99:
+ case 101:
{ yyval.expr = expr_alloc_comp(E_EQUAL, yyvsp[-2].symbol, yyvsp[0].symbol); ;}
break;
- case 100:
+ case 102:
{ yyval.expr = expr_alloc_comp(E_UNEQUAL, yyvsp[-2].symbol, yyvsp[0].symbol); ;}
break;
- case 101:
+ case 103:
{ yyval.expr = yyvsp[-1].expr; ;}
break;
- case 102:
+ case 104:
{ yyval.expr = expr_alloc_one(E_NOT, yyvsp[0].expr); ;}
break;
- case 103:
+ case 105:
{ yyval.expr = expr_alloc_two(E_OR, yyvsp[-2].expr, yyvsp[0].expr); ;}
break;
- case 104:
+ case 106:
{ yyval.expr = expr_alloc_two(E_AND, yyvsp[-2].expr, yyvsp[0].expr); ;}
break;
- case 105:
+ case 107:
{ yyval.symbol = sym_lookup(yyvsp[0].string, 0); free(yyvsp[0].string); ;}
break;
- case 106:
+ case 108:
{ yyval.symbol = sym_lookup(yyvsp[0].string, 1); free(yyvsp[0].string); ;}
break;