aboutsummaryrefslogtreecommitdiffstats
path: root/scripts
diff options
context:
space:
mode:
authorSam Ravnborg <sam@neptun.(none)>2007-09-26 14:15:39 -0400
committerSam Ravnborg <sam@neptun.(none)>2007-10-12 15:20:32 -0400
commit14f31562dbda93500fdf74b8158248fde2d556bb (patch)
treec21d78515d8248079f1830705b9c13ccbef5d8e8 /scripts
parent247537b9a270b52cc0375adcb0fb2605a160cba5 (diff)
kbuild: update _shipped files for kconfig syntax cleanup
Update _shipped files so regular user does not need to have bison/flex/gperf installed. Code changes were contained in previous commit. Used following program versions (on fedora): bison (GNU Bison) 2.3 flex 2.5.33 GNU gperf 3.0.2 Cc: Adrian Bunk <bunk@kernel.org> Signed-off-by: Sam Ravnborg <sam@ravnborg.org>
Diffstat (limited to 'scripts')
-rw-r--r--scripts/kconfig/lex.zconf.c_shipped25
-rw-r--r--scripts/kconfig/zconf.hash.c_shipped220
-rw-r--r--scripts/kconfig/zconf.tab.c_shipped1406
3 files changed, 897 insertions, 754 deletions
diff --git a/scripts/kconfig/lex.zconf.c_shipped b/scripts/kconfig/lex.zconf.c_shipped
index 0fdc9049296f..a065d5a57c01 100644
--- a/scripts/kconfig/lex.zconf.c_shipped
+++ b/scripts/kconfig/lex.zconf.c_shipped
@@ -5,6 +5,25 @@
5 5
6/* A lexical scanner generated by flex */ 6/* A lexical scanner generated by flex */
7 7
8#define yy_create_buffer zconf_create_buffer
9#define yy_delete_buffer zconf_delete_buffer
10#define yy_flex_debug zconf_flex_debug
11#define yy_init_buffer zconf_init_buffer
12#define yy_flush_buffer zconf_flush_buffer
13#define yy_load_buffer_state zconf_load_buffer_state
14#define yy_switch_to_buffer zconf_switch_to_buffer
15#define yyin zconfin
16#define yyleng zconfleng
17#define yylex zconflex
18#define yylineno zconflineno
19#define yyout zconfout
20#define yyrestart zconfrestart
21#define yytext zconftext
22#define yywrap zconfwrap
23#define yyalloc zconfalloc
24#define yyrealloc zconfrealloc
25#define yyfree zconffree
26
8#define FLEX_SCANNER 27#define FLEX_SCANNER
9#define YY_FLEX_MAJOR_VERSION 2 28#define YY_FLEX_MAJOR_VERSION 2
10#define YY_FLEX_MINOR_VERSION 5 29#define YY_FLEX_MINOR_VERSION 5
@@ -33,7 +52,7 @@
33#if __STDC_VERSION__ >= 199901L 52#if __STDC_VERSION__ >= 199901L
34 53
35/* C99 says to define __STDC_LIMIT_MACROS before including stdint.h, 54/* C99 says to define __STDC_LIMIT_MACROS before including stdint.h,
36 * if you want the limit (max/min) macros for int types. 55 * if you want the limit (max/min) macros for int types.
37 */ 56 */
38#ifndef __STDC_LIMIT_MACROS 57#ifndef __STDC_LIMIT_MACROS
39#define __STDC_LIMIT_MACROS 1 58#define __STDC_LIMIT_MACROS 1
@@ -335,7 +354,7 @@ void zconffree (void * );
335 354
336/* Begin user sect3 */ 355/* Begin user sect3 */
337 356
338#define zconfwrap() 1 357#define zconfwrap(n) 1
339#define YY_SKIP_YYWRAP 358#define YY_SKIP_YYWRAP
340 359
341typedef unsigned char YY_CHAR; 360typedef unsigned char YY_CHAR;
@@ -1983,7 +2002,7 @@ YY_BUFFER_STATE zconf_scan_buffer (char * base, yy_size_t size )
1983 2002
1984/** Setup the input buffer state to scan a string. The next call to zconflex() will 2003/** Setup the input buffer state to scan a string. The next call to zconflex() will
1985 * scan from a @e copy of @a str. 2004 * scan from a @e copy of @a str.
1986 * @param yystr a NUL-terminated string to scan 2005 * @param str a NUL-terminated string to scan
1987 * 2006 *
1988 * @return the newly allocated buffer state object. 2007 * @return the newly allocated buffer state object.
1989 * @note If you want to scan bytes that may contain NUL values, then use 2008 * @note If you want to scan bytes that may contain NUL values, then use
diff --git a/scripts/kconfig/zconf.hash.c_shipped b/scripts/kconfig/zconf.hash.c_shipped
index 47c8b5babf34..ab28b18153a7 100644
--- a/scripts/kconfig/zconf.hash.c_shipped
+++ b/scripts/kconfig/zconf.hash.c_shipped
@@ -1,4 +1,4 @@
1/* ANSI-C code produced by gperf version 3.0.1 */ 1/* ANSI-C code produced by gperf version 3.0.2 */
2/* Command-line: gperf */ 2/* Command-line: gperf */
3/* Computed positions: -k'1,3' */ 3/* Computed positions: -k'1,3' */
4 4
@@ -30,7 +30,7 @@
30#endif 30#endif
31 31
32struct kconf_id; 32struct kconf_id;
33/* maximum key range = 45, duplicates = 0 */ 33/* maximum key range = 47, duplicates = 0 */
34 34
35#ifdef __GNUC__ 35#ifdef __GNUC__
36__inline 36__inline
@@ -44,32 +44,32 @@ kconf_id_hash (register const char *str, register unsigned int len)
44{ 44{
45 static unsigned char asso_values[] = 45 static unsigned char asso_values[] =
46 { 46 {
47 47, 47, 47, 47, 47, 47, 47, 47, 47, 47, 47 49, 49, 49, 49, 49, 49, 49, 49, 49, 49,
48 47, 47, 47, 47, 47, 47, 47, 47, 47, 47, 48 49, 49, 49, 49, 49, 49, 49, 49, 49, 49,
49 47, 47, 47, 47, 47, 47, 47, 47, 47, 47, 49 49, 49, 49, 49, 49, 49, 49, 49, 49, 49,
50 47, 47, 47, 47, 47, 47, 47, 47, 47, 47, 50 49, 49, 49, 49, 49, 49, 49, 49, 49, 49,
51 47, 47, 47, 47, 47, 47, 47, 47, 47, 47, 51 49, 49, 49, 49, 49, 49, 49, 49, 49, 49,
52 47, 47, 47, 47, 47, 47, 47, 47, 47, 47, 52 49, 49, 49, 49, 49, 49, 49, 49, 49, 49,
53 47, 47, 47, 47, 47, 47, 47, 47, 47, 47, 53 49, 49, 49, 49, 49, 49, 49, 49, 49, 49,
54 47, 47, 47, 47, 47, 47, 47, 47, 47, 47, 54 49, 49, 49, 49, 49, 49, 49, 49, 49, 49,
55 47, 47, 47, 47, 47, 47, 47, 47, 47, 47, 55 49, 49, 49, 49, 49, 49, 49, 49, 49, 49,
56 47, 47, 47, 47, 47, 47, 47, 25, 30, 15, 56 49, 49, 49, 49, 49, 49, 49, 18, 11, 5,
57 0, 15, 0, 47, 5, 15, 47, 47, 30, 20, 57 0, 0, 5, 49, 5, 20, 49, 49, 5, 20,
58 5, 0, 25, 15, 0, 0, 10, 35, 47, 47, 58 5, 0, 30, 49, 0, 15, 0, 10, 49, 49,
59 5, 47, 47, 47, 47, 47, 47, 47, 47, 47, 59 25, 49, 49, 49, 49, 49, 49, 49, 49, 49,
60 47, 47, 47, 47, 47, 47, 47, 47, 47, 47, 60 49, 49, 49, 49, 49, 49, 49, 49, 49, 49,
61 47, 47, 47, 47, 47, 47, 47, 47, 47, 47, 61 49, 49, 49, 49, 49, 49, 49, 49, 49, 49,
62 47, 47, 47, 47, 47, 47, 47, 47, 47, 47, 62 49, 49, 49, 49, 49, 49, 49, 49, 49, 49,
63 47, 47, 47, 47, 47, 47, 47, 47, 47, 47, 63 49, 49, 49, 49, 49, 49, 49, 49, 49, 49,
64 47, 47, 47, 47, 47, 47, 47, 47, 47, 47, 64 49, 49, 49, 49, 49, 49, 49, 49, 49, 49,
65 47, 47, 47, 47, 47, 47, 47, 47, 47, 47, 65 49, 49, 49, 49, 49, 49, 49, 49, 49, 49,
66 47, 47, 47, 47, 47, 47, 47, 47, 47, 47, 66 49, 49, 49, 49, 49, 49, 49, 49, 49, 49,
67 47, 47, 47, 47, 47, 47, 47, 47, 47, 47, 67 49, 49, 49, 49, 49, 49, 49, 49, 49, 49,
68 47, 47, 47, 47, 47, 47, 47, 47, 47, 47, 68 49, 49, 49, 49, 49, 49, 49, 49, 49, 49,
69 47, 47, 47, 47, 47, 47, 47, 47, 47, 47, 69 49, 49, 49, 49, 49, 49, 49, 49, 49, 49,
70 47, 47, 47, 47, 47, 47, 47, 47, 47, 47, 70 49, 49, 49, 49, 49, 49, 49, 49, 49, 49,
71 47, 47, 47, 47, 47, 47, 47, 47, 47, 47, 71 49, 49, 49, 49, 49, 49, 49, 49, 49, 49,
72 47, 47, 47, 47, 47, 47 72 49, 49, 49, 49, 49, 49
73 }; 73 };
74 register int hval = len; 74 register int hval = len;
75 75
@@ -89,74 +89,70 @@ kconf_id_hash (register const char *str, register unsigned int len)
89struct kconf_id_strings_t 89struct kconf_id_strings_t
90 { 90 {
91 char kconf_id_strings_str2[sizeof("on")]; 91 char kconf_id_strings_str2[sizeof("on")];
92 char kconf_id_strings_str6[sizeof("string")]; 92 char kconf_id_strings_str5[sizeof("endif")];
93 char kconf_id_strings_str7[sizeof("default")]; 93 char kconf_id_strings_str6[sizeof("option")];
94 char kconf_id_strings_str8[sizeof("def_bool")]; 94 char kconf_id_strings_str7[sizeof("endmenu")];
95 char kconf_id_strings_str8[sizeof("optional")];
96 char kconf_id_strings_str9[sizeof("endchoice")];
95 char kconf_id_strings_str10[sizeof("range")]; 97 char kconf_id_strings_str10[sizeof("range")];
96 char kconf_id_strings_str11[sizeof("def_boolean")]; 98 char kconf_id_strings_str11[sizeof("choice")];
97 char kconf_id_strings_str12[sizeof("def_tristate")]; 99 char kconf_id_strings_str12[sizeof("default")];
98 char kconf_id_strings_str13[sizeof("hex")]; 100 char kconf_id_strings_str13[sizeof("def_bool")];
99 char kconf_id_strings_str14[sizeof("defconfig_list")]; 101 char kconf_id_strings_str14[sizeof("help")];
100 char kconf_id_strings_str16[sizeof("option")]; 102 char kconf_id_strings_str15[sizeof("bool")];
101 char kconf_id_strings_str17[sizeof("if")]; 103 char kconf_id_strings_str16[sizeof("config")];
102 char kconf_id_strings_str18[sizeof("optional")]; 104 char kconf_id_strings_str17[sizeof("def_tristate")];
103 char kconf_id_strings_str20[sizeof("endif")]; 105 char kconf_id_strings_str18[sizeof("boolean")];
104 char kconf_id_strings_str21[sizeof("choice")]; 106 char kconf_id_strings_str19[sizeof("defconfig_list")];
105 char kconf_id_strings_str22[sizeof("endmenu")]; 107 char kconf_id_strings_str21[sizeof("string")];
106 char kconf_id_strings_str23[sizeof("requires")]; 108 char kconf_id_strings_str22[sizeof("if")];
107 char kconf_id_strings_str24[sizeof("endchoice")]; 109 char kconf_id_strings_str23[sizeof("int")];
108 char kconf_id_strings_str26[sizeof("config")]; 110 char kconf_id_strings_str24[sizeof("enable")];
111 char kconf_id_strings_str26[sizeof("select")];
109 char kconf_id_strings_str27[sizeof("modules")]; 112 char kconf_id_strings_str27[sizeof("modules")];
110 char kconf_id_strings_str28[sizeof("int")]; 113 char kconf_id_strings_str28[sizeof("tristate")];
111 char kconf_id_strings_str29[sizeof("menu")]; 114 char kconf_id_strings_str29[sizeof("menu")];
112 char kconf_id_strings_str31[sizeof("prompt")]; 115 char kconf_id_strings_str31[sizeof("source")];
113 char kconf_id_strings_str32[sizeof("depends")]; 116 char kconf_id_strings_str32[sizeof("comment")];
114 char kconf_id_strings_str33[sizeof("tristate")]; 117 char kconf_id_strings_str33[sizeof("hex")];
115 char kconf_id_strings_str34[sizeof("bool")];
116 char kconf_id_strings_str35[sizeof("menuconfig")]; 118 char kconf_id_strings_str35[sizeof("menuconfig")];
117 char kconf_id_strings_str36[sizeof("select")]; 119 char kconf_id_strings_str36[sizeof("prompt")];
118 char kconf_id_strings_str37[sizeof("boolean")]; 120 char kconf_id_strings_str37[sizeof("depends")];
119 char kconf_id_strings_str39[sizeof("help")]; 121 char kconf_id_strings_str48[sizeof("mainmenu")];
120 char kconf_id_strings_str41[sizeof("source")];
121 char kconf_id_strings_str42[sizeof("comment")];
122 char kconf_id_strings_str43[sizeof("mainmenu")];
123 char kconf_id_strings_str46[sizeof("enable")];
124 }; 122 };
125static struct kconf_id_strings_t kconf_id_strings_contents = 123static struct kconf_id_strings_t kconf_id_strings_contents =
126 { 124 {
127 "on", 125 "on",
128 "string", 126 "endif",
127 "option",
128 "endmenu",
129 "optional",
130 "endchoice",
131 "range",
132 "choice",
129 "default", 133 "default",
130 "def_bool", 134 "def_bool",
131 "range", 135 "help",
132 "def_boolean", 136 "bool",
137 "config",
133 "def_tristate", 138 "def_tristate",
134 "hex", 139 "boolean",
135 "defconfig_list", 140 "defconfig_list",
136 "option", 141 "string",
137 "if", 142 "if",
138 "optional",
139 "endif",
140 "choice",
141 "endmenu",
142 "requires",
143 "endchoice",
144 "config",
145 "modules",
146 "int", 143 "int",
147 "menu", 144 "enable",
148 "prompt",
149 "depends",
150 "tristate",
151 "bool",
152 "menuconfig",
153 "select", 145 "select",
154 "boolean", 146 "modules",
155 "help", 147 "tristate",
148 "menu",
156 "source", 149 "source",
157 "comment", 150 "comment",
158 "mainmenu", 151 "hex",
159 "enable" 152 "menuconfig",
153 "prompt",
154 "depends",
155 "mainmenu"
160 }; 156 };
161#define kconf_id_strings ((const char *) &kconf_id_strings_contents) 157#define kconf_id_strings ((const char *) &kconf_id_strings_contents)
162#ifdef __GNUC__ 158#ifdef __GNUC__
@@ -167,58 +163,54 @@ kconf_id_lookup (register const char *str, register unsigned int len)
167{ 163{
168 enum 164 enum
169 { 165 {
170 TOTAL_KEYWORDS = 33, 166 TOTAL_KEYWORDS = 31,
171 MIN_WORD_LENGTH = 2, 167 MIN_WORD_LENGTH = 2,
172 MAX_WORD_LENGTH = 14, 168 MAX_WORD_LENGTH = 14,
173 MIN_HASH_VALUE = 2, 169 MIN_HASH_VALUE = 2,
174 MAX_HASH_VALUE = 46 170 MAX_HASH_VALUE = 48
175 }; 171 };
176 172
177 static struct kconf_id wordlist[] = 173 static struct kconf_id wordlist[] =
178 { 174 {
179 {-1}, {-1}, 175 {-1}, {-1},
180 {(int)(long)&((struct kconf_id_strings_t *)0)->kconf_id_strings_str2, T_ON, TF_PARAM}, 176 {(int)(long)&((struct kconf_id_strings_t *)0)->kconf_id_strings_str2, T_ON, TF_PARAM},
181 {-1}, {-1}, {-1}, 177 {-1}, {-1},
182 {(int)(long)&((struct kconf_id_strings_t *)0)->kconf_id_strings_str6, T_TYPE, TF_COMMAND, S_STRING}, 178 {(int)(long)&((struct kconf_id_strings_t *)0)->kconf_id_strings_str5, T_ENDIF, TF_COMMAND},
183 {(int)(long)&((struct kconf_id_strings_t *)0)->kconf_id_strings_str7, T_DEFAULT, TF_COMMAND, S_UNKNOWN}, 179 {(int)(long)&((struct kconf_id_strings_t *)0)->kconf_id_strings_str6, T_OPTION, TF_COMMAND},
184 {(int)(long)&((struct kconf_id_strings_t *)0)->kconf_id_strings_str8, T_DEFAULT, TF_COMMAND, S_BOOLEAN}, 180 {(int)(long)&((struct kconf_id_strings_t *)0)->kconf_id_strings_str7, T_ENDMENU, TF_COMMAND},
185 {-1}, 181 {(int)(long)&((struct kconf_id_strings_t *)0)->kconf_id_strings_str8, T_OPTIONAL, TF_COMMAND},
182 {(int)(long)&((struct kconf_id_strings_t *)0)->kconf_id_strings_str9, T_ENDCHOICE, TF_COMMAND},
186 {(int)(long)&((struct kconf_id_strings_t *)0)->kconf_id_strings_str10, T_RANGE, TF_COMMAND}, 183 {(int)(long)&((struct kconf_id_strings_t *)0)->kconf_id_strings_str10, T_RANGE, TF_COMMAND},
187 {(int)(long)&((struct kconf_id_strings_t *)0)->kconf_id_strings_str11, T_DEFAULT, TF_COMMAND, S_BOOLEAN}, 184 {(int)(long)&((struct kconf_id_strings_t *)0)->kconf_id_strings_str11, T_CHOICE, TF_COMMAND},
188 {(int)(long)&((struct kconf_id_strings_t *)0)->kconf_id_strings_str12, T_DEFAULT, TF_COMMAND, S_TRISTATE}, 185 {(int)(long)&((struct kconf_id_strings_t *)0)->kconf_id_strings_str12, T_DEFAULT, TF_COMMAND, S_UNKNOWN},
189 {(int)(long)&((struct kconf_id_strings_t *)0)->kconf_id_strings_str13, T_TYPE, TF_COMMAND, S_HEX}, 186 {(int)(long)&((struct kconf_id_strings_t *)0)->kconf_id_strings_str13, T_DEFAULT, TF_COMMAND, S_BOOLEAN},
190 {(int)(long)&((struct kconf_id_strings_t *)0)->kconf_id_strings_str14, T_OPT_DEFCONFIG_LIST,TF_OPTION}, 187 {(int)(long)&((struct kconf_id_strings_t *)0)->kconf_id_strings_str14, T_HELP, TF_COMMAND},
191 {-1}, 188 {(int)(long)&((struct kconf_id_strings_t *)0)->kconf_id_strings_str15, T_TYPE, TF_COMMAND, S_BOOLEAN},
192 {(int)(long)&((struct kconf_id_strings_t *)0)->kconf_id_strings_str16, T_OPTION, TF_COMMAND}, 189 {(int)(long)&((struct kconf_id_strings_t *)0)->kconf_id_strings_str16, T_CONFIG, TF_COMMAND},
193 {(int)(long)&((struct kconf_id_strings_t *)0)->kconf_id_strings_str17, T_IF, TF_COMMAND|TF_PARAM}, 190 {(int)(long)&((struct kconf_id_strings_t *)0)->kconf_id_strings_str17, T_DEFAULT, TF_COMMAND, S_TRISTATE},
194 {(int)(long)&((struct kconf_id_strings_t *)0)->kconf_id_strings_str18, T_OPTIONAL, TF_COMMAND}, 191 {(int)(long)&((struct kconf_id_strings_t *)0)->kconf_id_strings_str18, T_TYPE, TF_COMMAND, S_BOOLEAN},
192 {(int)(long)&((struct kconf_id_strings_t *)0)->kconf_id_strings_str19, T_OPT_DEFCONFIG_LIST,TF_OPTION},
195 {-1}, 193 {-1},
196 {(int)(long)&((struct kconf_id_strings_t *)0)->kconf_id_strings_str20, T_ENDIF, TF_COMMAND}, 194 {(int)(long)&((struct kconf_id_strings_t *)0)->kconf_id_strings_str21, T_TYPE, TF_COMMAND, S_STRING},
197 {(int)(long)&((struct kconf_id_strings_t *)0)->kconf_id_strings_str21, T_CHOICE, TF_COMMAND}, 195 {(int)(long)&((struct kconf_id_strings_t *)0)->kconf_id_strings_str22, T_IF, TF_COMMAND|TF_PARAM},
198 {(int)(long)&((struct kconf_id_strings_t *)0)->kconf_id_strings_str22, T_ENDMENU, TF_COMMAND}, 196 {(int)(long)&((struct kconf_id_strings_t *)0)->kconf_id_strings_str23, T_TYPE, TF_COMMAND, S_INT},
199 {(int)(long)&((struct kconf_id_strings_t *)0)->kconf_id_strings_str23, T_REQUIRES, TF_COMMAND}, 197 {(int)(long)&((struct kconf_id_strings_t *)0)->kconf_id_strings_str24, T_SELECT, TF_COMMAND},
200 {(int)(long)&((struct kconf_id_strings_t *)0)->kconf_id_strings_str24, T_ENDCHOICE, TF_COMMAND},
201 {-1}, 198 {-1},
202 {(int)(long)&((struct kconf_id_strings_t *)0)->kconf_id_strings_str26, T_CONFIG, TF_COMMAND}, 199 {(int)(long)&((struct kconf_id_strings_t *)0)->kconf_id_strings_str26, T_SELECT, TF_COMMAND},
203 {(int)(long)&((struct kconf_id_strings_t *)0)->kconf_id_strings_str27, T_OPT_MODULES, TF_OPTION}, 200 {(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_INT}, 201 {(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}, 202 {(int)(long)&((struct kconf_id_strings_t *)0)->kconf_id_strings_str29, T_MENU, TF_COMMAND},
206 {-1}, 203 {-1},
207 {(int)(long)&((struct kconf_id_strings_t *)0)->kconf_id_strings_str31, T_PROMPT, TF_COMMAND}, 204 {(int)(long)&((struct kconf_id_strings_t *)0)->kconf_id_strings_str31, T_SOURCE, TF_COMMAND},
208 {(int)(long)&((struct kconf_id_strings_t *)0)->kconf_id_strings_str32, T_DEPENDS, TF_COMMAND}, 205 {(int)(long)&((struct kconf_id_strings_t *)0)->kconf_id_strings_str32, T_COMMENT, TF_COMMAND},
209 {(int)(long)&((struct kconf_id_strings_t *)0)->kconf_id_strings_str33, T_TYPE, TF_COMMAND, S_TRISTATE}, 206 {(int)(long)&((struct kconf_id_strings_t *)0)->kconf_id_strings_str33, T_TYPE, TF_COMMAND, S_HEX},
210 {(int)(long)&((struct kconf_id_strings_t *)0)->kconf_id_strings_str34, T_TYPE, TF_COMMAND, S_BOOLEAN},
211 {(int)(long)&((struct kconf_id_strings_t *)0)->kconf_id_strings_str35, T_MENUCONFIG, TF_COMMAND},
212 {(int)(long)&((struct kconf_id_strings_t *)0)->kconf_id_strings_str36, T_SELECT, TF_COMMAND},
213 {(int)(long)&((struct kconf_id_strings_t *)0)->kconf_id_strings_str37, T_TYPE, TF_COMMAND, S_BOOLEAN},
214 {-1}, 207 {-1},
215 {(int)(long)&((struct kconf_id_strings_t *)0)->kconf_id_strings_str39, T_HELP, TF_COMMAND}, 208 {(int)(long)&((struct kconf_id_strings_t *)0)->kconf_id_strings_str35, T_MENUCONFIG, TF_COMMAND},
209 {(int)(long)&((struct kconf_id_strings_t *)0)->kconf_id_strings_str36, T_PROMPT, TF_COMMAND},
210 {(int)(long)&((struct kconf_id_strings_t *)0)->kconf_id_strings_str37, T_DEPENDS, TF_COMMAND},
211 {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1},
216 {-1}, 212 {-1},
217 {(int)(long)&((struct kconf_id_strings_t *)0)->kconf_id_strings_str41, T_SOURCE, TF_COMMAND}, 213 {(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_str42, T_COMMENT, TF_COMMAND},
219 {(int)(long)&((struct kconf_id_strings_t *)0)->kconf_id_strings_str43, T_MAINMENU, TF_COMMAND},
220 {-1}, {-1},
221 {(int)(long)&((struct kconf_id_strings_t *)0)->kconf_id_strings_str46, T_SELECT, TF_COMMAND}
222 }; 214 };
223 215
224 if (len <= MAX_WORD_LENGTH && len >= MIN_WORD_LENGTH) 216 if (len <= MAX_WORD_LENGTH && len >= MIN_WORD_LENGTH)
diff --git a/scripts/kconfig/zconf.tab.c_shipped b/scripts/kconfig/zconf.tab.c_shipped
index ec21db77f78b..d22d92496f25 100644
--- a/scripts/kconfig/zconf.tab.c_shipped
+++ b/scripts/kconfig/zconf.tab.c_shipped
@@ -1,7 +1,9 @@
1/* A Bison parser, made by GNU Bison 2.1. */ 1/* A Bison parser, made by GNU Bison 2.3. */
2 2
3/* Skeleton parser for Yacc-like parsing with Bison, 3/* Skeleton implementation for Bison's Yacc-like parsers in C
4 Copyright (C) 1984, 1989, 1990, 2000, 2001, 2002, 2003, 2004, 2005 Free Software Foundation, Inc. 4
5 Copyright (C) 1984, 1989, 1990, 2000, 2001, 2002, 2003, 2004, 2005, 2006
6 Free Software Foundation, Inc.
5 7
6 This program is free software; you can redistribute it and/or modify 8 This program is free software; you can redistribute it and/or modify
7 it under the terms of the GNU General Public License as published by 9 it under the terms of the GNU General Public License as published by
@@ -18,13 +20,21 @@
18 Foundation, Inc., 51 Franklin Street, Fifth Floor, 20 Foundation, Inc., 51 Franklin Street, Fifth Floor,
19 Boston, MA 02110-1301, USA. */ 21 Boston, MA 02110-1301, USA. */
20 22
21/* As a special exception, when this file is copied by Bison into a 23/* As a special exception, you may create a larger work that contains
22 Bison output file, you may use that output file without restriction. 24 part or all of the Bison parser skeleton and distribute that work
23 This special exception was added by the Free Software Foundation 25 under terms of your choice, so long as that work isn't itself a
24 in version 1.24 of Bison. */ 26 parser generator using the skeleton or a modified version thereof
27 as a parser skeleton. Alternatively, if you modify or redistribute
28 the parser skeleton itself, you may (at your option) remove this
29 special exception, which will cause the skeleton and the resulting
30 Bison output files to be licensed under the GNU General Public
31 License without this special exception.
32
33 This special exception was added by the Free Software Foundation in
34 version 2.2 of Bison. */
25 35
26/* Written by Richard Stallman by simplifying the original so called 36/* C LALR(1) parser skeleton written by Richard Stallman, by
27 ``semantic'' parser. */ 37 simplifying the original so-called "semantic" parser. */
28 38
29/* All symbols defined below should begin with yy or YY, to avoid 39/* All symbols defined below should begin with yy or YY, to avoid
30 infringing on user name space. This should be done even for local 40 infringing on user name space. This should be done even for local
@@ -37,7 +47,7 @@
37#define YYBISON 1 47#define YYBISON 1
38 48
39/* Bison version. */ 49/* Bison version. */
40#define YYBISON_VERSION "2.1" 50#define YYBISON_VERSION "2.3"
41 51
42/* Skeleton name. */ 52/* Skeleton name. */
43#define YYSKELETON_NAME "yacc.c" 53#define YYSKELETON_NAME "yacc.c"
@@ -78,25 +88,24 @@
78 T_IF = 269, 88 T_IF = 269,
79 T_ENDIF = 270, 89 T_ENDIF = 270,
80 T_DEPENDS = 271, 90 T_DEPENDS = 271,
81 T_REQUIRES = 272, 91 T_OPTIONAL = 272,
82 T_OPTIONAL = 273, 92 T_PROMPT = 273,
83 T_PROMPT = 274, 93 T_TYPE = 274,
84 T_TYPE = 275, 94 T_DEFAULT = 275,
85 T_DEFAULT = 276, 95 T_SELECT = 276,
86 T_SELECT = 277, 96 T_RANGE = 277,
87 T_RANGE = 278, 97 T_OPTION = 278,
88 T_OPTION = 279, 98 T_ON = 279,
89 T_ON = 280, 99 T_WORD = 280,
90 T_WORD = 281, 100 T_WORD_QUOTE = 281,
91 T_WORD_QUOTE = 282, 101 T_UNEQUAL = 282,
92 T_UNEQUAL = 283, 102 T_CLOSE_PAREN = 283,
93 T_CLOSE_PAREN = 284, 103 T_OPEN_PAREN = 284,
94 T_OPEN_PAREN = 285, 104 T_EOL = 285,
95 T_EOL = 286, 105 T_OR = 286,
96 T_OR = 287, 106 T_AND = 287,
97 T_AND = 288, 107 T_EQUAL = 288,
98 T_EQUAL = 289, 108 T_NOT = 289
99 T_NOT = 290
100 }; 109 };
101#endif 110#endif
102/* Tokens. */ 111/* Tokens. */
@@ -114,25 +123,24 @@
114#define T_IF 269 123#define T_IF 269
115#define T_ENDIF 270 124#define T_ENDIF 270
116#define T_DEPENDS 271 125#define T_DEPENDS 271
117#define T_REQUIRES 272 126#define T_OPTIONAL 272
118#define T_OPTIONAL 273 127#define T_PROMPT 273
119#define T_PROMPT 274 128#define T_TYPE 274
120#define T_TYPE 275 129#define T_DEFAULT 275
121#define T_DEFAULT 276 130#define T_SELECT 276
122#define T_SELECT 277 131#define T_RANGE 277
123#define T_RANGE 278 132#define T_OPTION 278
124#define T_OPTION 279 133#define T_ON 279
125#define T_ON 280 134#define T_WORD 280
126#define T_WORD 281 135#define T_WORD_QUOTE 281
127#define T_WORD_QUOTE 282 136#define T_UNEQUAL 282
128#define T_UNEQUAL 283 137#define T_CLOSE_PAREN 283
129#define T_CLOSE_PAREN 284 138#define T_OPEN_PAREN 284
130#define T_OPEN_PAREN 285 139#define T_EOL 285
131#define T_EOL 286 140#define T_OR 286
132#define T_OR 287 141#define T_AND 287
133#define T_AND 288 142#define T_EQUAL 288
134#define T_EQUAL 289 143#define T_NOT 289
135#define T_NOT 290
136 144
137 145
138 146
@@ -198,18 +206,20 @@ static struct menu *current_menu, *current_entry;
198# define YYTOKEN_TABLE 0 206# define YYTOKEN_TABLE 0
199#endif 207#endif
200 208
201#if ! defined (YYSTYPE) && ! defined (YYSTYPE_IS_DECLARED) 209#if ! defined YYSTYPE && ! defined YYSTYPE_IS_DECLARED
210typedef union YYSTYPE
202 211
203typedef union YYSTYPE { 212{
204 char *string; 213 char *string;
205 struct file *file; 214 struct file *file;
206 struct symbol *symbol; 215 struct symbol *symbol;
207 struct expr *expr; 216 struct expr *expr;
208 struct menu *menu; 217 struct menu *menu;
209 struct kconf_id *id; 218 struct kconf_id *id;
210} YYSTYPE; 219}
211/* Line 196 of yacc.c. */ 220/* Line 187 of yacc.c. */
212 221
222 YYSTYPE;
213# define yystype YYSTYPE /* obsolescent; will be withdrawn */ 223# define yystype YYSTYPE /* obsolescent; will be withdrawn */
214# define YYSTYPE_IS_DECLARED 1 224# define YYSTYPE_IS_DECLARED 1
215# define YYSTYPE_IS_TRIVIAL 1 225# define YYSTYPE_IS_TRIVIAL 1
@@ -220,23 +230,56 @@ typedef union YYSTYPE {
220/* Copy the second part of user declarations. */ 230/* Copy the second part of user declarations. */
221 231
222 232
223/* Line 219 of yacc.c. */ 233/* Line 216 of yacc.c. */
234
235
236#ifdef short
237# undef short
238#endif
224 239
240#ifdef YYTYPE_UINT8
241typedef YYTYPE_UINT8 yytype_uint8;
242#else
243typedef unsigned char yytype_uint8;
244#endif
225 245
226#if ! defined (YYSIZE_T) && defined (__SIZE_TYPE__) 246#ifdef YYTYPE_INT8
227# define YYSIZE_T __SIZE_TYPE__ 247typedef YYTYPE_INT8 yytype_int8;
248#elif (defined __STDC__ || defined __C99__FUNC__ \
249 || defined __cplusplus || defined _MSC_VER)
250typedef signed char yytype_int8;
251#else
252typedef short int yytype_int8;
228#endif 253#endif
229#if ! defined (YYSIZE_T) && defined (size_t) 254
230# define YYSIZE_T size_t 255#ifdef YYTYPE_UINT16
256typedef YYTYPE_UINT16 yytype_uint16;
257#else
258typedef unsigned short int yytype_uint16;
231#endif 259#endif
232#if ! defined (YYSIZE_T) && (defined (__STDC__) || defined (__cplusplus)) 260
233# include <stddef.h> /* INFRINGES ON USER NAME SPACE */ 261#ifdef YYTYPE_INT16
234# define YYSIZE_T size_t 262typedef YYTYPE_INT16 yytype_int16;
263#else
264typedef short int yytype_int16;
235#endif 265#endif
236#if ! defined (YYSIZE_T) 266
237# define YYSIZE_T unsigned int 267#ifndef YYSIZE_T
268# ifdef __SIZE_TYPE__
269# define YYSIZE_T __SIZE_TYPE__
270# elif defined size_t
271# define YYSIZE_T size_t
272# elif ! defined YYSIZE_T && (defined __STDC__ || defined __C99__FUNC__ \
273 || defined __cplusplus || defined _MSC_VER)
274# include <stddef.h> /* INFRINGES ON USER NAME SPACE */
275# define YYSIZE_T size_t
276# else
277# define YYSIZE_T unsigned int
278# endif
238#endif 279#endif
239 280
281#define YYSIZE_MAXIMUM ((YYSIZE_T) -1)
282
240#ifndef YY_ 283#ifndef YY_
241# if YYENABLE_NLS 284# if YYENABLE_NLS
242# if ENABLE_NLS 285# if ENABLE_NLS
@@ -249,7 +292,32 @@ typedef union YYSTYPE {
249# endif 292# endif
250#endif 293#endif
251 294
252#if ! defined (yyoverflow) || YYERROR_VERBOSE 295/* Suppress unused-variable warnings by "using" E. */
296#if ! defined lint || defined __GNUC__
297# define YYUSE(e) ((void) (e))
298#else
299# define YYUSE(e) /* empty */
300#endif
301
302/* Identity function, used to suppress warnings about constant conditions. */
303#ifndef lint
304# define YYID(n) (n)
305#else
306#if (defined __STDC__ || defined __C99__FUNC__ \
307 || defined __cplusplus || defined _MSC_VER)
308static int
309YYID (int i)
310#else
311static int
312YYID (i)
313 int i;
314#endif
315{
316 return i;
317}
318#endif
319
320#if ! defined yyoverflow || YYERROR_VERBOSE
253 321
254/* The parser invokes alloca or malloc; define the necessary symbols. */ 322/* The parser invokes alloca or malloc; define the necessary symbols. */
255 323
@@ -257,64 +325,76 @@ typedef union YYSTYPE {
257# if YYSTACK_USE_ALLOCA 325# if YYSTACK_USE_ALLOCA
258# ifdef __GNUC__ 326# ifdef __GNUC__
259# define YYSTACK_ALLOC __builtin_alloca 327# define YYSTACK_ALLOC __builtin_alloca
328# elif defined __BUILTIN_VA_ARG_INCR
329# include <alloca.h> /* INFRINGES ON USER NAME SPACE */
330# elif defined _AIX
331# define YYSTACK_ALLOC __alloca
332# elif defined _MSC_VER
333# include <malloc.h> /* INFRINGES ON USER NAME SPACE */
334# define alloca _alloca
260# else 335# else
261# define YYSTACK_ALLOC alloca 336# define YYSTACK_ALLOC alloca
262# if defined (__STDC__) || defined (__cplusplus) 337# if ! defined _ALLOCA_H && ! defined _STDLIB_H && (defined __STDC__ || defined __C99__FUNC__ \
338 || defined __cplusplus || defined _MSC_VER)
263# include <stdlib.h> /* INFRINGES ON USER NAME SPACE */ 339# include <stdlib.h> /* INFRINGES ON USER NAME SPACE */
264# define YYINCLUDED_STDLIB_H 340# ifndef _STDLIB_H
341# define _STDLIB_H 1
342# endif
265# endif 343# endif
266# endif 344# endif
267# endif 345# endif
268# endif 346# endif
269 347
270# ifdef YYSTACK_ALLOC 348# ifdef YYSTACK_ALLOC
271 /* Pacify GCC's `empty if-body' warning. */ 349 /* Pacify GCC's `empty if-body' warning. */
272# define YYSTACK_FREE(Ptr) do { /* empty */; } while (0) 350# define YYSTACK_FREE(Ptr) do { /* empty */; } while (YYID (0))
273# ifndef YYSTACK_ALLOC_MAXIMUM 351# ifndef YYSTACK_ALLOC_MAXIMUM
274 /* The OS might guarantee only one guard page at the bottom of the stack, 352 /* The OS might guarantee only one guard page at the bottom of the stack,
275 and a page size can be as small as 4096 bytes. So we cannot safely 353 and a page size can be as small as 4096 bytes. So we cannot safely
276 invoke alloca (N) if N exceeds 4096. Use a slightly smaller number 354 invoke alloca (N) if N exceeds 4096. Use a slightly smaller number
277 to allow for a few compiler-allocated temporary stack slots. */ 355 to allow for a few compiler-allocated temporary stack slots. */
278# define YYSTACK_ALLOC_MAXIMUM 4032 /* reasonable circa 2005 */ 356# define YYSTACK_ALLOC_MAXIMUM 4032 /* reasonable circa 2006 */
279# endif 357# endif
280# else 358# else
281# define YYSTACK_ALLOC YYMALLOC 359# define YYSTACK_ALLOC YYMALLOC
282# define YYSTACK_FREE YYFREE 360# define YYSTACK_FREE YYFREE
283# ifndef YYSTACK_ALLOC_MAXIMUM 361# ifndef YYSTACK_ALLOC_MAXIMUM
284# define YYSTACK_ALLOC_MAXIMUM ((YYSIZE_T) -1) 362# define YYSTACK_ALLOC_MAXIMUM YYSIZE_MAXIMUM
285# endif 363# endif
286# ifdef __cplusplus 364# if (defined __cplusplus && ! defined _STDLIB_H \
287extern "C" { 365 && ! ((defined YYMALLOC || defined malloc) \
366 && (defined YYFREE || defined free)))
367# include <stdlib.h> /* INFRINGES ON USER NAME SPACE */
368# ifndef _STDLIB_H
369# define _STDLIB_H 1
370# endif
288# endif 371# endif
289# ifndef YYMALLOC 372# ifndef YYMALLOC
290# define YYMALLOC malloc 373# define YYMALLOC malloc
291# if (! defined (malloc) && ! defined (YYINCLUDED_STDLIB_H) \ 374# if ! defined malloc && ! defined _STDLIB_H && (defined __STDC__ || defined __C99__FUNC__ \
292 && (defined (__STDC__) || defined (__cplusplus))) 375 || defined __cplusplus || defined _MSC_VER)
293void *malloc (YYSIZE_T); /* INFRINGES ON USER NAME SPACE */ 376void *malloc (YYSIZE_T); /* INFRINGES ON USER NAME SPACE */
294# endif 377# endif
295# endif 378# endif
296# ifndef YYFREE 379# ifndef YYFREE
297# define YYFREE free 380# define YYFREE free
298# if (! defined (free) && ! defined (YYINCLUDED_STDLIB_H) \ 381# if ! defined free && ! defined _STDLIB_H && (defined __STDC__ || defined __C99__FUNC__ \
299 && (defined (__STDC__) || defined (__cplusplus))) 382 || defined __cplusplus || defined _MSC_VER)
300void free (void *); /* INFRINGES ON USER NAME SPACE */ 383void free (void *); /* INFRINGES ON USER NAME SPACE */
301# endif 384# endif
302# endif 385# endif
303# ifdef __cplusplus
304}
305# endif
306# endif 386# endif
307#endif /* ! defined (yyoverflow) || YYERROR_VERBOSE */ 387#endif /* ! defined yyoverflow || YYERROR_VERBOSE */
308 388
309 389
310#if (! defined (yyoverflow) \ 390#if (! defined yyoverflow \
311 && (! defined (__cplusplus) \ 391 && (! defined __cplusplus \
312 || (defined (YYSTYPE_IS_TRIVIAL) && YYSTYPE_IS_TRIVIAL))) 392 || (defined YYSTYPE_IS_TRIVIAL && YYSTYPE_IS_TRIVIAL)))
313 393
314/* A type that is properly aligned for any stack member. */ 394/* A type that is properly aligned for any stack member. */
315union yyalloc 395union yyalloc
316{ 396{
317 short int yyss; 397 yytype_int16 yyss;
318 YYSTYPE yyvs; 398 YYSTYPE yyvs;
319 }; 399 };
320 400
@@ -324,13 +404,13 @@ union yyalloc
324/* The size of an array large to enough to hold all stacks, each with 404/* The size of an array large to enough to hold all stacks, each with
325 N elements. */ 405 N elements. */
326# define YYSTACK_BYTES(N) \ 406# define YYSTACK_BYTES(N) \
327 ((N) * (sizeof (short int) + sizeof (YYSTYPE)) \ 407 ((N) * (sizeof (yytype_int16) + sizeof (YYSTYPE)) \
328 + YYSTACK_GAP_MAXIMUM) 408 + YYSTACK_GAP_MAXIMUM)
329 409
330/* Copy COUNT objects from FROM to TO. The source and destination do 410/* Copy COUNT objects from FROM to TO. The source and destination do
331 not overlap. */ 411 not overlap. */
332# ifndef YYCOPY 412# ifndef YYCOPY
333# if defined (__GNUC__) && 1 < __GNUC__ 413# if defined __GNUC__ && 1 < __GNUC__
334# define YYCOPY(To, From, Count) \ 414# define YYCOPY(To, From, Count) \
335 __builtin_memcpy (To, From, (Count) * sizeof (*(From))) 415 __builtin_memcpy (To, From, (Count) * sizeof (*(From)))
336# else 416# else
@@ -341,7 +421,7 @@ union yyalloc
341 for (yyi = 0; yyi < (Count); yyi++) \ 421 for (yyi = 0; yyi < (Count); yyi++) \
342 (To)[yyi] = (From)[yyi]; \ 422 (To)[yyi] = (From)[yyi]; \
343 } \ 423 } \
344 while (0) 424 while (YYID (0))
345# endif 425# endif
346# endif 426# endif
347 427
@@ -359,39 +439,33 @@ union yyalloc
359 yynewbytes = yystacksize * sizeof (*Stack) + YYSTACK_GAP_MAXIMUM; \ 439 yynewbytes = yystacksize * sizeof (*Stack) + YYSTACK_GAP_MAXIMUM; \
360 yyptr += yynewbytes / sizeof (*yyptr); \ 440 yyptr += yynewbytes / sizeof (*yyptr); \
361 } \ 441 } \
362 while (0) 442 while (YYID (0))
363 443
364#endif 444#endif
365 445
366#if defined (__STDC__) || defined (__cplusplus) 446/* YYFINAL -- State number of the termination state. */
367 typedef signed char yysigned_char;
368#else
369 typedef short int yysigned_char;
370#endif
371
372/* YYFINAL -- State number of the termination state. */
373#define YYFINAL 3 447#define YYFINAL 3
374/* YYLAST -- Last index in YYTABLE. */ 448/* YYLAST -- Last index in YYTABLE. */
375#define YYLAST 275 449#define YYLAST 258
376 450
377/* YYNTOKENS -- Number of terminals. */ 451/* YYNTOKENS -- Number of terminals. */
378#define YYNTOKENS 36 452#define YYNTOKENS 35
379/* YYNNTS -- Number of nonterminals. */ 453/* YYNNTS -- Number of nonterminals. */
380#define YYNNTS 45 454#define YYNNTS 45
381/* YYNRULES -- Number of rules. */ 455/* YYNRULES -- Number of rules. */
382#define YYNRULES 110 456#define YYNRULES 108
383/* YYNRULES -- Number of states. */ 457/* YYNRULES -- Number of states. */
384#define YYNSTATES 183 458#define YYNSTATES 178
385 459
386/* YYTRANSLATE(YYLEX) -- Bison symbol number corresponding to YYLEX. */ 460/* YYTRANSLATE(YYLEX) -- Bison symbol number corresponding to YYLEX. */
387#define YYUNDEFTOK 2 461#define YYUNDEFTOK 2
388#define YYMAXUTOK 290 462#define YYMAXUTOK 289
389 463
390#define YYTRANSLATE(YYX) \ 464#define YYTRANSLATE(YYX) \
391 ((unsigned int) (YYX) <= YYMAXUTOK ? yytranslate[YYX] : YYUNDEFTOK) 465 ((unsigned int) (YYX) <= YYMAXUTOK ? yytranslate[YYX] : YYUNDEFTOK)
392 466
393/* YYTRANSLATE[YYLEX] -- Bison symbol number corresponding to YYLEX. */ 467/* YYTRANSLATE[YYLEX] -- Bison symbol number corresponding to YYLEX. */
394static const unsigned char yytranslate[] = 468static const yytype_uint8 yytranslate[] =
395{ 469{
396 0, 2, 2, 2, 2, 2, 2, 2, 2, 2, 470 0, 2, 2, 2, 2, 2, 2, 2, 2, 2,
397 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 471 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
@@ -421,14 +495,13 @@ static const unsigned char yytranslate[] =
421 2, 2, 2, 2, 2, 2, 1, 2, 3, 4, 495 2, 2, 2, 2, 2, 2, 1, 2, 3, 4,
422 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 496 5, 6, 7, 8, 9, 10, 11, 12, 13, 14,
423 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 497 15, 16, 17, 18, 19, 20, 21, 22, 23, 24,
424 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 498 25, 26, 27, 28, 29, 30, 31, 32, 33, 34
425 35
426}; 499};
427 500
428#if YYDEBUG 501#if YYDEBUG
429/* YYPRHS[YYN] -- Index of the first RHS symbol of rule number YYN in 502/* YYPRHS[YYN] -- Index of the first RHS symbol of rule number YYN in
430 YYRHS. */ 503 YYRHS. */
431static const unsigned short int yyprhs[] = 504static const yytype_uint16 yyprhs[] =
432{ 505{
433 0, 0, 3, 5, 6, 9, 12, 15, 20, 23, 506 0, 0, 3, 5, 6, 9, 12, 15, 20, 23,
434 28, 33, 37, 39, 41, 43, 45, 47, 49, 51, 507 28, 33, 37, 39, 41, 43, 45, 47, 49, 51,
@@ -439,80 +512,77 @@ static const unsigned short int yyprhs[] =
439 178, 181, 186, 187, 190, 194, 196, 200, 201, 204, 512 178, 181, 186, 187, 190, 194, 196, 200, 201, 204,
440 207, 210, 214, 217, 219, 223, 224, 227, 230, 233, 513 207, 210, 214, 217, 219, 223, 224, 227, 230, 233,
441 237, 241, 244, 247, 250, 251, 254, 257, 260, 265, 514 237, 241, 244, 247, 250, 251, 254, 257, 260, 265,
442 269, 273, 274, 277, 279, 281, 284, 287, 290, 292, 515 266, 269, 271, 273, 276, 279, 282, 284, 287, 288,
443 295, 296, 299, 301, 305, 309, 313, 316, 320, 324, 516 291, 293, 297, 301, 305, 308, 312, 316, 318
444 326
445}; 517};
446 518
447/* YYRHS -- A `-1'-separated list of the rules' RHS. */ 519/* YYRHS -- A `-1'-separated list of the rules' RHS. */
448static const yysigned_char yyrhs[] = 520static const yytype_int8 yyrhs[] =
449{ 521{
450 37, 0, -1, 38, -1, -1, 38, 40, -1, 38, 522 36, 0, -1, 37, -1, -1, 37, 39, -1, 37,
451 54, -1, 38, 65, -1, 38, 3, 75, 77, -1, 523 53, -1, 37, 64, -1, 37, 3, 74, 76, -1,
452 38, 76, -1, 38, 26, 1, 31, -1, 38, 39, 524 37, 75, -1, 37, 25, 1, 30, -1, 37, 38,
453 1, 31, -1, 38, 1, 31, -1, 16, -1, 19, 525 1, 30, -1, 37, 1, 30, -1, 16, -1, 18,
454 -1, 20, -1, 22, -1, 18, -1, 23, -1, 21, 526 -1, 19, -1, 21, -1, 17, -1, 22, -1, 20,
455 -1, 31, -1, 60, -1, 69, -1, 43, -1, 45, 527 -1, 30, -1, 59, -1, 68, -1, 42, -1, 44,
456 -1, 67, -1, 26, 1, 31, -1, 1, 31, -1, 528 -1, 66, -1, 25, 1, 30, -1, 1, 30, -1,
457 10, 26, 31, -1, 42, 46, -1, 11, 26, 31, 529 10, 25, 30, -1, 41, 45, -1, 11, 25, 30,
458 -1, 44, 46, -1, -1, 46, 47, -1, 46, 48, 530 -1, 43, 45, -1, -1, 45, 46, -1, 45, 47,
459 -1, 46, 73, -1, 46, 71, -1, 46, 41, -1, 531 -1, 45, 72, -1, 45, 70, -1, 45, 40, -1,
460 46, 31, -1, 20, 74, 31, -1, 19, 75, 78, 532 45, 30, -1, 19, 73, 30, -1, 18, 74, 77,
461 31, -1, 21, 79, 78, 31, -1, 22, 26, 78, 533 30, -1, 20, 78, 77, 30, -1, 21, 25, 77,
462 31, -1, 23, 80, 80, 78, 31, -1, 24, 49, 534 30, -1, 22, 79, 79, 77, 30, -1, 23, 48,
463 31, -1, -1, 49, 26, 50, -1, -1, 34, 75, 535 30, -1, -1, 48, 25, 49, -1, -1, 33, 74,
464 -1, 7, 31, -1, 51, 55, -1, 76, -1, 52, 536 -1, 7, 30, -1, 50, 54, -1, 75, -1, 51,
465 57, 53, -1, -1, 55, 56, -1, 55, 73, -1, 537 56, 52, -1, -1, 54, 55, -1, 54, 72, -1,
466 55, 71, -1, 55, 31, -1, 55, 41, -1, 19, 538 54, 70, -1, 54, 30, -1, 54, 40, -1, 18,
467 75, 78, 31, -1, 20, 74, 31, -1, 18, 31, 539 74, 77, 30, -1, 19, 73, 30, -1, 17, 30,
468 -1, 21, 26, 78, 31, -1, -1, 57, 40, -1, 540 -1, 20, 25, 77, 30, -1, -1, 56, 39, -1,
469 14, 79, 77, -1, 76, -1, 58, 61, 59, -1, 541 14, 78, 76, -1, 75, -1, 57, 60, 58, -1,
470 -1, 61, 40, -1, 61, 65, -1, 61, 54, -1, 542 -1, 60, 39, -1, 60, 64, -1, 60, 53, -1,
471 4, 75, 31, -1, 62, 72, -1, 76, -1, 63, 543 4, 74, 30, -1, 61, 71, -1, 75, -1, 62,
472 66, 64, -1, -1, 66, 40, -1, 66, 65, -1, 544 65, 63, -1, -1, 65, 39, -1, 65, 64, -1,
473 66, 54, -1, 6, 75, 31, -1, 9, 75, 31, 545 65, 53, -1, 6, 74, 30, -1, 9, 74, 30,
474 -1, 68, 72, -1, 12, 31, -1, 70, 13, -1, 546 -1, 67, 71, -1, 12, 30, -1, 69, 13, -1,
475 -1, 72, 73, -1, 72, 31, -1, 72, 41, -1, 547 -1, 71, 72, -1, 71, 30, -1, 71, 40, -1,
476 16, 25, 79, 31, -1, 16, 79, 31, -1, 17, 548 16, 24, 78, 30, -1, -1, 74, 77, -1, 25,
477 79, 31, -1, -1, 75, 78, -1, 26, -1, 27, 549 -1, 26, -1, 5, 30, -1, 8, 30, -1, 15,
478 -1, 5, 31, -1, 8, 31, -1, 15, 31, -1, 550 30, -1, 30, -1, 76, 30, -1, -1, 14, 78,
479 31, -1, 77, 31, -1, -1, 14, 79, -1, 80, 551 -1, 79, -1, 79, 33, 79, -1, 79, 27, 79,
480 -1, 80, 34, 80, -1, 80, 28, 80, -1, 30, 552 -1, 29, 78, 28, -1, 34, 78, -1, 78, 31,
481 79, 29, -1, 35, 79, -1, 79, 32, 79, -1, 553 78, -1, 78, 32, 78, -1, 25, -1, 26, -1
482 79, 33, 79, -1, 26, -1, 27, -1
483}; 554};
484 555
485/* YYRLINE[YYN] -- source line where rule number YYN was defined. */ 556/* YYRLINE[YYN] -- source line where rule number YYN was defined. */
486static const unsigned short int yyrline[] = 557static const yytype_uint16 yyrline[] =
487{ 558{
488 0, 105, 105, 107, 109, 110, 111, 112, 113, 114, 559 0, 104, 104, 106, 108, 109, 110, 111, 112, 113,
489 115, 119, 123, 123, 123, 123, 123, 123, 123, 127, 560 114, 118, 122, 122, 122, 122, 122, 122, 122, 126,
490 128, 129, 130, 131, 132, 136, 137, 143, 151, 157, 561 127, 128, 129, 130, 131, 135, 136, 142, 150, 156,
491 165, 175, 177, 178, 179, 180, 181, 182, 185, 193, 562 164, 174, 176, 177, 178, 179, 180, 181, 184, 192,
492 199, 209, 215, 221, 224, 226, 237, 238, 243, 252, 563 198, 208, 214, 220, 223, 225, 236, 237, 242, 251,
493 257, 265, 268, 270, 271, 272, 273, 274, 277, 283, 564 256, 264, 267, 269, 270, 271, 272, 273, 276, 282,
494 294, 300, 310, 312, 317, 325, 333, 336, 338, 339, 565 293, 299, 309, 311, 316, 324, 332, 335, 337, 338,
495 340, 345, 352, 357, 365, 368, 370, 371, 372, 375, 566 339, 344, 351, 356, 364, 367, 369, 370, 371, 374,
496 383, 390, 397, 403, 410, 412, 413, 414, 417, 422, 567 382, 389, 396, 402, 409, 411, 412, 413, 416, 424,
497 427, 435, 437, 442, 443, 446, 447, 448, 452, 453, 568 426, 431, 432, 435, 436, 437, 441, 442, 445, 446,
498 456, 457, 460, 461, 462, 463, 464, 465, 466, 469, 569 449, 450, 451, 452, 453, 454, 455, 458, 459
499 470
500}; 570};
501#endif 571#endif
502 572
503#if YYDEBUG || YYERROR_VERBOSE || YYTOKEN_TABLE 573#if YYDEBUG || YYERROR_VERBOSE || YYTOKEN_TABLE
504/* YYTNAME[SYMBOL-NUM] -- String name of the symbol SYMBOL-NUM. 574/* YYTNAME[SYMBOL-NUM] -- String name of the symbol SYMBOL-NUM.
505 First, the terminals, then, starting at YYNTOKENS, nonterminals. */ 575 First, the terminals, then, starting at YYNTOKENS, nonterminals. */
506static const char *const yytname[] = 576static const char *const yytname[] =
507{ 577{
508 "$end", "error", "$undefined", "T_MAINMENU", "T_MENU", "T_ENDMENU", 578 "$end", "error", "$undefined", "T_MAINMENU", "T_MENU", "T_ENDMENU",
509 "T_SOURCE", "T_CHOICE", "T_ENDCHOICE", "T_COMMENT", "T_CONFIG", 579 "T_SOURCE", "T_CHOICE", "T_ENDCHOICE", "T_COMMENT", "T_CONFIG",
510 "T_MENUCONFIG", "T_HELP", "T_HELPTEXT", "T_IF", "T_ENDIF", "T_DEPENDS", 580 "T_MENUCONFIG", "T_HELP", "T_HELPTEXT", "T_IF", "T_ENDIF", "T_DEPENDS",
511 "T_REQUIRES", "T_OPTIONAL", "T_PROMPT", "T_TYPE", "T_DEFAULT", 581 "T_OPTIONAL", "T_PROMPT", "T_TYPE", "T_DEFAULT", "T_SELECT", "T_RANGE",
512 "T_SELECT", "T_RANGE", "T_OPTION", "T_ON", "T_WORD", "T_WORD_QUOTE", 582 "T_OPTION", "T_ON", "T_WORD", "T_WORD_QUOTE", "T_UNEQUAL",
513 "T_UNEQUAL", "T_CLOSE_PAREN", "T_OPEN_PAREN", "T_EOL", "T_OR", "T_AND", 583 "T_CLOSE_PAREN", "T_OPEN_PAREN", "T_EOL", "T_OR", "T_AND", "T_EQUAL",
514 "T_EQUAL", "T_NOT", "$accept", "input", "stmt_list", "option_name", 584 "T_NOT", "$accept", "input", "stmt_list", "option_name", "common_stmt",
515 "common_stmt", "option_error", "config_entry_start", "config_stmt", 585 "option_error", "config_entry_start", "config_stmt",
516 "menuconfig_entry_start", "menuconfig_stmt", "config_option_list", 586 "menuconfig_entry_start", "menuconfig_stmt", "config_option_list",
517 "config_option", "symbol_option", "symbol_option_list", 587 "config_option", "symbol_option", "symbol_option_list",
518 "symbol_option_arg", "choice", "choice_entry", "choice_end", 588 "symbol_option_arg", "choice", "choice_entry", "choice_end",
@@ -527,34 +597,33 @@ static const char *const yytname[] =
527# ifdef YYPRINT 597# ifdef YYPRINT
528/* YYTOKNUM[YYLEX-NUM] -- Internal token number corresponding to 598/* YYTOKNUM[YYLEX-NUM] -- Internal token number corresponding to
529 token YYLEX-NUM. */ 599 token YYLEX-NUM. */
530static const unsigned short int yytoknum[] = 600static const yytype_uint16 yytoknum[] =
531{ 601{
532 0, 256, 257, 258, 259, 260, 261, 262, 263, 264, 602 0, 256, 257, 258, 259, 260, 261, 262, 263, 264,
533 265, 266, 267, 268, 269, 270, 271, 272, 273, 274, 603 265, 266, 267, 268, 269, 270, 271, 272, 273, 274,
534 275, 276, 277, 278, 279, 280, 281, 282, 283, 284, 604 275, 276, 277, 278, 279, 280, 281, 282, 283, 284,
535 285, 286, 287, 288, 289, 290 605 285, 286, 287, 288, 289
536}; 606};
537# endif 607# endif
538 608
539/* YYR1[YYN] -- Symbol number of symbol that rule YYN derives. */ 609/* YYR1[YYN] -- Symbol number of symbol that rule YYN derives. */
540static const unsigned char yyr1[] = 610static const yytype_uint8 yyr1[] =
541{ 611{
542 0, 36, 37, 38, 38, 38, 38, 38, 38, 38, 612 0, 35, 36, 37, 37, 37, 37, 37, 37, 37,
543 38, 38, 39, 39, 39, 39, 39, 39, 39, 40, 613 37, 37, 38, 38, 38, 38, 38, 38, 38, 39,
544 40, 40, 40, 40, 40, 41, 41, 42, 43, 44, 614 39, 39, 39, 39, 39, 40, 40, 41, 42, 43,
545 45, 46, 46, 46, 46, 46, 46, 46, 47, 47, 615 44, 45, 45, 45, 45, 45, 45, 45, 46, 46,
546 47, 47, 47, 48, 49, 49, 50, 50, 51, 52, 616 46, 46, 46, 47, 48, 48, 49, 49, 50, 51,
547 53, 54, 55, 55, 55, 55, 55, 55, 56, 56, 617 52, 53, 54, 54, 54, 54, 54, 54, 55, 55,
548 56, 56, 57, 57, 58, 59, 60, 61, 61, 61, 618 55, 55, 56, 56, 57, 58, 59, 60, 60, 60,
549 61, 62, 63, 64, 65, 66, 66, 66, 66, 67, 619 60, 61, 62, 63, 64, 65, 65, 65, 65, 66,
550 68, 69, 70, 71, 72, 72, 72, 72, 73, 73, 620 67, 68, 69, 70, 71, 71, 71, 71, 72, 73,
551 73, 74, 74, 75, 75, 76, 76, 76, 77, 77, 621 73, 74, 74, 75, 75, 75, 76, 76, 77, 77,
552 78, 78, 79, 79, 79, 79, 79, 79, 79, 80, 622 78, 78, 78, 78, 78, 78, 78, 79, 79
553 80
554}; 623};
555 624
556/* YYR2[YYN] -- Number of symbols composing right hand side of rule YYN. */ 625/* YYR2[YYN] -- Number of symbols composing right hand side of rule YYN. */
557static const unsigned char yyr2[] = 626static const yytype_uint8 yyr2[] =
558{ 627{
559 0, 2, 1, 0, 2, 2, 2, 4, 2, 4, 628 0, 2, 1, 0, 2, 2, 2, 4, 2, 4,
560 4, 3, 1, 1, 1, 1, 1, 1, 1, 1, 629 4, 3, 1, 1, 1, 1, 1, 1, 1, 1,
@@ -564,82 +633,79 @@ static const unsigned char yyr2[] =
564 1, 3, 0, 2, 2, 2, 2, 2, 4, 3, 633 1, 3, 0, 2, 2, 2, 2, 2, 4, 3,
565 2, 4, 0, 2, 3, 1, 3, 0, 2, 2, 634 2, 4, 0, 2, 3, 1, 3, 0, 2, 2,
566 2, 3, 2, 1, 3, 0, 2, 2, 2, 3, 635 2, 3, 2, 1, 3, 0, 2, 2, 2, 3,
567 3, 2, 2, 2, 0, 2, 2, 2, 4, 3, 636 3, 2, 2, 2, 0, 2, 2, 2, 4, 0,
568 3, 0, 2, 1, 1, 2, 2, 2, 1, 2, 637 2, 1, 1, 2, 2, 2, 1, 2, 0, 2,
569 0, 2, 1, 3, 3, 3, 2, 3, 3, 1, 638 1, 3, 3, 3, 2, 3, 3, 1, 1
570 1
571}; 639};
572 640
573/* YYDEFACT[STATE-NAME] -- Default rule to reduce with in state 641/* YYDEFACT[STATE-NAME] -- Default rule to reduce with in state
574 STATE-NUM when YYTABLE doesn't specify something else to do. Zero 642 STATE-NUM when YYTABLE doesn't specify something else to do. Zero
575 means the default is an error. */ 643 means the default is an error. */
576static const unsigned char yydefact[] = 644static const yytype_uint8 yydefact[] =
577{ 645{
578 3, 0, 0, 1, 0, 0, 0, 0, 0, 0, 646 3, 0, 0, 1, 0, 0, 0, 0, 0, 0,
579 0, 0, 0, 0, 0, 0, 12, 16, 13, 14, 647 0, 0, 0, 0, 0, 0, 12, 16, 13, 14,
580 18, 15, 17, 0, 19, 0, 4, 31, 22, 31, 648 18, 15, 17, 0, 19, 0, 4, 31, 22, 31,
581 23, 52, 62, 5, 67, 20, 84, 75, 6, 24, 649 23, 52, 62, 5, 67, 20, 84, 75, 6, 24,
582 84, 21, 8, 11, 93, 94, 0, 0, 95, 0, 650 84, 21, 8, 11, 91, 92, 0, 0, 93, 0,
583 48, 96, 0, 0, 0, 109, 110, 0, 0, 0, 651 48, 94, 0, 0, 0, 107, 108, 0, 0, 0,
584 102, 97, 0, 0, 0, 0, 0, 0, 0, 0, 652 100, 95, 0, 0, 0, 0, 0, 0, 0, 0,
585 0, 0, 98, 7, 71, 79, 80, 27, 29, 0, 653 0, 0, 96, 7, 71, 79, 80, 27, 29, 0,
586 106, 0, 0, 64, 0, 0, 9, 10, 0, 0, 654 104, 0, 0, 64, 0, 0, 9, 10, 0, 0,
587 0, 0, 0, 91, 0, 0, 0, 44, 0, 37, 655 0, 0, 89, 0, 0, 0, 44, 0, 37, 36,
588 36, 32, 33, 0, 35, 34, 0, 0, 91, 0, 656 32, 33, 0, 35, 34, 0, 0, 89, 0, 56,
589 56, 57, 53, 55, 54, 63, 51, 50, 68, 70, 657 57, 53, 55, 54, 63, 51, 50, 68, 70, 66,
590 66, 69, 65, 86, 87, 85, 76, 78, 74, 77, 658 69, 65, 86, 87, 85, 76, 78, 74, 77, 73,
591 73, 99, 105, 107, 108, 104, 103, 26, 82, 0, 659 97, 103, 105, 106, 102, 101, 26, 82, 0, 98,
592 0, 0, 100, 0, 100, 100, 100, 0, 0, 0, 660 0, 98, 98, 98, 0, 0, 0, 83, 60, 98,
593 83, 60, 100, 0, 100, 0, 89, 90, 0, 0, 661 0, 98, 0, 0, 0, 38, 90, 0, 0, 98,
594 38, 92, 0, 0, 100, 46, 43, 25, 0, 59, 662 46, 43, 25, 0, 59, 0, 88, 99, 39, 40,
595 0, 88, 101, 39, 40, 41, 0, 0, 45, 58, 663 41, 0, 0, 45, 58, 61, 42, 47
596 61, 42, 47
597}; 664};
598 665
599/* YYDEFGOTO[NTERM-NUM]. */ 666/* YYDEFGOTO[NTERM-NUM]. */
600static const short int yydefgoto[] = 667static const yytype_int16 yydefgoto[] =
601{ 668{
602 -1, 1, 2, 25, 26, 100, 27, 28, 29, 30, 669 -1, 1, 2, 25, 26, 99, 27, 28, 29, 30,
603 64, 101, 102, 148, 178, 31, 32, 116, 33, 66, 670 64, 100, 101, 145, 173, 31, 32, 115, 33, 66,
604 112, 67, 34, 120, 35, 68, 36, 37, 128, 38, 671 111, 67, 34, 119, 35, 68, 36, 37, 127, 38,
605 70, 39, 40, 41, 103, 104, 69, 105, 143, 144, 672 70, 39, 40, 41, 102, 103, 69, 104, 140, 141,
606 42, 73, 159, 59, 60 673 42, 73, 154, 59, 60
607}; 674};
608 675
609/* YYPACT[STATE-NUM] -- Index in YYTABLE of the portion describing 676/* YYPACT[STATE-NUM] -- Index in YYTABLE of the portion describing
610 STATE-NUM. */ 677 STATE-NUM. */
611#define YYPACT_NINF -135 678#define YYPACT_NINF -78
612static const short int yypact[] = 679static const yytype_int16 yypact[] =
613{ 680{
614 -135, 2, 170, -135, -14, 56, 56, -8, 56, 24, 681 -78, 33, 130, -78, -28, 73, 73, 7, 73, 36,
615 67, 56, 7, 14, 62, 97, -135, -135, -135, -135, 682 41, 73, 26, 52, -4, 58, -78, -78, -78, -78,
616 -135, -135, -135, 156, -135, 166, -135, -135, -135, -135, 683 -78, -78, -78, 90, -78, 94, -78, -78, -78, -78,
617 -135, -135, -135, -135, -135, -135, -135, -135, -135, -135, 684 -78, -78, -78, -78, -78, -78, -78, -78, -78, -78,
618 -135, -135, -135, -135, -135, -135, 138, 151, -135, 152, 685 -78, -78, -78, -78, -78, -78, 74, 85, -78, 96,
619 -135, -135, 163, 167, 176, -135, -135, 62, 62, 185, 686 -78, -78, 131, 134, 147, -78, -78, -4, -4, 193,
620 -19, -135, 188, 190, 42, 103, 194, 85, 70, 222, 687 -10, -78, 162, 164, 38, 102, 64, 148, 5, 192,
621 70, 132, -135, 191, -135, -135, -135, -135, -135, 127, 688 5, 165, -78, 174, -78, -78, -78, -78, -78, 65,
622 -135, 62, 62, 191, 104, 104, -135, -135, 193, 203, 689 -78, -4, -4, 174, 103, 103, -78, -78, 175, 185,
623 9, 62, 56, 56, 62, 161, 104, -135, 196, -135, 690 197, 73, 73, -4, 194, 103, -78, 231, -78, -78,
624 -135, -135, -135, 233, -135, -135, 204, 56, 56, 221, 691 -78, -78, 220, -78, -78, 204, 73, 73, 210, -78,
625 -135, -135, -135, -135, -135, -135, -135, -135, -135, -135, 692 -78, -78, -78, -78, -78, -78, -78, -78, -78, -78,
626 -135, -135, -135, -135, -135, -135, -135, -135, -135, -135, 693 -78, -78, -78, -78, -78, -78, -78, -78, -78, -78,
627 -135, -135, -135, 219, -135, -135, -135, -135, -135, 62, 694 -78, -78, 205, -78, -78, -78, -78, -78, -4, 222,
628 209, 212, 240, 224, 240, -1, 240, 104, 41, 225, 695 208, 222, 195, 222, 103, 2, 209, -78, -78, 222,
629 -135, -135, 240, 226, 240, 218, -135, -135, 62, 227, 696 211, 222, 199, -4, 212, -78, -78, 213, 214, 222,
630 -135, -135, 228, 229, 240, 230, -135, -135, 231, -135, 697 207, -78, -78, 215, -78, 216, -78, 111, -78, -78,
631 232, -135, 112, -135, -135, -135, 234, 56, -135, -135, 698 -78, 217, 73, -78, -78, -78, -78, -78
632 -135, -135, -135
633}; 699};
634 700
635/* YYPGOTO[NTERM-NUM]. */ 701/* YYPGOTO[NTERM-NUM]. */
636static const short int yypgoto[] = 702static const yytype_int16 yypgoto[] =
637{ 703{
638 -135, -135, -135, -135, 94, -45, -135, -135, -135, -135, 704 -78, -78, -78, -78, 121, -35, -78, -78, -78, -78,
639 237, -135, -135, -135, -135, -135, -135, -135, -54, -135, 705 219, -78, -78, -78, -78, -78, -78, -78, -44, -78,
640 -135, -135, -135, -135, -135, -135, -135, -135, -135, 1, 706 -78, -78, -78, -78, -78, -78, -78, -78, -78, -6,
641 -135, -135, -135, -135, -135, 195, 235, -44, 159, -5, 707 -78, -78, -78, -78, -78, 183, 218, 21, 143, -5,
642 98, 210, -134, -53, -77 708 146, 196, 69, -53, -77
643}; 709};
644 710
645/* YYTABLE[YYPACT[STATE-NUM]]. What to do in state STATE-NUM. If 711/* YYTABLE[YYPACT[STATE-NUM]]. What to do in state STATE-NUM. If
@@ -647,93 +713,88 @@ static const short int yypgoto[] =
647 number is the opposite. If zero, do what YYDEFACT says. 713 number is the opposite. If zero, do what YYDEFACT says.
648 If YYTABLE_NINF, syntax error. */ 714 If YYTABLE_NINF, syntax error. */
649#define YYTABLE_NINF -82 715#define YYTABLE_NINF -82
650static const short int yytable[] = 716static const yytype_int16 yytable[] =
651{ 717{
652 46, 47, 3, 49, 79, 80, 52, 135, 136, 84, 718 46, 47, 43, 49, 79, 80, 52, 134, 135, 6,
653 161, 162, 163, 158, 119, 85, 127, 43, 168, 147, 719 7, 8, 9, 10, 11, 12, 13, 84, 144, 14,
654 170, 111, 114, 48, 124, 125, 124, 125, 133, 134, 720 15, 55, 56, 85, 118, 57, 126, 160, 132, 133,
655 176, 81, 82, 53, 139, 55, 56, 140, 141, 57, 721 58, 110, 161, 3, 123, 24, 123, 48, -28, 88,
656 54, 145, -28, 88, 58, -28, -28, -28, -28, -28, 722 142, -28, -28, -28, -28, -28, -28, -28, -28, -28,
657 -28, -28, -28, -28, 89, 50, -28, -28, 90, 91, 723 89, 53, -28, -28, 90, -28, 91, 92, 93, 94,
658 -28, 92, 93, 94, 95, 96, 97, 165, 98, 121, 724 95, 96, 120, 97, 128, 88, 50, 159, 98, -49,
659 164, 129, 166, 99, 6, 7, 8, 9, 10, 11, 725 -49, 51, -49, -49, -49, -49, 89, 54, -49, -49,
660 12, 13, 44, 45, 14, 15, 155, 142, 55, 56, 726 90, 105, 106, 107, 108, 152, 139, 113, 61, 97,
661 7, 8, 57, 10, 11, 12, 13, 58, 51, 14, 727 124, 62, 124, 131, 109, 63, 81, 82, 44, 45,
662 15, 24, 152, -30, 88, 172, -30, -30, -30, -30, 728 167, 149, -30, 88, 72, -30, -30, -30, -30, -30,
663 -30, -30, -30, -30, -30, 89, 24, -30, -30, 90, 729 -30, -30, -30, -30, 89, 74, -30, -30, 90, -30,
664 91, -30, 92, 93, 94, 95, 96, 97, 61, 98, 730 91, 92, 93, 94, 95, 96, 75, 97, 55, 56,
665 55, 56, -81, 88, 99, -81, -81, -81, -81, -81, 731 -2, 4, 98, 5, 6, 7, 8, 9, 10, 11,
666 -81, -81, -81, -81, 81, 82, -81, -81, 90, 91, 732 12, 13, 81, 82, 14, 15, 16, 17, 18, 19,
667 -81, -81, -81, -81, -81, -81, 132, 62, 98, 81, 733 20, 21, 22, 7, 8, 23, 10, 11, 12, 13,
668 82, 115, 118, 123, 126, 117, 122, 63, 130, 72, 734 24, 76, 14, 15, 77, -81, 88, 177, -81, -81,
669 -2, 4, 182, 5, 6, 7, 8, 9, 10, 11, 735 -81, -81, -81, -81, -81, -81, -81, 78, 24, -81,
670 12, 13, 74, 75, 14, 15, 16, 146, 17, 18, 736 -81, 90, -81, -81, -81, -81, -81, -81, 114, 117,
671 19, 20, 21, 22, 76, 88, 23, 149, 77, -49, 737 97, 125, 86, 88, 87, 122, -72, -72, -72, -72,
672 -49, 24, -49, -49, -49, -49, 89, 78, -49, -49, 738 -72, -72, -72, -72, 130, 136, -72, -72, 90, 153,
673 90, 91, 106, 107, 108, 109, 72, 81, 82, 86, 739 156, 157, 158, 116, 121, 137, 129, 97, 163, 143,
674 98, 87, 131, 88, 137, 110, -72, -72, -72, -72, 740 165, 138, 122, 72, 81, 82, 81, 82, 171, 166,
675 -72, -72, -72, -72, 138, 151, -72, -72, 90, 91, 741 81, 82, 146, 147, 148, 151, 153, 82, 155, 162,
676 156, 81, 82, 157, 81, 82, 150, 154, 98, 171, 742 172, 164, 168, 169, 170, 174, 175, 176, 65, 112,
677 81, 82, 82, 123, 158, 160, 167, 169, 173, 174, 743 150, 0, 0, 0, 0, 83, 0, 0, 71
678 175, 113, 179, 180, 177, 181, 65, 153, 0, 83,
679 0, 0, 0, 0, 0, 71
680}; 744};
681 745
682static const short int yycheck[] = 746static const yytype_int16 yycheck[] =
683{ 747{
684 5, 6, 0, 8, 57, 58, 11, 84, 85, 28, 748 5, 6, 30, 8, 57, 58, 11, 84, 85, 4,
685 144, 145, 146, 14, 68, 34, 70, 31, 152, 96, 749 5, 6, 7, 8, 9, 10, 11, 27, 95, 14,
686 154, 66, 66, 31, 69, 69, 71, 71, 81, 82, 750 15, 25, 26, 33, 68, 29, 70, 25, 81, 82,
687 164, 32, 33, 26, 25, 26, 27, 90, 91, 30, 751 34, 66, 30, 0, 69, 30, 71, 30, 0, 1,
688 26, 94, 0, 1, 35, 3, 4, 5, 6, 7, 752 93, 3, 4, 5, 6, 7, 8, 9, 10, 11,
689 8, 9, 10, 11, 12, 31, 14, 15, 16, 17, 753 12, 25, 14, 15, 16, 17, 18, 19, 20, 21,
690 18, 19, 20, 21, 22, 23, 24, 26, 26, 68, 754 22, 23, 68, 25, 70, 1, 30, 144, 30, 5,
691 147, 70, 31, 31, 4, 5, 6, 7, 8, 9, 755 6, 30, 8, 9, 10, 11, 12, 25, 14, 15,
692 10, 11, 26, 27, 14, 15, 139, 92, 26, 27, 756 16, 17, 18, 19, 20, 138, 91, 66, 30, 25,
693 5, 6, 30, 8, 9, 10, 11, 35, 31, 14, 757 69, 1, 71, 28, 30, 1, 31, 32, 25, 26,
694 15, 31, 107, 0, 1, 158, 3, 4, 5, 6, 758 153, 106, 0, 1, 30, 3, 4, 5, 6, 7,
695 7, 8, 9, 10, 11, 12, 31, 14, 15, 16, 759 8, 9, 10, 11, 12, 30, 14, 15, 16, 17,
696 17, 18, 19, 20, 21, 22, 23, 24, 31, 26, 760 18, 19, 20, 21, 22, 23, 30, 25, 25, 26,
697 26, 27, 0, 1, 31, 3, 4, 5, 6, 7, 761 0, 1, 30, 3, 4, 5, 6, 7, 8, 9,
698 8, 9, 10, 11, 32, 33, 14, 15, 16, 17, 762 10, 11, 31, 32, 14, 15, 16, 17, 18, 19,
699 18, 19, 20, 21, 22, 23, 29, 1, 26, 32, 763 20, 21, 22, 5, 6, 25, 8, 9, 10, 11,
700 33, 67, 68, 31, 70, 67, 68, 1, 70, 31, 764 30, 30, 14, 15, 30, 0, 1, 172, 3, 4,
701 0, 1, 177, 3, 4, 5, 6, 7, 8, 9, 765 5, 6, 7, 8, 9, 10, 11, 30, 30, 14,
702 10, 11, 31, 31, 14, 15, 16, 26, 18, 19, 766 15, 16, 17, 18, 19, 20, 21, 22, 67, 68,
703 20, 21, 22, 23, 31, 1, 26, 1, 31, 5, 767 25, 70, 30, 1, 30, 30, 4, 5, 6, 7,
704 6, 31, 8, 9, 10, 11, 12, 31, 14, 15, 768 8, 9, 10, 11, 30, 30, 14, 15, 16, 14,
705 16, 17, 18, 19, 20, 21, 31, 32, 33, 31, 769 141, 142, 143, 67, 68, 30, 70, 25, 149, 25,
706 26, 31, 31, 1, 31, 31, 4, 5, 6, 7, 770 151, 24, 30, 30, 31, 32, 31, 32, 159, 30,
707 8, 9, 10, 11, 31, 31, 14, 15, 16, 17, 771 31, 32, 1, 13, 30, 25, 14, 32, 30, 30,
708 31, 32, 33, 31, 32, 33, 13, 26, 26, 31, 772 33, 30, 30, 30, 30, 30, 30, 30, 29, 66,
709 32, 33, 33, 31, 14, 31, 31, 31, 31, 31, 773 107, -1, -1, -1, -1, 59, -1, -1, 40
710 31, 66, 31, 31, 34, 31, 29, 108, -1, 59,
711 -1, -1, -1, -1, -1, 40
712}; 774};
713 775
714/* YYSTOS[STATE-NUM] -- The (internal number of the) accessing 776/* YYSTOS[STATE-NUM] -- The (internal number of the) accessing
715 symbol of state STATE-NUM. */ 777 symbol of state STATE-NUM. */
716static const unsigned char yystos[] = 778static const yytype_uint8 yystos[] =
717{ 779{
718 0, 37, 38, 0, 1, 3, 4, 5, 6, 7, 780 0, 36, 37, 0, 1, 3, 4, 5, 6, 7,
719 8, 9, 10, 11, 14, 15, 16, 18, 19, 20, 781 8, 9, 10, 11, 14, 15, 16, 17, 18, 19,
720 21, 22, 23, 26, 31, 39, 40, 42, 43, 44, 782 20, 21, 22, 25, 30, 38, 39, 41, 42, 43,
721 45, 51, 52, 54, 58, 60, 62, 63, 65, 67, 783 44, 50, 51, 53, 57, 59, 61, 62, 64, 66,
722 68, 69, 76, 31, 26, 27, 75, 75, 31, 75, 784 67, 68, 75, 30, 25, 26, 74, 74, 30, 74,
723 31, 31, 75, 26, 26, 26, 27, 30, 35, 79, 785 30, 30, 74, 25, 25, 25, 26, 29, 34, 78,
724 80, 31, 1, 1, 46, 46, 55, 57, 61, 72, 786 79, 30, 1, 1, 45, 45, 54, 56, 60, 71,
725 66, 72, 31, 77, 31, 31, 31, 31, 31, 79, 787 65, 71, 30, 76, 30, 30, 30, 30, 30, 78,
726 79, 32, 33, 77, 28, 34, 31, 31, 1, 12, 788 78, 31, 32, 76, 27, 33, 30, 30, 1, 12,
727 16, 17, 19, 20, 21, 22, 23, 24, 26, 31, 789 16, 18, 19, 20, 21, 22, 23, 25, 30, 40,
728 41, 47, 48, 70, 71, 73, 18, 19, 20, 21, 790 46, 47, 69, 70, 72, 17, 18, 19, 20, 30,
729 31, 41, 56, 71, 73, 40, 53, 76, 40, 54, 791 40, 55, 70, 72, 39, 52, 75, 39, 53, 58,
730 59, 65, 76, 31, 41, 73, 40, 54, 64, 65, 792 64, 75, 30, 40, 72, 39, 53, 63, 64, 75,
731 76, 31, 29, 79, 79, 80, 80, 31, 31, 25, 793 30, 28, 78, 78, 79, 79, 30, 30, 24, 74,
732 79, 79, 75, 74, 75, 79, 26, 80, 49, 1, 794 73, 74, 78, 25, 79, 48, 1, 13, 30, 74,
733 13, 31, 75, 74, 26, 79, 31, 31, 14, 78, 795 73, 25, 78, 14, 77, 30, 77, 77, 77, 79,
734 31, 78, 78, 78, 80, 26, 31, 31, 78, 31, 796 25, 30, 30, 77, 30, 77, 30, 78, 30, 30,
735 78, 31, 79, 31, 31, 31, 78, 34, 50, 31, 797 30, 77, 33, 49, 30, 30, 30, 74
736 31, 31, 75
737}; 798};
738 799
739#define yyerrok (yyerrstatus = 0) 800#define yyerrok (yyerrstatus = 0)
@@ -761,7 +822,7 @@ do \
761 yychar = (Token); \ 822 yychar = (Token); \
762 yylval = (Value); \ 823 yylval = (Value); \
763 yytoken = YYTRANSLATE (yychar); \ 824 yytoken = YYTRANSLATE (yychar); \
764 YYPOPSTACK; \ 825 YYPOPSTACK (1); \
765 goto yybackup; \ 826 goto yybackup; \
766 } \ 827 } \
767 else \ 828 else \
@@ -769,7 +830,7 @@ do \
769 yyerror (YY_("syntax error: cannot back up")); \ 830 yyerror (YY_("syntax error: cannot back up")); \
770 YYERROR; \ 831 YYERROR; \
771 } \ 832 } \
772while (0) 833while (YYID (0))
773 834
774 835
775#define YYTERROR 1 836#define YYTERROR 1
@@ -784,7 +845,7 @@ while (0)
784#ifndef YYLLOC_DEFAULT 845#ifndef YYLLOC_DEFAULT
785# define YYLLOC_DEFAULT(Current, Rhs, N) \ 846# define YYLLOC_DEFAULT(Current, Rhs, N) \
786 do \ 847 do \
787 if (N) \ 848 if (YYID (N)) \
788 { \ 849 { \
789 (Current).first_line = YYRHSLOC (Rhs, 1).first_line; \ 850 (Current).first_line = YYRHSLOC (Rhs, 1).first_line; \
790 (Current).first_column = YYRHSLOC (Rhs, 1).first_column; \ 851 (Current).first_column = YYRHSLOC (Rhs, 1).first_column; \
@@ -798,7 +859,7 @@ while (0)
798 (Current).first_column = (Current).last_column = \ 859 (Current).first_column = (Current).last_column = \
799 YYRHSLOC (Rhs, 0).last_column; \ 860 YYRHSLOC (Rhs, 0).last_column; \
800 } \ 861 } \
801 while (0) 862 while (YYID (0))
802#endif 863#endif
803 864
804 865
@@ -810,8 +871,8 @@ while (0)
810# if YYLTYPE_IS_TRIVIAL 871# if YYLTYPE_IS_TRIVIAL
811# define YY_LOCATION_PRINT(File, Loc) \ 872# define YY_LOCATION_PRINT(File, Loc) \
812 fprintf (File, "%d.%d-%d.%d", \ 873 fprintf (File, "%d.%d-%d.%d", \
813 (Loc).first_line, (Loc).first_column, \ 874 (Loc).first_line, (Loc).first_column, \
814 (Loc).last_line, (Loc).last_column) 875 (Loc).last_line, (Loc).last_column)
815# else 876# else
816# define YY_LOCATION_PRINT(File, Loc) ((void) 0) 877# define YY_LOCATION_PRINT(File, Loc) ((void) 0)
817# endif 878# endif
@@ -838,36 +899,96 @@ while (0)
838do { \ 899do { \
839 if (yydebug) \ 900 if (yydebug) \
840 YYFPRINTF Args; \ 901 YYFPRINTF Args; \
841} while (0) 902} while (YYID (0))
842 903
843# define YY_SYMBOL_PRINT(Title, Type, Value, Location) \ 904# define YY_SYMBOL_PRINT(Title, Type, Value, Location) \
844do { \ 905do { \
845 if (yydebug) \ 906 if (yydebug) \
846 { \ 907 { \
847 YYFPRINTF (stderr, "%s ", Title); \ 908 YYFPRINTF (stderr, "%s ", Title); \
848 yysymprint (stderr, \ 909 yy_symbol_print (stderr, \
849 Type, Value); \ 910 Type, Value); \
850 YYFPRINTF (stderr, "\n"); \ 911 YYFPRINTF (stderr, "\n"); \
851 } \ 912 } \
852} while (0) 913} while (YYID (0))
914
915
916/*--------------------------------.
917| Print this symbol on YYOUTPUT. |
918`--------------------------------*/
919
920/*ARGSUSED*/
921#if (defined __STDC__ || defined __C99__FUNC__ \
922 || defined __cplusplus || defined _MSC_VER)
923static void
924yy_symbol_value_print (FILE *yyoutput, int yytype, YYSTYPE const * const yyvaluep)
925#else
926static void
927yy_symbol_value_print (yyoutput, yytype, yyvaluep)
928 FILE *yyoutput;
929 int yytype;
930 YYSTYPE const * const yyvaluep;
931#endif
932{
933 if (!yyvaluep)
934 return;
935# ifdef YYPRINT
936 if (yytype < YYNTOKENS)
937 YYPRINT (yyoutput, yytoknum[yytype], *yyvaluep);
938# else
939 YYUSE (yyoutput);
940# endif
941 switch (yytype)
942 {
943 default:
944 break;
945 }
946}
947
948
949/*--------------------------------.
950| Print this symbol on YYOUTPUT. |
951`--------------------------------*/
952
953#if (defined __STDC__ || defined __C99__FUNC__ \
954 || defined __cplusplus || defined _MSC_VER)
955static void
956yy_symbol_print (FILE *yyoutput, int yytype, YYSTYPE const * const yyvaluep)
957#else
958static void
959yy_symbol_print (yyoutput, yytype, yyvaluep)
960 FILE *yyoutput;
961 int yytype;
962 YYSTYPE const * const yyvaluep;
963#endif
964{
965 if (yytype < YYNTOKENS)
966 YYFPRINTF (yyoutput, "token %s (", yytname[yytype]);
967 else
968 YYFPRINTF (yyoutput, "nterm %s (", yytname[yytype]);
969
970 yy_symbol_value_print (yyoutput, yytype, yyvaluep);
971 YYFPRINTF (yyoutput, ")");
972}
853 973
854/*------------------------------------------------------------------. 974/*------------------------------------------------------------------.
855| yy_stack_print -- Print the state stack from its BOTTOM up to its | 975| yy_stack_print -- Print the state stack from its BOTTOM up to its |
856| TOP (included). | 976| TOP (included). |
857`------------------------------------------------------------------*/ 977`------------------------------------------------------------------*/
858 978
859#if defined (__STDC__) || defined (__cplusplus) 979#if (defined __STDC__ || defined __C99__FUNC__ \
980 || defined __cplusplus || defined _MSC_VER)
860static void 981static void
861yy_stack_print (short int *bottom, short int *top) 982yy_stack_print (yytype_int16 *bottom, yytype_int16 *top)
862#else 983#else
863static void 984static void
864yy_stack_print (bottom, top) 985yy_stack_print (bottom, top)
865 short int *bottom; 986 yytype_int16 *bottom;
866 short int *top; 987 yytype_int16 *top;
867#endif 988#endif
868{ 989{
869 YYFPRINTF (stderr, "Stack now"); 990 YYFPRINTF (stderr, "Stack now");
870 for (/* Nothing. */; bottom <= top; ++bottom) 991 for (; bottom <= top; ++bottom)
871 YYFPRINTF (stderr, " %d", *bottom); 992 YYFPRINTF (stderr, " %d", *bottom);
872 YYFPRINTF (stderr, "\n"); 993 YYFPRINTF (stderr, "\n");
873} 994}
@@ -876,37 +997,45 @@ yy_stack_print (bottom, top)
876do { \ 997do { \
877 if (yydebug) \ 998 if (yydebug) \
878 yy_stack_print ((Bottom), (Top)); \ 999 yy_stack_print ((Bottom), (Top)); \
879} while (0) 1000} while (YYID (0))
880 1001
881 1002
882/*------------------------------------------------. 1003/*------------------------------------------------.
883| Report that the YYRULE is going to be reduced. | 1004| Report that the YYRULE is going to be reduced. |
884`------------------------------------------------*/ 1005`------------------------------------------------*/
885 1006
886#if defined (__STDC__) || defined (__cplusplus) 1007#if (defined __STDC__ || defined __C99__FUNC__ \
1008 || defined __cplusplus || defined _MSC_VER)
887static void 1009static void
888yy_reduce_print (int yyrule) 1010yy_reduce_print (YYSTYPE *yyvsp, int yyrule)
889#else 1011#else
890static void 1012static void
891yy_reduce_print (yyrule) 1013yy_reduce_print (yyvsp, yyrule)
1014 YYSTYPE *yyvsp;
892 int yyrule; 1015 int yyrule;
893#endif 1016#endif
894{ 1017{
1018 int yynrhs = yyr2[yyrule];
895 int yyi; 1019 int yyi;
896 unsigned long int yylno = yyrline[yyrule]; 1020 unsigned long int yylno = yyrline[yyrule];
897 YYFPRINTF (stderr, "Reducing stack by rule %d (line %lu), ", 1021 YYFPRINTF (stderr, "Reducing stack by rule %d (line %lu):\n",
898 yyrule - 1, yylno); 1022 yyrule - 1, yylno);
899 /* Print the symbols being reduced, and their result. */ 1023 /* The symbols being reduced. */
900 for (yyi = yyprhs[yyrule]; 0 <= yyrhs[yyi]; yyi++) 1024 for (yyi = 0; yyi < yynrhs; yyi++)
901 YYFPRINTF (stderr, "%s ", yytname[yyrhs[yyi]]); 1025 {
902 YYFPRINTF (stderr, "-> %s\n", yytname[yyr1[yyrule]]); 1026 fprintf (stderr, " $%d = ", yyi + 1);
1027 yy_symbol_print (stderr, yyrhs[yyprhs[yyrule] + yyi],
1028 &(yyvsp[(yyi + 1) - (yynrhs)])
1029 );
1030 fprintf (stderr, "\n");
1031 }
903} 1032}
904 1033
905# define YY_REDUCE_PRINT(Rule) \ 1034# define YY_REDUCE_PRINT(Rule) \
906do { \ 1035do { \
907 if (yydebug) \ 1036 if (yydebug) \
908 yy_reduce_print (Rule); \ 1037 yy_reduce_print (yyvsp, Rule); \
909} while (0) 1038} while (YYID (0))
910 1039
911/* Nonzero means print parse trace. It is left uninitialized so that 1040/* Nonzero means print parse trace. It is left uninitialized so that
912 multiple parsers can coexist. */ 1041 multiple parsers can coexist. */
@@ -940,42 +1069,44 @@ int yydebug;
940#if YYERROR_VERBOSE 1069#if YYERROR_VERBOSE
941 1070
942# ifndef yystrlen 1071# ifndef yystrlen
943# if defined (__GLIBC__) && defined (_STRING_H) 1072# if defined __GLIBC__ && defined _STRING_H
944# define yystrlen strlen 1073# define yystrlen strlen
945# else 1074# else
946/* Return the length of YYSTR. */ 1075/* Return the length of YYSTR. */
1076#if (defined __STDC__ || defined __C99__FUNC__ \
1077 || defined __cplusplus || defined _MSC_VER)
947static YYSIZE_T 1078static YYSIZE_T
948# if defined (__STDC__) || defined (__cplusplus)
949yystrlen (const char *yystr) 1079yystrlen (const char *yystr)
950# else 1080#else
1081static YYSIZE_T
951yystrlen (yystr) 1082yystrlen (yystr)
952 const char *yystr; 1083 const char *yystr;
953# endif 1084#endif
954{ 1085{
955 const char *yys = yystr; 1086 YYSIZE_T yylen;
956 1087 for (yylen = 0; yystr[yylen]; yylen++)
957 while (*yys++ != '\0')
958 continue; 1088 continue;
959 1089 return yylen;
960 return yys - yystr - 1;
961} 1090}
962# endif 1091# endif
963# endif 1092# endif
964 1093
965# ifndef yystpcpy 1094# ifndef yystpcpy
966# if defined (__GLIBC__) && defined (_STRING_H) && defined (_GNU_SOURCE) 1095# if defined __GLIBC__ && defined _STRING_H && defined _GNU_SOURCE
967# define yystpcpy stpcpy 1096# define yystpcpy stpcpy
968# else 1097# else
969/* Copy YYSRC to YYDEST, returning the address of the terminating '\0' in 1098/* Copy YYSRC to YYDEST, returning the address of the terminating '\0' in
970 YYDEST. */ 1099 YYDEST. */
1100#if (defined __STDC__ || defined __C99__FUNC__ \
1101 || defined __cplusplus || defined _MSC_VER)
971static char * 1102static char *
972# if defined (__STDC__) || defined (__cplusplus)
973yystpcpy (char *yydest, const char *yysrc) 1103yystpcpy (char *yydest, const char *yysrc)
974# else 1104#else
1105static char *
975yystpcpy (yydest, yysrc) 1106yystpcpy (yydest, yysrc)
976 char *yydest; 1107 char *yydest;
977 const char *yysrc; 1108 const char *yysrc;
978# endif 1109#endif
979{ 1110{
980 char *yyd = yydest; 1111 char *yyd = yydest;
981 const char *yys = yysrc; 1112 const char *yys = yysrc;
@@ -1001,7 +1132,7 @@ yytnamerr (char *yyres, const char *yystr)
1001{ 1132{
1002 if (*yystr == '"') 1133 if (*yystr == '"')
1003 { 1134 {
1004 size_t yyn = 0; 1135 YYSIZE_T yyn = 0;
1005 char const *yyp = yystr; 1136 char const *yyp = yystr;
1006 1137
1007 for (;;) 1138 for (;;)
@@ -1036,53 +1167,123 @@ yytnamerr (char *yyres, const char *yystr)
1036} 1167}
1037# endif 1168# endif
1038 1169
1039#endif /* YYERROR_VERBOSE */ 1170/* Copy into YYRESULT an error message about the unexpected token
1040 1171 YYCHAR while in state YYSTATE. Return the number of bytes copied,
1041 1172 including the terminating null byte. If YYRESULT is null, do not
1042 1173 copy anything; just return the number of bytes that would be
1043#if YYDEBUG 1174 copied. As a special case, return 0 if an ordinary "syntax error"
1044/*--------------------------------. 1175 message will do. Return YYSIZE_MAXIMUM if overflow occurs during
1045| Print this symbol on YYOUTPUT. | 1176 size calculation. */
1046`--------------------------------*/ 1177static YYSIZE_T
1047 1178yysyntax_error (char *yyresult, int yystate, int yychar)
1048#if defined (__STDC__) || defined (__cplusplus)
1049static void
1050yysymprint (FILE *yyoutput, int yytype, YYSTYPE *yyvaluep)
1051#else
1052static void
1053yysymprint (yyoutput, yytype, yyvaluep)
1054 FILE *yyoutput;
1055 int yytype;
1056 YYSTYPE *yyvaluep;
1057#endif
1058{ 1179{
1059 /* Pacify ``unused variable'' warnings. */ 1180 int yyn = yypact[yystate];
1060 (void) yyvaluep;
1061 1181
1062 if (yytype < YYNTOKENS) 1182 if (! (YYPACT_NINF < yyn && yyn <= YYLAST))
1063 YYFPRINTF (yyoutput, "token %s (", yytname[yytype]); 1183 return 0;
1064 else 1184 else
1065 YYFPRINTF (yyoutput, "nterm %s (", yytname[yytype]); 1185 {
1186 int yytype = YYTRANSLATE (yychar);
1187 YYSIZE_T yysize0 = yytnamerr (0, yytname[yytype]);
1188 YYSIZE_T yysize = yysize0;
1189 YYSIZE_T yysize1;
1190 int yysize_overflow = 0;
1191 enum { YYERROR_VERBOSE_ARGS_MAXIMUM = 5 };
1192 char const *yyarg[YYERROR_VERBOSE_ARGS_MAXIMUM];
1193 int yyx;
1194
1195# if 0
1196 /* This is so xgettext sees the translatable formats that are
1197 constructed on the fly. */
1198 YY_("syntax error, unexpected %s");
1199 YY_("syntax error, unexpected %s, expecting %s");
1200 YY_("syntax error, unexpected %s, expecting %s or %s");
1201 YY_("syntax error, unexpected %s, expecting %s or %s or %s");
1202 YY_("syntax error, unexpected %s, expecting %s or %s or %s or %s");
1203# endif
1204 char *yyfmt;
1205 char const *yyf;
1206 static char const yyunexpected[] = "syntax error, unexpected %s";
1207 static char const yyexpecting[] = ", expecting %s";
1208 static char const yyor[] = " or %s";
1209 char yyformat[sizeof yyunexpected
1210 + sizeof yyexpecting - 1
1211 + ((YYERROR_VERBOSE_ARGS_MAXIMUM - 2)
1212 * (sizeof yyor - 1))];
1213 char const *yyprefix = yyexpecting;
1214
1215 /* Start YYX at -YYN if negative to avoid negative indexes in
1216 YYCHECK. */
1217 int yyxbegin = yyn < 0 ? -yyn : 0;
1218
1219 /* Stay within bounds of both yycheck and yytname. */
1220 int yychecklim = YYLAST - yyn + 1;
1221 int yyxend = yychecklim < YYNTOKENS ? yychecklim : YYNTOKENS;
1222 int yycount = 1;
1223
1224 yyarg[0] = yytname[yytype];
1225 yyfmt = yystpcpy (yyformat, yyunexpected);
1226
1227 for (yyx = yyxbegin; yyx < yyxend; ++yyx)
1228 if (yycheck[yyx + yyn] == yyx && yyx != YYTERROR)
1229 {
1230 if (yycount == YYERROR_VERBOSE_ARGS_MAXIMUM)
1231 {
1232 yycount = 1;
1233 yysize = yysize0;
1234 yyformat[sizeof yyunexpected - 1] = '\0';
1235 break;
1236 }
1237 yyarg[yycount++] = yytname[yyx];
1238 yysize1 = yysize + yytnamerr (0, yytname[yyx]);
1239 yysize_overflow |= (yysize1 < yysize);
1240 yysize = yysize1;
1241 yyfmt = yystpcpy (yyfmt, yyprefix);
1242 yyprefix = yyor;
1243 }
1066 1244
1245 yyf = YY_(yyformat);
1246 yysize1 = yysize + yystrlen (yyf);
1247 yysize_overflow |= (yysize1 < yysize);
1248 yysize = yysize1;
1067 1249
1068# ifdef YYPRINT 1250 if (yysize_overflow)
1069 if (yytype < YYNTOKENS) 1251 return YYSIZE_MAXIMUM;
1070 YYPRINT (yyoutput, yytoknum[yytype], *yyvaluep); 1252
1071# endif 1253 if (yyresult)
1072 switch (yytype) 1254 {
1073 { 1255 /* Avoid sprintf, as that infringes on the user's name space.
1074 default: 1256 Don't have undefined behavior even if the translation
1075 break; 1257 produced a string with the wrong number of "%s"s. */
1258 char *yyp = yyresult;
1259 int yyi = 0;
1260 while ((*yyp = *yyf) != '\0')
1261 {
1262 if (*yyp == '%' && yyf[1] == 's' && yyi < yycount)
1263 {
1264 yyp += yytnamerr (yyp, yyarg[yyi++]);
1265 yyf += 2;
1266 }
1267 else
1268 {
1269 yyp++;
1270 yyf++;
1271 }
1272 }
1273 }
1274 return yysize;
1076 } 1275 }
1077 YYFPRINTF (yyoutput, ")");
1078} 1276}
1277#endif /* YYERROR_VERBOSE */
1278
1079 1279
1080#endif /* ! YYDEBUG */
1081/*-----------------------------------------------. 1280/*-----------------------------------------------.
1082| Release the memory associated to this symbol. | 1281| Release the memory associated to this symbol. |
1083`-----------------------------------------------*/ 1282`-----------------------------------------------*/
1084 1283
1085#if defined (__STDC__) || defined (__cplusplus) 1284/*ARGSUSED*/
1285#if (defined __STDC__ || defined __C99__FUNC__ \
1286 || defined __cplusplus || defined _MSC_VER)
1086static void 1287static void
1087yydestruct (const char *yymsg, int yytype, YYSTYPE *yyvaluep) 1288yydestruct (const char *yymsg, int yytype, YYSTYPE *yyvaluep)
1088#else 1289#else
@@ -1093,8 +1294,7 @@ yydestruct (yymsg, yytype, yyvaluep)
1093 YYSTYPE *yyvaluep; 1294 YYSTYPE *yyvaluep;
1094#endif 1295#endif
1095{ 1296{
1096 /* Pacify ``unused variable'' warnings. */ 1297 YYUSE (yyvaluep);
1097 (void) yyvaluep;
1098 1298
1099 if (!yymsg) 1299 if (!yymsg)
1100 yymsg = "Deleting"; 1300 yymsg = "Deleting";
@@ -1102,39 +1302,39 @@ yydestruct (yymsg, yytype, yyvaluep)
1102 1302
1103 switch (yytype) 1303 switch (yytype)
1104 { 1304 {
1105 case 52: /* "choice_entry" */ 1305 case 51: /* "choice_entry" */
1106 1306
1107 { 1307 {
1108 fprintf(stderr, "%s:%d: missing end statement for this entry\n", 1308 fprintf(stderr, "%s:%d: missing end statement for this entry\n",
1109 (yyvaluep->menu)->file->name, (yyvaluep->menu)->lineno); 1309 (yyvaluep->menu)->file->name, (yyvaluep->menu)->lineno);
1110 if (current_menu == (yyvaluep->menu)) 1310 if (current_menu == (yyvaluep->menu))
1111 menu_end_menu(); 1311 menu_end_menu();
1112}; 1312};
1113 1313
1114 break; 1314 break;
1115 case 58: /* "if_entry" */ 1315 case 57: /* "if_entry" */
1116 1316
1117 { 1317 {
1118 fprintf(stderr, "%s:%d: missing end statement for this entry\n", 1318 fprintf(stderr, "%s:%d: missing end statement for this entry\n",
1119 (yyvaluep->menu)->file->name, (yyvaluep->menu)->lineno); 1319 (yyvaluep->menu)->file->name, (yyvaluep->menu)->lineno);
1120 if (current_menu == (yyvaluep->menu)) 1320 if (current_menu == (yyvaluep->menu))
1121 menu_end_menu(); 1321 menu_end_menu();
1122}; 1322};
1123 1323
1124 break; 1324 break;
1125 case 63: /* "menu_entry" */ 1325 case 62: /* "menu_entry" */
1126 1326
1127 { 1327 {
1128 fprintf(stderr, "%s:%d: missing end statement for this entry\n", 1328 fprintf(stderr, "%s:%d: missing end statement for this entry\n",
1129 (yyvaluep->menu)->file->name, (yyvaluep->menu)->lineno); 1329 (yyvaluep->menu)->file->name, (yyvaluep->menu)->lineno);
1130 if (current_menu == (yyvaluep->menu)) 1330 if (current_menu == (yyvaluep->menu))
1131 menu_end_menu(); 1331 menu_end_menu();
1132}; 1332};
1133 1333
1134 break; 1334 break;
1135 1335
1136 default: 1336 default:
1137 break; 1337 break;
1138 } 1338 }
1139} 1339}
1140 1340
@@ -1142,13 +1342,13 @@ yydestruct (yymsg, yytype, yyvaluep)
1142/* Prevent warnings from -Wmissing-prototypes. */ 1342/* Prevent warnings from -Wmissing-prototypes. */
1143 1343
1144#ifdef YYPARSE_PARAM 1344#ifdef YYPARSE_PARAM
1145# if defined (__STDC__) || defined (__cplusplus) 1345#if defined __STDC__ || defined __cplusplus
1146int yyparse (void *YYPARSE_PARAM); 1346int yyparse (void *YYPARSE_PARAM);
1147# else 1347#else
1148int yyparse (); 1348int yyparse ();
1149# endif 1349#endif
1150#else /* ! YYPARSE_PARAM */ 1350#else /* ! YYPARSE_PARAM */
1151#if defined (__STDC__) || defined (__cplusplus) 1351#if defined __STDC__ || defined __cplusplus
1152int yyparse (void); 1352int yyparse (void);
1153#else 1353#else
1154int yyparse (); 1354int yyparse ();
@@ -1173,20 +1373,24 @@ int yynerrs;
1173`----------*/ 1373`----------*/
1174 1374
1175#ifdef YYPARSE_PARAM 1375#ifdef YYPARSE_PARAM
1176# if defined (__STDC__) || defined (__cplusplus) 1376#if (defined __STDC__ || defined __C99__FUNC__ \
1177int yyparse (void *YYPARSE_PARAM) 1377 || defined __cplusplus || defined _MSC_VER)
1178# else 1378int
1179int yyparse (YYPARSE_PARAM) 1379yyparse (void *YYPARSE_PARAM)
1180 void *YYPARSE_PARAM; 1380#else
1181# endif 1381int
1382yyparse (YYPARSE_PARAM)
1383 void *YYPARSE_PARAM;
1384#endif
1182#else /* ! YYPARSE_PARAM */ 1385#else /* ! YYPARSE_PARAM */
1183#if defined (__STDC__) || defined (__cplusplus) 1386#if (defined __STDC__ || defined __C99__FUNC__ \
1387 || defined __cplusplus || defined _MSC_VER)
1184int 1388int
1185yyparse (void) 1389yyparse (void)
1186#else 1390#else
1187int 1391int
1188yyparse () 1392yyparse ()
1189 ; 1393
1190#endif 1394#endif
1191#endif 1395#endif
1192{ 1396{
@@ -1198,6 +1402,12 @@ yyparse ()
1198 int yyerrstatus; 1402 int yyerrstatus;
1199 /* Look-ahead token as an internal (translated) token number. */ 1403 /* Look-ahead token as an internal (translated) token number. */
1200 int yytoken = 0; 1404 int yytoken = 0;
1405#if YYERROR_VERBOSE
1406 /* Buffer for error messages, and its allocated size. */
1407 char yymsgbuf[128];
1408 char *yymsg = yymsgbuf;
1409 YYSIZE_T yymsg_alloc = sizeof yymsgbuf;
1410#endif
1201 1411
1202 /* Three stacks and their tools: 1412 /* Three stacks and their tools:
1203 `yyss': related to states, 1413 `yyss': related to states,
@@ -1208,9 +1418,9 @@ yyparse ()
1208 to reallocate them elsewhere. */ 1418 to reallocate them elsewhere. */
1209 1419
1210 /* The state stack. */ 1420 /* The state stack. */
1211 short int yyssa[YYINITDEPTH]; 1421 yytype_int16 yyssa[YYINITDEPTH];
1212 short int *yyss = yyssa; 1422 yytype_int16 *yyss = yyssa;
1213 short int *yyssp; 1423 yytype_int16 *yyssp;
1214 1424
1215 /* The semantic value stack. */ 1425 /* The semantic value stack. */
1216 YYSTYPE yyvsa[YYINITDEPTH]; 1426 YYSTYPE yyvsa[YYINITDEPTH];
@@ -1219,7 +1429,7 @@ yyparse ()
1219 1429
1220 1430
1221 1431
1222#define YYPOPSTACK (yyvsp--, yyssp--) 1432#define YYPOPSTACK(N) (yyvsp -= (N), yyssp -= (N))
1223 1433
1224 YYSIZE_T yystacksize = YYINITDEPTH; 1434 YYSIZE_T yystacksize = YYINITDEPTH;
1225 1435
@@ -1228,9 +1438,9 @@ yyparse ()
1228 YYSTYPE yyval; 1438 YYSTYPE yyval;
1229 1439
1230 1440
1231 /* When reducing, the number of symbols on the RHS of the reduced 1441 /* The number of symbols on the RHS of the reduced rule.
1232 rule. */ 1442 Keep to zero when no symbol should be popped. */
1233 int yylen; 1443 int yylen = 0;
1234 1444
1235 YYDPRINTF ((stderr, "Starting parse\n")); 1445 YYDPRINTF ((stderr, "Starting parse\n"));
1236 1446
@@ -1254,8 +1464,7 @@ yyparse ()
1254`------------------------------------------------------------*/ 1464`------------------------------------------------------------*/
1255 yynewstate: 1465 yynewstate:
1256 /* In all cases, when you get here, the value and location stacks 1466 /* In all cases, when you get here, the value and location stacks
1257 have just been pushed. so pushing a state here evens the stacks. 1467 have just been pushed. So pushing a state here evens the stacks. */
1258 */
1259 yyssp++; 1468 yyssp++;
1260 1469
1261 yysetstate: 1470 yysetstate:
@@ -1268,11 +1477,11 @@ yyparse ()
1268 1477
1269#ifdef yyoverflow 1478#ifdef yyoverflow
1270 { 1479 {
1271 /* Give user a chance to reallocate the stack. Use copies of 1480 /* Give user a chance to reallocate the stack. Use copies of
1272 these so that the &'s don't force the real ones into 1481 these so that the &'s don't force the real ones into
1273 memory. */ 1482 memory. */
1274 YYSTYPE *yyvs1 = yyvs; 1483 YYSTYPE *yyvs1 = yyvs;
1275 short int *yyss1 = yyss; 1484 yytype_int16 *yyss1 = yyss;
1276 1485
1277 1486
1278 /* Each stack pointer address is followed by the size of the 1487 /* Each stack pointer address is followed by the size of the
@@ -1300,7 +1509,7 @@ yyparse ()
1300 yystacksize = YYMAXDEPTH; 1509 yystacksize = YYMAXDEPTH;
1301 1510
1302 { 1511 {
1303 short int *yyss1 = yyss; 1512 yytype_int16 *yyss1 = yyss;
1304 union yyalloc *yyptr = 1513 union yyalloc *yyptr =
1305 (union yyalloc *) YYSTACK_ALLOC (YYSTACK_BYTES (yystacksize)); 1514 (union yyalloc *) YYSTACK_ALLOC (YYSTACK_BYTES (yystacksize));
1306 if (! yyptr) 1515 if (! yyptr)
@@ -1335,12 +1544,10 @@ yyparse ()
1335`-----------*/ 1544`-----------*/
1336yybackup: 1545yybackup:
1337 1546
1338/* Do appropriate processing given the current state. */ 1547 /* Do appropriate processing given the current state. Read a
1339/* Read a look-ahead token if we need one and don't already have one. */ 1548 look-ahead token if we need one and don't already have one. */
1340/* yyresume: */
1341 1549
1342 /* First try to decide what to do without reference to look-ahead token. */ 1550 /* First try to decide what to do without reference to look-ahead token. */
1343
1344 yyn = yypact[yystate]; 1551 yyn = yypact[yystate];
1345 if (yyn == YYPACT_NINF) 1552 if (yyn == YYPACT_NINF)
1346 goto yydefault; 1553 goto yydefault;
@@ -1382,22 +1589,21 @@ yybackup:
1382 if (yyn == YYFINAL) 1589 if (yyn == YYFINAL)
1383 YYACCEPT; 1590 YYACCEPT;
1384 1591
1592 /* Count tokens shifted since error; after three, turn off error
1593 status. */
1594 if (yyerrstatus)
1595 yyerrstatus--;
1596
1385 /* Shift the look-ahead token. */ 1597 /* Shift the look-ahead token. */
1386 YY_SYMBOL_PRINT ("Shifting", yytoken, &yylval, &yylloc); 1598 YY_SYMBOL_PRINT ("Shifting", yytoken, &yylval, &yylloc);
1387 1599
1388 /* Discard the token being shifted unless it is eof. */ 1600 /* Discard the shifted token unless it is eof. */
1389 if (yychar != YYEOF) 1601 if (yychar != YYEOF)
1390 yychar = YYEMPTY; 1602 yychar = YYEMPTY;
1391 1603
1604 yystate = yyn;
1392 *++yyvsp = yylval; 1605 *++yyvsp = yylval;
1393 1606
1394
1395 /* Count tokens shifted since error; after three, turn off error
1396 status. */
1397 if (yyerrstatus)
1398 yyerrstatus--;
1399
1400 yystate = yyn;
1401 goto yynewstate; 1607 goto yynewstate;
1402 1608
1403 1609
@@ -1439,13 +1645,13 @@ yyreduce:
1439 1645
1440 case 9: 1646 case 9:
1441 1647
1442 { zconf_error("unknown statement \"%s\"", (yyvsp[-2].string)); ;} 1648 { zconf_error("unknown statement \"%s\"", (yyvsp[(2) - (4)].string)); ;}
1443 break; 1649 break;
1444 1650
1445 case 10: 1651 case 10:
1446 1652
1447 { 1653 {
1448 zconf_error("unexpected option \"%s\"", kconf_id_strings + (yyvsp[-2].id)->name); 1654 zconf_error("unexpected option \"%s\"", kconf_id_strings + (yyvsp[(2) - (4)].id)->name);
1449;} 1655;}
1450 break; 1656 break;
1451 1657
@@ -1456,7 +1662,7 @@ yyreduce:
1456 1662
1457 case 25: 1663 case 25:
1458 1664
1459 { zconf_error("unknown option \"%s\"", (yyvsp[-2].string)); ;} 1665 { zconf_error("unknown option \"%s\"", (yyvsp[(1) - (3)].string)); ;}
1460 break; 1666 break;
1461 1667
1462 case 26: 1668 case 26:
@@ -1467,10 +1673,10 @@ yyreduce:
1467 case 27: 1673 case 27:
1468 1674
1469 { 1675 {
1470 struct symbol *sym = sym_lookup((yyvsp[-1].string), 0); 1676 struct symbol *sym = sym_lookup((yyvsp[(2) - (3)].string), 0);
1471 sym->flags |= SYMBOL_OPTIONAL; 1677 sym->flags |= SYMBOL_OPTIONAL;
1472 menu_add_entry(sym); 1678 menu_add_entry(sym);
1473 printd(DEBUG_PARSE, "%s:%d:config %s\n", zconf_curname(), zconf_lineno(), (yyvsp[-1].string)); 1679 printd(DEBUG_PARSE, "%s:%d:config %s\n", zconf_curname(), zconf_lineno(), (yyvsp[(2) - (3)].string));
1474;} 1680;}
1475 break; 1681 break;
1476 1682
@@ -1485,10 +1691,10 @@ yyreduce:
1485 case 29: 1691 case 29:
1486 1692
1487 { 1693 {
1488 struct symbol *sym = sym_lookup((yyvsp[-1].string), 0); 1694 struct symbol *sym = sym_lookup((yyvsp[(2) - (3)].string), 0);
1489 sym->flags |= SYMBOL_OPTIONAL; 1695 sym->flags |= SYMBOL_OPTIONAL;
1490 menu_add_entry(sym); 1696 menu_add_entry(sym);
1491 printd(DEBUG_PARSE, "%s:%d:menuconfig %s\n", zconf_curname(), zconf_lineno(), (yyvsp[-1].string)); 1697 printd(DEBUG_PARSE, "%s:%d:menuconfig %s\n", zconf_curname(), zconf_lineno(), (yyvsp[(2) - (3)].string));
1492;} 1698;}
1493 break; 1699 break;
1494 1700
@@ -1507,17 +1713,17 @@ yyreduce:
1507 case 38: 1713 case 38:
1508 1714
1509 { 1715 {
1510 menu_set_type((yyvsp[-2].id)->stype); 1716 menu_set_type((yyvsp[(1) - (3)].id)->stype);
1511 printd(DEBUG_PARSE, "%s:%d:type(%u)\n", 1717 printd(DEBUG_PARSE, "%s:%d:type(%u)\n",
1512 zconf_curname(), zconf_lineno(), 1718 zconf_curname(), zconf_lineno(),
1513 (yyvsp[-2].id)->stype); 1719 (yyvsp[(1) - (3)].id)->stype);
1514;} 1720;}
1515 break; 1721 break;
1516 1722
1517 case 39: 1723 case 39:
1518 1724
1519 { 1725 {
1520 menu_add_prompt(P_PROMPT, (yyvsp[-2].string), (yyvsp[-1].expr)); 1726 menu_add_prompt(P_PROMPT, (yyvsp[(2) - (4)].string), (yyvsp[(3) - (4)].expr));
1521 printd(DEBUG_PARSE, "%s:%d:prompt\n", zconf_curname(), zconf_lineno()); 1727 printd(DEBUG_PARSE, "%s:%d:prompt\n", zconf_curname(), zconf_lineno());
1522;} 1728;}
1523 break; 1729 break;
@@ -1525,19 +1731,19 @@ yyreduce:
1525 case 40: 1731 case 40:
1526 1732
1527 { 1733 {
1528 menu_add_expr(P_DEFAULT, (yyvsp[-2].expr), (yyvsp[-1].expr)); 1734 menu_add_expr(P_DEFAULT, (yyvsp[(2) - (4)].expr), (yyvsp[(3) - (4)].expr));
1529 if ((yyvsp[-3].id)->stype != S_UNKNOWN) 1735 if ((yyvsp[(1) - (4)].id)->stype != S_UNKNOWN)
1530 menu_set_type((yyvsp[-3].id)->stype); 1736 menu_set_type((yyvsp[(1) - (4)].id)->stype);
1531 printd(DEBUG_PARSE, "%s:%d:default(%u)\n", 1737 printd(DEBUG_PARSE, "%s:%d:default(%u)\n",
1532 zconf_curname(), zconf_lineno(), 1738 zconf_curname(), zconf_lineno(),
1533 (yyvsp[-3].id)->stype); 1739 (yyvsp[(1) - (4)].id)->stype);
1534;} 1740;}
1535 break; 1741 break;
1536 1742
1537 case 41: 1743 case 41:
1538 1744
1539 { 1745 {
1540 menu_add_symbol(P_SELECT, sym_lookup((yyvsp[-2].string), 0), (yyvsp[-1].expr)); 1746 menu_add_symbol(P_SELECT, sym_lookup((yyvsp[(2) - (4)].string), 0), (yyvsp[(3) - (4)].expr));
1541 printd(DEBUG_PARSE, "%s:%d:select\n", zconf_curname(), zconf_lineno()); 1747 printd(DEBUG_PARSE, "%s:%d:select\n", zconf_curname(), zconf_lineno());
1542;} 1748;}
1543 break; 1749 break;
@@ -1545,7 +1751,7 @@ yyreduce:
1545 case 42: 1751 case 42:
1546 1752
1547 { 1753 {
1548 menu_add_expr(P_RANGE, expr_alloc_comp(E_RANGE,(yyvsp[-3].symbol), (yyvsp[-2].symbol)), (yyvsp[-1].expr)); 1754 menu_add_expr(P_RANGE, expr_alloc_comp(E_RANGE,(yyvsp[(2) - (5)].symbol), (yyvsp[(3) - (5)].symbol)), (yyvsp[(4) - (5)].expr));
1549 printd(DEBUG_PARSE, "%s:%d:range\n", zconf_curname(), zconf_lineno()); 1755 printd(DEBUG_PARSE, "%s:%d:range\n", zconf_curname(), zconf_lineno());
1550;} 1756;}
1551 break; 1757 break;
@@ -1553,12 +1759,12 @@ yyreduce:
1553 case 45: 1759 case 45:
1554 1760
1555 { 1761 {
1556 struct kconf_id *id = kconf_id_lookup((yyvsp[-1].string), strlen((yyvsp[-1].string))); 1762 struct kconf_id *id = kconf_id_lookup((yyvsp[(2) - (3)].string), strlen((yyvsp[(2) - (3)].string)));
1557 if (id && id->flags & TF_OPTION) 1763 if (id && id->flags & TF_OPTION)
1558 menu_add_option(id->token, (yyvsp[0].string)); 1764 menu_add_option(id->token, (yyvsp[(3) - (3)].string));
1559 else 1765 else
1560 zconfprint("warning: ignoring unknown option %s", (yyvsp[-1].string)); 1766 zconfprint("warning: ignoring unknown option %s", (yyvsp[(2) - (3)].string));
1561 free((yyvsp[-1].string)); 1767 free((yyvsp[(2) - (3)].string));
1562;} 1768;}
1563 break; 1769 break;
1564 1770
@@ -1569,7 +1775,7 @@ yyreduce:
1569 1775
1570 case 47: 1776 case 47:
1571 1777
1572 { (yyval.string) = (yyvsp[0].string); ;} 1778 { (yyval.string) = (yyvsp[(2) - (2)].string); ;}
1573 break; 1779 break;
1574 1780
1575 case 48: 1781 case 48:
@@ -1593,7 +1799,7 @@ yyreduce:
1593 case 50: 1799 case 50:
1594 1800
1595 { 1801 {
1596 if (zconf_endtoken((yyvsp[0].id), T_CHOICE, T_ENDCHOICE)) { 1802 if (zconf_endtoken((yyvsp[(1) - (1)].id), T_CHOICE, T_ENDCHOICE)) {
1597 menu_end_menu(); 1803 menu_end_menu();
1598 printd(DEBUG_PARSE, "%s:%d:endchoice\n", zconf_curname(), zconf_lineno()); 1804 printd(DEBUG_PARSE, "%s:%d:endchoice\n", zconf_curname(), zconf_lineno());
1599 } 1805 }
@@ -1603,7 +1809,7 @@ yyreduce:
1603 case 58: 1809 case 58:
1604 1810
1605 { 1811 {
1606 menu_add_prompt(P_PROMPT, (yyvsp[-2].string), (yyvsp[-1].expr)); 1812 menu_add_prompt(P_PROMPT, (yyvsp[(2) - (4)].string), (yyvsp[(3) - (4)].expr));
1607 printd(DEBUG_PARSE, "%s:%d:prompt\n", zconf_curname(), zconf_lineno()); 1813 printd(DEBUG_PARSE, "%s:%d:prompt\n", zconf_curname(), zconf_lineno());
1608;} 1814;}
1609 break; 1815 break;
@@ -1611,11 +1817,11 @@ yyreduce:
1611 case 59: 1817 case 59:
1612 1818
1613 { 1819 {
1614 if ((yyvsp[-2].id)->stype == S_BOOLEAN || (yyvsp[-2].id)->stype == S_TRISTATE) { 1820 if ((yyvsp[(1) - (3)].id)->stype == S_BOOLEAN || (yyvsp[(1) - (3)].id)->stype == S_TRISTATE) {
1615 menu_set_type((yyvsp[-2].id)->stype); 1821 menu_set_type((yyvsp[(1) - (3)].id)->stype);
1616 printd(DEBUG_PARSE, "%s:%d:type(%u)\n", 1822 printd(DEBUG_PARSE, "%s:%d:type(%u)\n",
1617 zconf_curname(), zconf_lineno(), 1823 zconf_curname(), zconf_lineno(),
1618 (yyvsp[-2].id)->stype); 1824 (yyvsp[(1) - (3)].id)->stype);
1619 } else 1825 } else
1620 YYERROR; 1826 YYERROR;
1621;} 1827;}
@@ -1632,8 +1838,8 @@ yyreduce:
1632 case 61: 1838 case 61:
1633 1839
1634 { 1840 {
1635 if ((yyvsp[-3].id)->stype == S_UNKNOWN) { 1841 if ((yyvsp[(1) - (4)].id)->stype == S_UNKNOWN) {
1636 menu_add_symbol(P_DEFAULT, sym_lookup((yyvsp[-2].string), 0), (yyvsp[-1].expr)); 1842 menu_add_symbol(P_DEFAULT, sym_lookup((yyvsp[(2) - (4)].string), 0), (yyvsp[(3) - (4)].expr));
1637 printd(DEBUG_PARSE, "%s:%d:default\n", 1843 printd(DEBUG_PARSE, "%s:%d:default\n",
1638 zconf_curname(), zconf_lineno()); 1844 zconf_curname(), zconf_lineno());
1639 } else 1845 } else
@@ -1646,7 +1852,7 @@ yyreduce:
1646 { 1852 {
1647 printd(DEBUG_PARSE, "%s:%d:if\n", zconf_curname(), zconf_lineno()); 1853 printd(DEBUG_PARSE, "%s:%d:if\n", zconf_curname(), zconf_lineno());
1648 menu_add_entry(NULL); 1854 menu_add_entry(NULL);
1649 menu_add_dep((yyvsp[-1].expr)); 1855 menu_add_dep((yyvsp[(2) - (3)].expr));
1650 (yyval.menu) = menu_add_menu(); 1856 (yyval.menu) = menu_add_menu();
1651;} 1857;}
1652 break; 1858 break;
@@ -1654,7 +1860,7 @@ yyreduce:
1654 case 65: 1860 case 65:
1655 1861
1656 { 1862 {
1657 if (zconf_endtoken((yyvsp[0].id), T_IF, T_ENDIF)) { 1863 if (zconf_endtoken((yyvsp[(1) - (1)].id), T_IF, T_ENDIF)) {
1658 menu_end_menu(); 1864 menu_end_menu();
1659 printd(DEBUG_PARSE, "%s:%d:endif\n", zconf_curname(), zconf_lineno()); 1865 printd(DEBUG_PARSE, "%s:%d:endif\n", zconf_curname(), zconf_lineno());
1660 } 1866 }
@@ -1665,7 +1871,7 @@ yyreduce:
1665 1871
1666 { 1872 {
1667 menu_add_entry(NULL); 1873 menu_add_entry(NULL);
1668 menu_add_prompt(P_MENU, (yyvsp[-1].string), NULL); 1874 menu_add_prompt(P_MENU, (yyvsp[(2) - (3)].string), NULL);
1669 printd(DEBUG_PARSE, "%s:%d:menu\n", zconf_curname(), zconf_lineno()); 1875 printd(DEBUG_PARSE, "%s:%d:menu\n", zconf_curname(), zconf_lineno());
1670;} 1876;}
1671 break; 1877 break;
@@ -1680,7 +1886,7 @@ yyreduce:
1680 case 73: 1886 case 73:
1681 1887
1682 { 1888 {
1683 if (zconf_endtoken((yyvsp[0].id), T_MENU, T_ENDMENU)) { 1889 if (zconf_endtoken((yyvsp[(1) - (1)].id), T_MENU, T_ENDMENU)) {
1684 menu_end_menu(); 1890 menu_end_menu();
1685 printd(DEBUG_PARSE, "%s:%d:endmenu\n", zconf_curname(), zconf_lineno()); 1891 printd(DEBUG_PARSE, "%s:%d:endmenu\n", zconf_curname(), zconf_lineno());
1686 } 1892 }
@@ -1690,8 +1896,8 @@ yyreduce:
1690 case 79: 1896 case 79:
1691 1897
1692 { 1898 {
1693 printd(DEBUG_PARSE, "%s:%d:source %s\n", zconf_curname(), zconf_lineno(), (yyvsp[-1].string)); 1899 printd(DEBUG_PARSE, "%s:%d:source %s\n", zconf_curname(), zconf_lineno(), (yyvsp[(2) - (3)].string));
1694 zconf_nextfile((yyvsp[-1].string)); 1900 zconf_nextfile((yyvsp[(2) - (3)].string));
1695;} 1901;}
1696 break; 1902 break;
1697 1903
@@ -1699,7 +1905,7 @@ yyreduce:
1699 1905
1700 { 1906 {
1701 menu_add_entry(NULL); 1907 menu_add_entry(NULL);
1702 menu_add_prompt(P_COMMENT, (yyvsp[-1].string), NULL); 1908 menu_add_prompt(P_COMMENT, (yyvsp[(2) - (3)].string), NULL);
1703 printd(DEBUG_PARSE, "%s:%d:comment\n", zconf_curname(), zconf_lineno()); 1909 printd(DEBUG_PARSE, "%s:%d:comment\n", zconf_curname(), zconf_lineno());
1704;} 1910;}
1705 break; 1911 break;
@@ -1722,122 +1928,104 @@ yyreduce:
1722 case 83: 1928 case 83:
1723 1929
1724 { 1930 {
1725 current_entry->help = (yyvsp[0].string); 1931 current_entry->help = (yyvsp[(2) - (2)].string);
1726;} 1932;}
1727 break; 1933 break;
1728 1934
1729 case 88: 1935 case 88:
1730 1936
1731 { 1937 {
1732 menu_add_dep((yyvsp[-1].expr)); 1938 menu_add_dep((yyvsp[(3) - (4)].expr));
1733 printd(DEBUG_PARSE, "%s:%d:depends on\n", zconf_curname(), zconf_lineno()); 1939 printd(DEBUG_PARSE, "%s:%d:depends on\n", zconf_curname(), zconf_lineno());
1734;} 1940;}
1735 break; 1941 break;
1736 1942
1737 case 89: 1943 case 90:
1738 1944
1739 { 1945 {
1740 menu_add_dep((yyvsp[-1].expr)); 1946 menu_add_prompt(P_PROMPT, (yyvsp[(1) - (2)].string), (yyvsp[(2) - (2)].expr));
1741 printd(DEBUG_PARSE, "%s:%d:depends\n", zconf_curname(), zconf_lineno());
1742;} 1947;}
1743 break; 1948 break;
1744 1949
1745 case 90: 1950 case 93:
1746 1951
1747 { 1952 { (yyval.id) = (yyvsp[(1) - (2)].id); ;}
1748 menu_add_dep((yyvsp[-1].expr));
1749 printd(DEBUG_PARSE, "%s:%d:requires\n", zconf_curname(), zconf_lineno());
1750;}
1751 break; 1953 break;
1752 1954
1753 case 92: 1955 case 94:
1754 1956
1755 { 1957 { (yyval.id) = (yyvsp[(1) - (2)].id); ;}
1756 menu_add_prompt(P_PROMPT, (yyvsp[-1].string), (yyvsp[0].expr));
1757;}
1758 break; 1958 break;
1759 1959
1760 case 95: 1960 case 95:
1761 1961
1762 { (yyval.id) = (yyvsp[-1].id); ;} 1962 { (yyval.id) = (yyvsp[(1) - (2)].id); ;}
1763 break; 1963 break;
1764 1964
1765 case 96: 1965 case 98:
1766 1966
1767 { (yyval.id) = (yyvsp[-1].id); ;} 1967 { (yyval.expr) = NULL; ;}
1768 break; 1968 break;
1769 1969
1770 case 97: 1970 case 99:
1771 1971
1772 { (yyval.id) = (yyvsp[-1].id); ;} 1972 { (yyval.expr) = (yyvsp[(2) - (2)].expr); ;}
1773 break; 1973 break;
1774 1974
1775 case 100: 1975 case 100:
1776 1976
1777 { (yyval.expr) = NULL; ;} 1977 { (yyval.expr) = expr_alloc_symbol((yyvsp[(1) - (1)].symbol)); ;}
1778 break; 1978 break;
1779 1979
1780 case 101: 1980 case 101:
1781 1981
1782 { (yyval.expr) = (yyvsp[0].expr); ;} 1982 { (yyval.expr) = expr_alloc_comp(E_EQUAL, (yyvsp[(1) - (3)].symbol), (yyvsp[(3) - (3)].symbol)); ;}
1783 break; 1983 break;
1784 1984
1785 case 102: 1985 case 102:
1786 1986
1787 { (yyval.expr) = expr_alloc_symbol((yyvsp[0].symbol)); ;} 1987 { (yyval.expr) = expr_alloc_comp(E_UNEQUAL, (yyvsp[(1) - (3)].symbol), (yyvsp[(3) - (3)].symbol)); ;}
1788 break; 1988 break;
1789 1989
1790 case 103: 1990 case 103:
1791 1991
1792 { (yyval.expr) = expr_alloc_comp(E_EQUAL, (yyvsp[-2].symbol), (yyvsp[0].symbol)); ;} 1992 { (yyval.expr) = (yyvsp[(2) - (3)].expr); ;}
1793 break; 1993 break;
1794 1994
1795 case 104: 1995 case 104:
1796 1996
1797 { (yyval.expr) = expr_alloc_comp(E_UNEQUAL, (yyvsp[-2].symbol), (yyvsp[0].symbol)); ;} 1997 { (yyval.expr) = expr_alloc_one(E_NOT, (yyvsp[(2) - (2)].expr)); ;}
1798 break; 1998 break;
1799 1999
1800 case 105: 2000 case 105:
1801 2001
1802 { (yyval.expr) = (yyvsp[-1].expr); ;} 2002 { (yyval.expr) = expr_alloc_two(E_OR, (yyvsp[(1) - (3)].expr), (yyvsp[(3) - (3)].expr)); ;}
1803 break; 2003 break;
1804 2004
1805 case 106: 2005 case 106:
1806 2006
1807 { (yyval.expr) = expr_alloc_one(E_NOT, (yyvsp[0].expr)); ;} 2007 { (yyval.expr) = expr_alloc_two(E_AND, (yyvsp[(1) - (3)].expr), (yyvsp[(3) - (3)].expr)); ;}
1808 break; 2008 break;
1809 2009
1810 case 107: 2010 case 107:
1811 2011
1812 { (yyval.expr) = expr_alloc_two(E_OR, (yyvsp[-2].expr), (yyvsp[0].expr)); ;} 2012 { (yyval.symbol) = sym_lookup((yyvsp[(1) - (1)].string), 0); free((yyvsp[(1) - (1)].string)); ;}
1813 break; 2013 break;
1814 2014
1815 case 108: 2015 case 108:
1816 2016
1817 { (yyval.expr) = expr_alloc_two(E_AND, (yyvsp[-2].expr), (yyvsp[0].expr)); ;} 2017 { (yyval.symbol) = sym_lookup((yyvsp[(1) - (1)].string), 1); free((yyvsp[(1) - (1)].string)); ;}
1818 break;
1819
1820 case 109:
1821
1822 { (yyval.symbol) = sym_lookup((yyvsp[0].string), 0); free((yyvsp[0].string)); ;}
1823 break; 2018 break;
1824 2019
1825 case 110:
1826
1827 { (yyval.symbol) = sym_lookup((yyvsp[0].string), 1); free((yyvsp[0].string)); ;}
1828 break;
1829 2020
2021/* Line 1267 of yacc.c. */
1830 2022
1831 default: break; 2023 default: break;
1832 } 2024 }
2025 YY_SYMBOL_PRINT ("-> $$ =", yyr1[yyn], &yyval, &yyloc);
1833 2026
1834/* Line 1126 of yacc.c. */ 2027 YYPOPSTACK (yylen);
1835 2028 yylen = 0;
1836
1837 yyvsp -= yylen;
1838 yyssp -= yylen;
1839
1840
1841 YY_STACK_PRINT (yyss, yyssp); 2029 YY_STACK_PRINT (yyss, yyssp);
1842 2030
1843 *++yyvsp = yyval; 2031 *++yyvsp = yyval;
@@ -1866,110 +2054,41 @@ yyerrlab:
1866 if (!yyerrstatus) 2054 if (!yyerrstatus)
1867 { 2055 {
1868 ++yynerrs; 2056 ++yynerrs;
1869#if YYERROR_VERBOSE 2057#if ! YYERROR_VERBOSE
1870 yyn = yypact[yystate]; 2058 yyerror (YY_("syntax error"));
1871 2059#else
1872 if (YYPACT_NINF < yyn && yyn < YYLAST) 2060 {
1873 { 2061 YYSIZE_T yysize = yysyntax_error (0, yystate, yychar);
1874 int yytype = YYTRANSLATE (yychar); 2062 if (yymsg_alloc < yysize && yymsg_alloc < YYSTACK_ALLOC_MAXIMUM)
1875 YYSIZE_T yysize0 = yytnamerr (0, yytname[yytype]); 2063 {
1876 YYSIZE_T yysize = yysize0; 2064 YYSIZE_T yyalloc = 2 * yysize;
1877 YYSIZE_T yysize1; 2065 if (! (yysize <= yyalloc && yyalloc <= YYSTACK_ALLOC_MAXIMUM))
1878 int yysize_overflow = 0; 2066 yyalloc = YYSTACK_ALLOC_MAXIMUM;
1879 char *yymsg = 0; 2067 if (yymsg != yymsgbuf)
1880# define YYERROR_VERBOSE_ARGS_MAXIMUM 5 2068 YYSTACK_FREE (yymsg);
1881 char const *yyarg[YYERROR_VERBOSE_ARGS_MAXIMUM]; 2069 yymsg = (char *) YYSTACK_ALLOC (yyalloc);
1882 int yyx; 2070 if (yymsg)
1883 2071 yymsg_alloc = yyalloc;
1884#if 0 2072 else
1885 /* This is so xgettext sees the translatable formats that are
1886 constructed on the fly. */
1887 YY_("syntax error, unexpected %s");
1888 YY_("syntax error, unexpected %s, expecting %s");
1889 YY_("syntax error, unexpected %s, expecting %s or %s");
1890 YY_("syntax error, unexpected %s, expecting %s or %s or %s");
1891 YY_("syntax error, unexpected %s, expecting %s or %s or %s or %s");
1892#endif
1893 char *yyfmt;
1894 char const *yyf;
1895 static char const yyunexpected[] = "syntax error, unexpected %s";
1896 static char const yyexpecting[] = ", expecting %s";
1897 static char const yyor[] = " or %s";
1898 char yyformat[sizeof yyunexpected
1899 + sizeof yyexpecting - 1
1900 + ((YYERROR_VERBOSE_ARGS_MAXIMUM - 2)
1901 * (sizeof yyor - 1))];
1902 char const *yyprefix = yyexpecting;
1903
1904 /* Start YYX at -YYN if negative to avoid negative indexes in
1905 YYCHECK. */
1906 int yyxbegin = yyn < 0 ? -yyn : 0;
1907
1908 /* Stay within bounds of both yycheck and yytname. */
1909 int yychecklim = YYLAST - yyn;
1910 int yyxend = yychecklim < YYNTOKENS ? yychecklim : YYNTOKENS;
1911 int yycount = 1;
1912
1913 yyarg[0] = yytname[yytype];
1914 yyfmt = yystpcpy (yyformat, yyunexpected);
1915
1916 for (yyx = yyxbegin; yyx < yyxend; ++yyx)
1917 if (yycheck[yyx + yyn] == yyx && yyx != YYTERROR)
1918 { 2073 {
1919 if (yycount == YYERROR_VERBOSE_ARGS_MAXIMUM) 2074 yymsg = yymsgbuf;
1920 { 2075 yymsg_alloc = sizeof yymsgbuf;
1921 yycount = 1;
1922 yysize = yysize0;
1923 yyformat[sizeof yyunexpected - 1] = '\0';
1924 break;
1925 }
1926 yyarg[yycount++] = yytname[yyx];
1927 yysize1 = yysize + yytnamerr (0, yytname[yyx]);
1928 yysize_overflow |= yysize1 < yysize;
1929 yysize = yysize1;
1930 yyfmt = yystpcpy (yyfmt, yyprefix);
1931 yyprefix = yyor;
1932 } 2076 }
2077 }
1933 2078
1934 yyf = YY_(yyformat); 2079 if (0 < yysize && yysize <= yymsg_alloc)
1935 yysize1 = yysize + yystrlen (yyf); 2080 {
1936 yysize_overflow |= yysize1 < yysize; 2081 (void) yysyntax_error (yymsg, yystate, yychar);
1937 yysize = yysize1; 2082 yyerror (yymsg);
1938 2083 }
1939 if (!yysize_overflow && yysize <= YYSTACK_ALLOC_MAXIMUM) 2084 else
1940 yymsg = (char *) YYSTACK_ALLOC (yysize); 2085 {
1941 if (yymsg) 2086 yyerror (YY_("syntax error"));
1942 { 2087 if (yysize != 0)
1943 /* Avoid sprintf, as that infringes on the user's name space.
1944 Don't have undefined behavior even if the translation
1945 produced a string with the wrong number of "%s"s. */
1946 char *yyp = yymsg;
1947 int yyi = 0;
1948 while ((*yyp = *yyf))
1949 {
1950 if (*yyp == '%' && yyf[1] == 's' && yyi < yycount)
1951 {
1952 yyp += yytnamerr (yyp, yyarg[yyi++]);
1953 yyf += 2;
1954 }
1955 else
1956 {
1957 yyp++;
1958 yyf++;
1959 }
1960 }
1961 yyerror (yymsg);
1962 YYSTACK_FREE (yymsg);
1963 }
1964 else
1965 {
1966 yyerror (YY_("syntax error"));
1967 goto yyexhaustedlab; 2088 goto yyexhaustedlab;
1968 } 2089 }
1969 } 2090 }
1970 else 2091#endif
1971#endif /* YYERROR_VERBOSE */
1972 yyerror (YY_("syntax error"));
1973 } 2092 }
1974 2093
1975 2094
@@ -1980,14 +2099,15 @@ yyerrlab:
1980 error, discard it. */ 2099 error, discard it. */
1981 2100
1982 if (yychar <= YYEOF) 2101 if (yychar <= YYEOF)
1983 { 2102 {
1984 /* Return failure if at end of input. */ 2103 /* Return failure if at end of input. */
1985 if (yychar == YYEOF) 2104 if (yychar == YYEOF)
1986 YYABORT; 2105 YYABORT;
1987 } 2106 }
1988 else 2107 else
1989 { 2108 {
1990 yydestruct ("Error: discarding", yytoken, &yylval); 2109 yydestruct ("Error: discarding",
2110 yytoken, &yylval);
1991 yychar = YYEMPTY; 2111 yychar = YYEMPTY;
1992 } 2112 }
1993 } 2113 }
@@ -2005,11 +2125,14 @@ yyerrorlab:
2005 /* Pacify compilers like GCC when the user code never invokes 2125 /* Pacify compilers like GCC when the user code never invokes
2006 YYERROR and the label yyerrorlab therefore never appears in user 2126 YYERROR and the label yyerrorlab therefore never appears in user
2007 code. */ 2127 code. */
2008 if (0) 2128 if (/*CONSTCOND*/ 0)
2009 goto yyerrorlab; 2129 goto yyerrorlab;
2010 2130
2011yyvsp -= yylen; 2131 /* Do not reclaim the symbols of the rule which action triggered
2012 yyssp -= yylen; 2132 this YYERROR. */
2133 YYPOPSTACK (yylen);
2134 yylen = 0;
2135 YY_STACK_PRINT (yyss, yyssp);
2013 yystate = *yyssp; 2136 yystate = *yyssp;
2014 goto yyerrlab1; 2137 goto yyerrlab1;
2015 2138
@@ -2039,8 +2162,9 @@ yyerrlab1:
2039 YYABORT; 2162 YYABORT;
2040 2163
2041 2164
2042 yydestruct ("Error: popping", yystos[yystate], yyvsp); 2165 yydestruct ("Error: popping",
2043 YYPOPSTACK; 2166 yystos[yystate], yyvsp);
2167 YYPOPSTACK (1);
2044 yystate = *yyssp; 2168 yystate = *yyssp;
2045 YY_STACK_PRINT (yyss, yyssp); 2169 YY_STACK_PRINT (yyss, yyssp);
2046 } 2170 }
@@ -2051,7 +2175,7 @@ yyerrlab1:
2051 *++yyvsp = yylval; 2175 *++yyvsp = yylval;
2052 2176
2053 2177
2054 /* Shift the error token. */ 2178 /* Shift the error token. */
2055 YY_SYMBOL_PRINT ("Shifting", yystos[yyn], yyvsp, yylsp); 2179 YY_SYMBOL_PRINT ("Shifting", yystos[yyn], yyvsp, yylsp);
2056 2180
2057 yystate = yyn; 2181 yystate = yyn;
@@ -2086,17 +2210,26 @@ yyreturn:
2086 if (yychar != YYEOF && yychar != YYEMPTY) 2210 if (yychar != YYEOF && yychar != YYEMPTY)
2087 yydestruct ("Cleanup: discarding lookahead", 2211 yydestruct ("Cleanup: discarding lookahead",
2088 yytoken, &yylval); 2212 yytoken, &yylval);
2213 /* Do not reclaim the symbols of the rule which action triggered
2214 this YYABORT or YYACCEPT. */
2215 YYPOPSTACK (yylen);
2216 YY_STACK_PRINT (yyss, yyssp);
2089 while (yyssp != yyss) 2217 while (yyssp != yyss)
2090 { 2218 {
2091 yydestruct ("Cleanup: popping", 2219 yydestruct ("Cleanup: popping",
2092 yystos[*yyssp], yyvsp); 2220 yystos[*yyssp], yyvsp);
2093 YYPOPSTACK; 2221 YYPOPSTACK (1);
2094 } 2222 }
2095#ifndef yyoverflow 2223#ifndef yyoverflow
2096 if (yyss != yyssa) 2224 if (yyss != yyssa)
2097 YYSTACK_FREE (yyss); 2225 YYSTACK_FREE (yyss);
2098#endif 2226#endif
2099 return yyresult; 2227#if YYERROR_VERBOSE
2228 if (yymsg != yymsgbuf)
2229 YYSTACK_FREE (yymsg);
2230#endif
2231 /* Make sure YYID is used. */
2232 return YYID (yyresult);
2100} 2233}
2101 2234
2102 2235
@@ -2344,4 +2477,3 @@ void zconfdump(FILE *out)
2344#include "symbol.c" 2477#include "symbol.c"
2345#include "menu.c" 2478#include "menu.c"
2346 2479
2347