Commit 09899c93b183870b122c94317f63344df43368e9

Authored by Arnaud Lacombe
Committed by Mauro Carvalho Chehab
1 parent 86e187ff9b

kconfig: regen parser

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

Showing 2 changed files with 358 additions and 334 deletions Side-by-side Diff

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