| @@ -1,9 +1,8 @@ |
| 1 | | −/* A Bison parser, made by GNU Bison 2.4.3. */ |
| 1 | +/* A Bison parser, made by GNU Bison 2.5. */ |
| 2 | 2 | |
| 3 | | −/* Skeleton implementation for Bison's Yacc-like parsers in C |
| 3 | +/* Bison implementation for Yacc-like parsers in C |
| 4 | 4 | |
| 5 | | − Copyright (C) 1984, 1989, 1990, 2000, 2001, 2002, 2003, 2004, 2005, 2006, |
| 6 | | − 2009, 2010 Free Software Foundation, Inc. |
| 5 | + Copyright (C) 1984, 1989-1990, 2000-2011 Free Software Foundation, Inc. |
| 7 | 6 | |
| 8 | 7 | This program is free software: you can redistribute it and/or modify |
| 9 | 8 | it under the terms of the GNU General Public License as published by |
| @@ -45,7 +44,7 @@ · 35 unmodified lines |
| 45 | 44 | #define YYBISON 1 |
| 46 | 45 | |
| 47 | 46 | /* Bison version. */ |
| 48 | | −#define YYBISON_VERSION "2.4.3" |
| 47 | +#define YYBISON_VERSION "2.5" |
| 49 | 48 | |
| 50 | 49 | /* Skeleton name. */ |
| 51 | 50 | #define YYSKELETON_NAME "yacc.c" |
| @@ -302,11 +301,11 @@ YYID (yyi) · 250 unmodified lines |
| 302 | 301 | # define alloca _alloca |
| 303 | 302 | # else |
| 304 | 303 | # define YYSTACK_ALLOC alloca |
| 305 | | −# if ! defined _ALLOCA_H && ! defined _STDLIB_H && (defined __STDC__ || defined __C99__FUNC__ \ |
| 304 | +# if ! defined _ALLOCA_H && ! defined EXIT_SUCCESS && (defined __STDC__ || defined __C99__FUNC__ \ |
| 306 | 305 | || defined __cplusplus || defined _MSC_VER) |
| 307 | 306 | # include <stdlib.h> /* INFRINGES ON USER NAME SPACE */ |
| 308 | | −# ifndef _STDLIB_H |
| 309 | | −# define _STDLIB_H 1 |
| 307 | +# ifndef EXIT_SUCCESS |
| 308 | +# define EXIT_SUCCESS 0 |
| 310 | 309 | # endif |
| 311 | 310 | # endif |
| 312 | 311 | # endif |
| @@ -329,24 +328,24 @@ YYID (yyi) · 16 unmodified lines |
| 329 | 328 | # ifndef YYSTACK_ALLOC_MAXIMUM |
| 330 | 329 | # define YYSTACK_ALLOC_MAXIMUM YYSIZE_MAXIMUM |
| 331 | 330 | # endif |
| 332 | | −# if (defined __cplusplus && ! defined _STDLIB_H \ |
| 331 | +# if (defined __cplusplus && ! defined EXIT_SUCCESS \ |
| 333 | 332 | && ! ((defined YYMALLOC || defined malloc) \ |
| 334 | 333 | && (defined YYFREE || defined free))) |
| 335 | 334 | # include <stdlib.h> /* INFRINGES ON USER NAME SPACE */ |
| 336 | | −# ifndef _STDLIB_H |
| 337 | | −# define _STDLIB_H 1 |
| 335 | +# ifndef EXIT_SUCCESS |
| 336 | +# define EXIT_SUCCESS 0 |
| 338 | 337 | # endif |
| 339 | 338 | # endif |
| 340 | 339 | # ifndef YYMALLOC |
| 341 | 340 | # define YYMALLOC malloc |
| 342 | | −# if ! defined malloc && ! defined _STDLIB_H && (defined __STDC__ || defined __C99__FUNC__ \ |
| 341 | +# if ! defined malloc && ! defined EXIT_SUCCESS && (defined __STDC__ || defined __C99__FUNC__ \ |
| 343 | 342 | || defined __cplusplus || defined _MSC_VER) |
| 344 | 343 | void *malloc (YYSIZE_T); /* INFRINGES ON USER NAME SPACE */ |
| 345 | 344 | # endif |
| 346 | 345 | # endif |
| 347 | 346 | # ifndef YYFREE |
| 348 | 347 | # define YYFREE free |
| 349 | | −# if ! defined free && ! defined _STDLIB_H && (defined __STDC__ || defined __C99__FUNC__ \ |
| 348 | +# if ! defined free && ! defined EXIT_SUCCESS && (defined __STDC__ || defined __C99__FUNC__ \ |
| 350 | 349 | || defined __cplusplus || defined _MSC_VER) |
| 351 | 350 | void free (void *); /* INFRINGES ON USER NAME SPACE */ |
| 352 | 351 | # endif |
| @@ -375,23 +374,7 @@ union yyalloc · 22 unmodified lines |
| 375 | 374 | ((N) * (sizeof (yytype_int16) + sizeof (YYSTYPE)) \ |
| 376 | 375 | + YYSTACK_GAP_MAXIMUM) |
| 377 | 376 | |
| 378 | | −/* Copy COUNT objects from FROM to TO. The source and destination do |
| 379 | | − not overlap. */ |
| 380 | | −# ifndef YYCOPY |
| 381 | | −# if defined __GNUC__ && 1 < __GNUC__ |
| 382 | | −# define YYCOPY(To, From, Count) \ |
| 383 | | − __builtin_memcpy (To, From, (Count) * sizeof (*(From))) |
| 384 | | −# else |
| 385 | | −# define YYCOPY(To, From, Count) \ |
| 386 | | − do \ |
| 387 | | − { \ |
| 388 | | − YYSIZE_T yyi; \ |
| 389 | | − for (yyi = 0; yyi < (Count); yyi++) \ |
| 390 | | − (To)[yyi] = (From)[yyi]; \ |
| 391 | | − } \ |
| 392 | | − while (YYID (0)) |
| 393 | | −# endif |
| 394 | | −# endif |
| 377 | +# define YYCOPY_NEEDED 1 |
| 395 | 378 | |
| 396 | 379 | /* Relocate STACK from its old location to the new one. The |
| 397 | 380 | local variables YYSIZE and YYSTACKSIZE give the old and new number of |
| @@ -411,6 +394,26 @@ union yyalloc · 13 unmodified lines |
| 411 | 394 | |
| 412 | 395 | #endif |
| 413 | 396 | |
| 397 | +#if defined YYCOPY_NEEDED && YYCOPY_NEEDED |
| 398 | +/* Copy COUNT objects from FROM to TO. The source and destination do |
| 399 | + not overlap. */ |
| 400 | +# ifndef YYCOPY |
| 401 | +# if defined __GNUC__ && 1 < __GNUC__ |
| 402 | +# define YYCOPY(To, From, Count) \ |
| 403 | + __builtin_memcpy (To, From, (Count) * sizeof (*(From))) |
| 404 | +# else |
| 405 | +# define YYCOPY(To, From, Count) \ |
| 406 | + do \ |
| 407 | + { \ |
| 408 | + YYSIZE_T yyi; \ |
| 409 | + for (yyi = 0; yyi < (Count); yyi++) \ |
| 410 | + (To)[yyi] = (From)[yyi]; \ |
| 411 | + } \ |
| 412 | + while (YYID (0)) |
| 413 | +# endif |
| 414 | +# endif |
| 415 | +#endif /* !YYCOPY_NEEDED */ |
| 416 | + |
| 414 | 417 | /* YYFINAL -- State number of the termination state. */ |
| 415 | 418 | #define YYFINAL 11 |
| 416 | 419 | /* YYLAST -- Last index in YYTABLE. */ |
| @@ -529,18 +532,18 @@ static const yytype_int8 yyrhs[] = · 112 unmodified lines |
| 529 | 532 | /* YYRLINE[YYN] -- source line where rule number YYN was defined. */ |
| 530 | 533 | static const yytype_uint16 yyrline[] = |
| 531 | 534 | { |
| 532 | | − 0, 104, 104, 104, 106, 106, 108, 110, 111, 112, |
| 533 | | − 113, 114, 115, 119, 123, 123, 123, 123, 123, 123, |
| 534 | | − 123, 123, 127, 128, 129, 130, 131, 132, 136, 137, |
| 535 | | − 143, 151, 157, 165, 175, 177, 178, 179, 180, 181, |
| 536 | | − 182, 185, 193, 199, 209, 215, 221, 224, 226, 237, |
| 537 | | − 238, 243, 252, 257, 265, 268, 270, 271, 272, 273, |
| 538 | | − 274, 277, 283, 294, 300, 310, 312, 317, 325, 333, |
| 539 | | − 336, 338, 339, 340, 345, 352, 359, 364, 372, 375, |
| 540 | | − 377, 378, 379, 382, 390, 397, 404, 410, 417, 419, |
| 541 | | − 420, 421, 424, 432, 434, 435, 438, 445, 447, 452, |
| 542 | | − 453, 456, 457, 458, 462, 463, 466, 467, 470, 471, |
| 543 | | − 472, 473, 474, 475, 476, 479, 480, 483, 484 |
| 535 | + 0, 103, 103, 103, 105, 105, 107, 109, 110, 111, |
| 536 | + 112, 113, 114, 118, 122, 122, 122, 122, 122, 122, |
| 537 | + 122, 122, 126, 127, 128, 129, 130, 131, 135, 136, |
| 538 | + 142, 150, 156, 164, 174, 176, 177, 178, 179, 180, |
| 539 | + 181, 184, 192, 198, 208, 214, 220, 223, 225, 236, |
| 540 | + 237, 242, 251, 256, 264, 267, 269, 270, 271, 272, |
| 541 | + 273, 276, 282, 293, 299, 309, 311, 316, 324, 332, |
| 542 | + 335, 337, 338, 339, 344, 351, 358, 363, 371, 374, |
| 543 | + 376, 377, 378, 381, 389, 396, 403, 409, 416, 418, |
| 544 | + 419, 420, 423, 431, 433, 434, 437, 444, 446, 451, |
| 545 | + 452, 455, 456, 457, 461, 462, 465, 466, 469, 470, |
| 546 | + 471, 472, 473, 474, 475, 478, 479, 482, 483 |
| 544 | 547 | }; |
| 545 | 548 | #endif |
| 546 | 549 | |
| @@ -615,8 +618,8 @@ static const yytype_uint8 yyr2[] = · 68 unmodified lines |
| 615 | 618 | 3, 3, 2, 3, 3, 1, 1, 0, 1 |
| 616 | 619 | }; |
| 617 | 620 | |
| 618 | | −/* YYDEFACT[STATE-NAME] -- Default rule to reduce with in state |
| 619 | | − STATE-NUM when YYTABLE doesn't specify something else to do. Zero |
| 621 | +/* YYDEFACT[STATE-NAME] -- Default reduction number in state STATE-NUM. |
| 622 | + Performed when YYTABLE doesn't specify something else to do. Zero |
| 620 | 623 | means the default is an error. */ |
| 621 | 624 | static const yytype_uint8 yydefact[] = |
| 622 | 625 | { |
| @@ -691,8 +694,7 @@ static const yytype_int16 yypgoto[] = · 68 unmodified lines |
| 691 | 694 | |
| 692 | 695 | /* YYTABLE[YYPACT[STATE-NUM]]. What to do in state STATE-NUM. If |
| 693 | 696 | positive, shift that token. If negative, reduce the rule which |
| 694 | | − number is the opposite. If zero, do what YYDEFACT says. |
| 695 | | − If YYTABLE_NINF, syntax error. */ |
| 697 | + number is the opposite. If YYTABLE_NINF, syntax error. */ |
| 696 | 698 | #define YYTABLE_NINF -86 |
| 697 | 699 | static const yytype_int16 yytable[] = |
| 698 | 700 | { |
| @@ -728,6 +730,12 @@ static const yytype_int16 yytable[] = · 29 unmodified lines |
| 728 | 730 | 184 |
| 729 | 731 | }; |
| 730 | 732 | |
| 733 | +#define yypact_value_is_default(yystate) \ |
| 734 | + ((yystate) == (-90)) |
| 735 | + |
| 736 | +#define yytable_value_is_error(yytable_value) \ |
| 737 | + YYID (0) |
| 738 | + |
| 731 | 739 | static const yytype_int16 yycheck[] = |
| 732 | 740 | { |
| 733 | 741 | 1, 67, 68, 10, 93, 94, 76, 3, 76, 14, |
| @@ -821,7 +829,6 @@ do \ · 87 unmodified lines |
| 821 | 829 | { \ |
| 822 | 830 | yychar = (Token); \ |
| 823 | 831 | yylval = (Value); \ |
| 824 | | − yytoken = YYTRANSLATE (yychar); \ |
| 825 | 832 | YYPOPSTACK (1); \ |
| 826 | 833 | goto yybackup; \ |
| 827 | 834 | } \ |
| @@ -863,19 +870,10 @@ while (YYID (0)) · 35 unmodified lines |
| 863 | 870 | #endif |
| 864 | 871 | |
| 865 | 872 | |
| 866 | | −/* YY_LOCATION_PRINT -- Print the location on the stream. |
| 867 | | − This macro was not mandated originally: define only if we know |
| 868 | | − we won't break user code: when these are the locations we know. */ |
| 873 | +/* This macro is provided for backward compatibility. */ |
| 869 | 874 | |
| 870 | 875 | #ifndef YY_LOCATION_PRINT |
| 871 | | −# if defined YYLTYPE_IS_TRIVIAL && YYLTYPE_IS_TRIVIAL |
| 872 | | −# define YY_LOCATION_PRINT(File, Loc) \ |
| 873 | | − fprintf (File, "%d.%d-%d.%d", \ |
| 874 | | − (Loc).first_line, (Loc).first_column, \ |
| 875 | | − (Loc).last_line, (Loc).last_column) |
| 876 | | −# else |
| 877 | | −# define YY_LOCATION_PRINT(File, Loc) ((void) 0) |
| 878 | | −# endif |
| 876 | +# define YY_LOCATION_PRINT(File, Loc) ((void) 0) |
| 879 | 877 | #endif |
| 880 | 878 | |
| 881 | 879 | |
| @@ -1067,7 +1065,6 @@ int yydebug; · 185 unmodified lines |
| 1067 | 1065 | # define YYMAXDEPTH 10000 |
| 1068 | 1066 | #endif |
| 1069 | 1067 | |
| 1070 | | − |
| 1071 | 1068 | |
| 1072 | 1069 | #if YYERROR_VERBOSE |
| 1073 | 1070 | |
| @@ -1170,115 +1167,142 @@ yytnamerr (char *yyres, const char *yystr) · 96 unmodified lines |
| 1170 | 1167 | } |
| 1171 | 1168 | # endif |
| 1172 | 1169 | |
| 1173 | | −/* Copy into YYRESULT an error message about the unexpected token |
| 1174 | | − YYCHAR while in state YYSTATE. Return the number of bytes copied, |
| 1175 | | − including the terminating null byte. If YYRESULT is null, do not |
| 1176 | | − copy anything; just return the number of bytes that would be |
| 1177 | | − copied. As a special case, return 0 if an ordinary "syntax error" |
| 1178 | | − message will do. Return YYSIZE_MAXIMUM if overflow occurs during |
| 1179 | | − size calculation. */ |
| 1180 | | −static YYSIZE_T |
| 1181 | | −yysyntax_error (char *yyresult, int yystate, int yychar) |
| 1182 | | −{ |
| 1183 | | − int yyn = yypact[yystate]; |
| 1170 | +/* Copy into *YYMSG, which is of size *YYMSG_ALLOC, an error message |
| 1171 | + about the unexpected token YYTOKEN for the state stack whose top is |
| 1172 | + YYSSP. |
| 1184 | 1173 | |
| 1185 | | − if (! (YYPACT_NINF < yyn && yyn <= YYLAST)) |
| 1186 | | − return 0; |
| 1187 | | − else |
| 1174 | + Return 0 if *YYMSG was successfully written. Return 1 if *YYMSG is |
| 1175 | + not large enough to hold the message. In that case, also set |
| 1176 | + *YYMSG_ALLOC to the required number of bytes. Return 2 if the |
| 1177 | + required number of bytes is too large to store. */ |
| 1178 | +static int |
| 1179 | +yysyntax_error (YYSIZE_T *yymsg_alloc, char **yymsg, |
| 1180 | + yytype_int16 *yyssp, int yytoken) |
| 1181 | +{ |
| 1182 | + YYSIZE_T yysize0 = yytnamerr (0, yytname[yytoken]); |
| 1183 | + YYSIZE_T yysize = yysize0; |
| 1184 | + YYSIZE_T yysize1; |
| 1185 | + enum { YYERROR_VERBOSE_ARGS_MAXIMUM = 5 }; |
| 1186 | + /* Internationalized format string. */ |
| 1187 | + const char *yyformat = 0; |
| 1188 | + /* Arguments of yyformat. */ |
| 1189 | + char const *yyarg[YYERROR_VERBOSE_ARGS_MAXIMUM]; |
| 1190 | + /* Number of reported tokens (one for the "unexpected", one per |
| 1191 | + "expected"). */ |
| 1192 | + int yycount = 0; |
| 1193 | + |
| 1194 | + /* There are many possibilities here to consider: |
| 1195 | + - Assume YYFAIL is not used. It's too flawed to consider. See |
| 1196 | + <http://lists.gnu.org/archive/html/bison-patches/2009-12/msg00024.html> |
| 1197 | + for details. YYERROR is fine as it does not invoke this |
| 1198 | + function. |
| 1199 | + - If this state is a consistent state with a default action, then |
| 1200 | + the only way this function was invoked is if the default action |
| 1201 | + is an error action. In that case, don't check for expected |
| 1202 | + tokens because there are none. |
| 1203 | + - The only way there can be no lookahead present (in yychar) is if |
| 1204 | + this state is a consistent state with a default action. Thus, |
| 1205 | + detecting the absence of a lookahead is sufficient to determine |
| 1206 | + that there is no unexpected or expected token to report. In that |
| 1207 | + case, just report a simple "syntax error". |
| 1208 | + - Don't assume there isn't a lookahead just because this state is a |
| 1209 | + consistent state with a default action. There might have been a |
| 1210 | + previous inconsistent state, consistent state with a non-default |
| 1211 | + action, or user semantic action that manipulated yychar. |
| 1212 | + - Of course, the expected token list depends on states to have |
| 1213 | + correct lookahead information, and it depends on the parser not |
| 1214 | + to perform extra reductions after fetching a lookahead from the |
| 1215 | + scanner and before detecting a syntax error. Thus, state merging |
| 1216 | + (from LALR or IELR) and default reductions corrupt the expected |
| 1217 | + token list. However, the list is correct for canonical LR with |
| 1218 | + one exception: it will still contain any token that will not be |
| 1219 | + accepted due to an error action in a later state. |
| 1220 | + */ |
| 1221 | + if (yytoken != YYEMPTY) |
| 1188 | 1222 | { |
| 1189 | | − int yytype = YYTRANSLATE (yychar); |
| 1190 | | − YYSIZE_T yysize0 = yytnamerr (0, yytname[yytype]); |
| 1191 | | − YYSIZE_T yysize = yysize0; |
| 1192 | | − YYSIZE_T yysize1; |
| 1193 | | − int yysize_overflow = 0; |
| 1194 | | − enum { YYERROR_VERBOSE_ARGS_MAXIMUM = 5 }; |
| 1195 | | − char const *yyarg[YYERROR_VERBOSE_ARGS_MAXIMUM]; |
| 1196 | | − int yyx; |
| 1197 | | − |
| 1198 | | −# if 0 |
| 1199 | | − /* This is so xgettext sees the translatable formats that are |
| 1200 | | − constructed on the fly. */ |
| 1201 | | − YY_("syntax error, unexpected %s"); |
| 1202 | | − YY_("syntax error, unexpected %s, expecting %s"); |
| 1203 | | − YY_("syntax error, unexpected %s, expecting %s or %s"); |
| 1204 | | − YY_("syntax error, unexpected %s, expecting %s or %s or %s"); |
| 1205 | | − YY_("syntax error, unexpected %s, expecting %s or %s or %s or %s"); |
| 1206 | | −# endif |
| 1207 | | − char *yyfmt; |
| 1208 | | − char const *yyf; |
| 1209 | | − static char const yyunexpected[] = "syntax error, unexpected %s"; |
| 1210 | | − static char const yyexpecting[] = ", expecting %s"; |
| 1211 | | − static char const yyor[] = " or %s"; |
| 1212 | | − char yyformat[sizeof yyunexpected |
| 1213 | | − + sizeof yyexpecting - 1 |
| 1214 | | − + ((YYERROR_VERBOSE_ARGS_MAXIMUM - 2) |
| 1215 | | − * (sizeof yyor - 1))]; |
| 1216 | | − char const *yyprefix = yyexpecting; |
| 1217 | | − |
| 1218 | | − /* Start YYX at -YYN if negative to avoid negative indexes in |
| 1219 | | − YYCHECK. */ |
| 1220 | | − int yyxbegin = yyn < 0 ? -yyn : 0; |
| 1221 | | − |
| 1222 | | − /* Stay within bounds of both yycheck and yytname. */ |
| 1223 | | − int yychecklim = YYLAST - yyn + 1; |
| 1224 | | − int yyxend = yychecklim < YYNTOKENS ? yychecklim : YYNTOKENS; |
| 1225 | | − int yycount = 1; |
| 1226 | | − |
| 1227 | | − yyarg[0] = yytname[yytype]; |
| 1228 | | − yyfmt = yystpcpy (yyformat, yyunexpected); |
| 1229 | | − |
| 1230 | | − for (yyx = yyxbegin; yyx < yyxend; ++yyx) |
| 1231 | | − if (yycheck[yyx + yyn] == yyx && yyx != YYTERROR) |
| 1232 | | − { |
| 1233 | | − if (yycount == YYERROR_VERBOSE_ARGS_MAXIMUM) |
| 1234 | | − { |
| 1235 | | − yycount = 1; |
| 1236 | | − yysize = yysize0; |
| 1237 | | − yyformat[sizeof yyunexpected - 1] = '\0'; |
| 1238 | | − break; |
| 1239 | | − } |
| 1240 | | − yyarg[yycount++] = yytname[yyx]; |
| 1241 | | − yysize1 = yysize + yytnamerr (0, yytname[yyx]); |
| 1242 | | − yysize_overflow |= (yysize1 < yysize); |
| 1243 | | − yysize = yysize1; |
| 1244 | | − yyfmt = yystpcpy (yyfmt, yyprefix); |
| 1245 | | − yyprefix = yyor; |
| 1246 | | − } |
| 1223 | + int yyn = yypact[*yyssp]; |
| 1224 | + yyarg[yycount++] = yytname[yytoken]; |
| 1225 | + if (!yypact_value_is_default (yyn)) |
| 1226 | + { |
| 1227 | + /* Start YYX at -YYN if negative to avoid negative indexes in |
| 1228 | + YYCHECK. In other words, skip the first -YYN actions for |
| 1229 | + this state because they are default actions. */ |
| 1230 | + int yyxbegin = yyn < 0 ? -yyn : 0; |
| 1231 | + /* Stay within bounds of both yycheck and yytname. */ |
| 1232 | + int yychecklim = YYLAST - yyn + 1; |
| 1233 | + int yyxend = yychecklim < YYNTOKENS ? yychecklim : YYNTOKENS; |
| 1234 | + int yyx; |
| 1235 | + |
| 1236 | + for (yyx = yyxbegin; yyx < yyxend; ++yyx) |
| 1237 | + if (yycheck[yyx + yyn] == yyx && yyx != YYTERROR |
| 1238 | + && !yytable_value_is_error (yytable[yyx + yyn])) |
| 1239 | + { |
| 1240 | + if (yycount == YYERROR_VERBOSE_ARGS_MAXIMUM) |
| 1241 | + { |
| 1242 | + yycount = 1; |
| 1243 | + yysize = yysize0; |
| 1244 | + break; |
| 1245 | + } |
| 1246 | + yyarg[yycount++] = yytname[yyx]; |
| 1247 | + yysize1 = yysize + yytnamerr (0, yytname[yyx]); |
| 1248 | + if (! (yysize <= yysize1 |
| 1249 | + && yysize1 <= YYSTACK_ALLOC_MAXIMUM)) |
| 1250 | + return 2; |
| 1251 | + yysize = yysize1; |
| 1252 | + } |
| 1253 | + } |
| 1254 | + } |
| 1247 | 1255 | |
| 1248 | | − yyf = YY_(yyformat); |
| 1249 | | − yysize1 = yysize + yystrlen (yyf); |
| 1250 | | − yysize_overflow |= (yysize1 < yysize); |
| 1251 | | − yysize = yysize1; |
| 1256 | + switch (yycount) |
| 1257 | + { |
| 1258 | +# define YYCASE_(N, S) \ |
| 1259 | + case N: \ |
| 1260 | + yyformat = S; \ |
| 1261 | + break |
| 1262 | + YYCASE_(0, YY_("syntax error")); |
| 1263 | + YYCASE_(1, YY_("syntax error, unexpected %s")); |
| 1264 | + YYCASE_(2, YY_("syntax error, unexpected %s, expecting %s")); |
| 1265 | + YYCASE_(3, YY_("syntax error, unexpected %s, expecting %s or %s")); |
| 1266 | + YYCASE_(4, YY_("syntax error, unexpected %s, expecting %s or %s or %s")); |
| 1267 | + YYCASE_(5, YY_("syntax error, unexpected %s, expecting %s or %s or %s or %s")); |
| 1268 | +# undef YYCASE_ |
| 1269 | + } |
| 1252 | 1270 | |
| 1253 | | − if (yysize_overflow) |
| 1254 | | − return YYSIZE_MAXIMUM; |
| 1271 | + yysize1 = yysize + yystrlen (yyformat); |
| 1272 | + if (! (yysize <= yysize1 && yysize1 <= YYSTACK_ALLOC_MAXIMUM)) |
| 1273 | + return 2; |
| 1274 | + yysize = yysize1; |
| 1255 | 1275 | |
| 1256 | | − if (yyresult) |
| 1257 | | − { |
| 1258 | | − /* Avoid sprintf, as that infringes on the user's name space. |
| 1259 | | − Don't have undefined behavior even if the translation |
| 1260 | | − produced a string with the wrong number of "%s"s. */ |
| 1261 | | − char *yyp = yyresult; |
| 1262 | | − int yyi = 0; |
| 1263 | | − while ((*yyp = *yyf) != '\0') |
| 1264 | | − { |
| 1265 | | − if (*yyp == '%' && yyf[1] == 's' && yyi < yycount) |
| 1266 | | − { |
| 1267 | | − yyp += yytnamerr (yyp, yyarg[yyi++]); |
| 1268 | | − yyf += 2; |
| 1269 | | − } |
| 1270 | | − else |
| 1271 | | − { |
| 1272 | | − yyp++; |
| 1273 | | − yyf++; |
| 1274 | | − } |
| 1275 | | − } |
| 1276 | | − } |
| 1277 | | − return yysize; |
| 1276 | + if (*yymsg_alloc < yysize) |
| 1277 | + { |
| 1278 | + *yymsg_alloc = 2 * yysize; |
| 1279 | + if (! (yysize <= *yymsg_alloc |
| 1280 | + && *yymsg_alloc <= YYSTACK_ALLOC_MAXIMUM)) |
| 1281 | + *yymsg_alloc = YYSTACK_ALLOC_MAXIMUM; |
| 1282 | + return 1; |
| 1278 | 1283 | } |
| 1284 | + |
| 1285 | + /* Avoid sprintf, as that infringes on the user's name space. |
| 1286 | + Don't have undefined behavior even if the translation |
| 1287 | + produced a string with the wrong number of "%s"s. */ |
| 1288 | + { |
| 1289 | + char *yyp = *yymsg; |
| 1290 | + int yyi = 0; |
| 1291 | + while ((*yyp = *yyformat) != '\0') |
| 1292 | + if (*yyp == '%' && yyformat[1] == 's' && yyi < yycount) |
| 1293 | + { |
| 1294 | + yyp += yytnamerr (yyp, yyarg[yyi++]); |
| 1295 | + yyformat += 2; |
| 1296 | + } |
| 1297 | + else |
| 1298 | + { |
| 1299 | + yyp++; |
| 1300 | + yyformat++; |
| 1301 | + } |
| 1302 | + } |
| 1303 | + return 0; |
| 1279 | 1304 | } |
| 1280 | 1305 | #endif /* YYERROR_VERBOSE */ |
| 1281 | | − |
| 1282 | 1306 | |
| 1283 | 1307 | /*-----------------------------------------------. |
| 1284 | 1308 | | Release the memory associated to this symbol. | |
| @@ -1341,6 +1365,7 @@ yydestruct (yymsg, yytype, yyvaluep) · 56 unmodified lines |
| 1341 | 1365 | } |
| 1342 | 1366 | } |
| 1343 | 1367 | |
| 1368 | + |
| 1344 | 1369 | /* Prevent warnings from -Wmissing-prototypes. */ |
| 1345 | 1370 | #ifdef YYPARSE_PARAM |
| 1346 | 1371 | #if defined __STDC__ || defined __cplusplus |
| @@ -1367,10 +1392,9 @@ YYSTYPE yylval; · 20 unmodified lines |
| 1367 | 1392 | int yynerrs; |
| 1368 | 1393 | |
| 1369 | 1394 | |
| 1370 | | − |
| 1371 | | −/*-------------------------. |
| 1372 | | −| yyparse or yypush_parse. | |
| 1373 | | −`-------------------------*/ |
| 1395 | +/*----------. |
| 1396 | +| yyparse. | |
| 1397 | +`----------*/ |
| 1374 | 1398 | |
| 1375 | 1399 | #ifdef YYPARSE_PARAM |
| 1376 | 1400 | #if (defined __STDC__ || defined __C99__FUNC__ \ |
| @@ -1394,8 +1418,6 @@ yyparse () · 17 unmodified lines |
| 1394 | 1418 | #endif |
| 1395 | 1419 | #endif |
| 1396 | 1420 | { |
| 1397 | | − |
| 1398 | | − |
| 1399 | 1421 | int yystate; |
| 1400 | 1422 | /* Number of tokens to shift before error messages enabled. */ |
| 1401 | 1423 | int yyerrstatus; |
| @@ -1550,7 +1572,7 @@ yybackup: · 148 unmodified lines |
| 1550 | 1572 | |
| 1551 | 1573 | /* First try to decide what to do without reference to lookahead token. */ |
| 1552 | 1574 | yyn = yypact[yystate]; |
| 1553 | | − if (yyn == YYPACT_NINF) |
| 1575 | + if (yypact_value_is_default (yyn)) |
| 1554 | 1576 | goto yydefault; |
| 1555 | 1577 | |
| 1556 | 1578 | /* Not known => get a lookahead token if don't already have one. */ |
| @@ -1581,8 +1603,8 @@ yybackup: · 24 unmodified lines |
| 1581 | 1603 | yyn = yytable[yyn]; |
| 1582 | 1604 | if (yyn <= 0) |
| 1583 | 1605 | { |
| 1584 | | − if (yyn == 0 || yyn == YYTABLE_NINF) |
| 1585 | | − goto yyerrlab; |
| 1606 | + if (yytable_value_is_error (yyn)) |
| 1607 | + goto yyerrlab; |
| 1586 | 1608 | yyn = -yyn; |
| 1587 | 1609 | goto yyreduce; |
| 1588 | 1610 | } |
| @@ -1637,34 +1659,34 @@ yyreduce: · 48 unmodified lines |
| 1637 | 1659 | { |
| 1638 | 1660 | case 10: |
| 1639 | 1661 | |
| 1640 | | − { zconf_error("unexpected end statement"); ;} |
| 1662 | + { zconf_error("unexpected end statement"); } |
| 1641 | 1663 | break; |
| 1642 | 1664 | |
| 1643 | 1665 | case 11: |
| 1644 | 1666 | |
| 1645 | | − { zconf_error("unknown statement \"%s\"", (yyvsp[(2) - (4)].string)); ;} |
| 1667 | + { zconf_error("unknown statement \"%s\"", (yyvsp[(2) - (4)].string)); } |
| 1646 | 1668 | break; |
| 1647 | 1669 | |
| 1648 | 1670 | case 12: |
| 1649 | 1671 | |
| 1650 | 1672 | { |
| 1651 | 1673 | zconf_error("unexpected option \"%s\"", kconf_id_strings + (yyvsp[(2) - (4)].id)->name); |
| 1652 | | −;} |
| 1674 | +} |
| 1653 | 1675 | break; |
| 1654 | 1676 | |
| 1655 | 1677 | case 13: |
| 1656 | 1678 | |
| 1657 | | − { zconf_error("invalid statement"); ;} |
| 1679 | + { zconf_error("invalid statement"); } |
| 1658 | 1680 | break; |
| 1659 | 1681 | |
| 1660 | 1682 | case 28: |
| 1661 | 1683 | |
| 1662 | | − { zconf_error("unknown option \"%s\"", (yyvsp[(1) - (3)].string)); ;} |
| 1684 | + { zconf_error("unknown option \"%s\"", (yyvsp[(1) - (3)].string)); } |
| 1663 | 1685 | break; |
| 1664 | 1686 | |
| 1665 | 1687 | case 29: |
| 1666 | 1688 | |
| 1667 | | − { zconf_error("invalid option"); ;} |
| 1689 | + { zconf_error("invalid option"); } |
| 1668 | 1690 | break; |
| 1669 | 1691 | |
| 1670 | 1692 | case 30: |
| @@ -1674,7 +1696,7 @@ yyreduce: · 3 unmodified lines |
| 1674 | 1696 | sym->flags |= SYMBOL_OPTIONAL; |
| 1675 | 1697 | menu_add_entry(sym); |
| 1676 | 1698 | printd(DEBUG_PARSE, "%s:%d:config %s\n", zconf_curname(), zconf_lineno(), (yyvsp[(2) - (3)].string)); |
| 1677 | | −;} |
| 1699 | +} |
| 1678 | 1700 | break; |
| 1679 | 1701 | |
| 1680 | 1702 | case 31: |
| @@ -1682,7 +1704,7 @@ yyreduce: · 1 unmodified line |
| 1682 | 1704 | { |
| 1683 | 1705 | menu_end_entry(); |
| 1684 | 1706 | printd(DEBUG_PARSE, "%s:%d:endconfig\n", zconf_curname(), zconf_lineno()); |
| 1685 | | −;} |
| 1707 | +} |
| 1686 | 1708 | break; |
| 1687 | 1709 | |
| 1688 | 1710 | case 32: |
| @@ -1692,7 +1714,7 @@ yyreduce: · 3 unmodified lines |
| 1692 | 1714 | sym->flags |= SYMBOL_OPTIONAL; |
| 1693 | 1715 | menu_add_entry(sym); |
| 1694 | 1716 | printd(DEBUG_PARSE, "%s:%d:menuconfig %s\n", zconf_curname(), zconf_lineno(), (yyvsp[(2) - (3)].string)); |
| 1695 | | −;} |
| 1717 | +} |
| 1696 | 1718 | break; |
| 1697 | 1719 | |
| 1698 | 1720 | case 33: |
| @@ -1704,7 +1726,7 @@ yyreduce: · 5 unmodified lines |
| 1704 | 1726 | zconfprint("warning: menuconfig statement without prompt"); |
| 1705 | 1727 | menu_end_entry(); |
| 1706 | 1728 | printd(DEBUG_PARSE, "%s:%d:endconfig\n", zconf_curname(), zconf_lineno()); |
| 1707 | | −;} |
| 1729 | +} |
| 1708 | 1730 | break; |
| 1709 | 1731 | |
| 1710 | 1732 | case 41: |
| @@ -1714,7 +1736,7 @@ yyreduce: · 3 unmodified lines |
| 1714 | 1736 | printd(DEBUG_PARSE, "%s:%d:type(%u)\n", |
| 1715 | 1737 | zconf_curname(), zconf_lineno(), |
| 1716 | 1738 | (yyvsp[(1) - (3)].id)->stype); |
| 1717 | | −;} |
| 1739 | +} |
| 1718 | 1740 | break; |
| 1719 | 1741 | |
| 1720 | 1742 | case 42: |
| @@ -1722,7 +1744,7 @@ yyreduce: · 1 unmodified line |
| 1722 | 1744 | { |
| 1723 | 1745 | menu_add_prompt(P_PROMPT, (yyvsp[(2) - (4)].string), (yyvsp[(3) - (4)].expr)); |
| 1724 | 1746 | printd(DEBUG_PARSE, "%s:%d:prompt\n", zconf_curname(), zconf_lineno()); |
| 1725 | | −;} |
| 1747 | +} |
| 1726 | 1748 | break; |
| 1727 | 1749 | |
| 1728 | 1750 | case 43: |
| @@ -1734,7 +1756,7 @@ yyreduce: · 5 unmodified lines |
| 1734 | 1756 | printd(DEBUG_PARSE, "%s:%d:default(%u)\n", |
| 1735 | 1757 | zconf_curname(), zconf_lineno(), |
| 1736 | 1758 | (yyvsp[(1) - (4)].id)->stype); |
| 1737 | | −;} |
| 1759 | +} |
| 1738 | 1760 | break; |
| 1739 | 1761 | |
| 1740 | 1762 | case 44: |
| @@ -1742,7 +1764,7 @@ yyreduce: · 1 unmodified line |
| 1742 | 1764 | { |
| 1743 | 1765 | menu_add_symbol(P_SELECT, sym_lookup((yyvsp[(2) - (4)].string), 0), (yyvsp[(3) - (4)].expr)); |
| 1744 | 1766 | printd(DEBUG_PARSE, "%s:%d:select\n", zconf_curname(), zconf_lineno()); |
| 1745 | | −;} |
| 1767 | +} |
| 1746 | 1768 | break; |
| 1747 | 1769 | |
| 1748 | 1770 | case 45: |
| @@ -1750,7 +1772,7 @@ yyreduce: · 1 unmodified line |
| 1750 | 1772 | { |
| 1751 | 1773 | menu_add_expr(P_RANGE, expr_alloc_comp(E_RANGE,(yyvsp[(2) - (5)].symbol), (yyvsp[(3) - (5)].symbol)), (yyvsp[(4) - (5)].expr)); |
| 1752 | 1774 | printd(DEBUG_PARSE, "%s:%d:range\n", zconf_curname(), zconf_lineno()); |
| 1753 | | −;} |
| 1775 | +} |
| 1754 | 1776 | break; |
| 1755 | 1777 | |
| 1756 | 1778 | case 48: |
| @@ -1762,17 +1784,17 @@ yyreduce: · 5 unmodified lines |
| 1762 | 1784 | else |
| 1763 | 1785 | zconfprint("warning: ignoring unknown option %s", (yyvsp[(2) - (3)].string)); |
| 1764 | 1786 | free((yyvsp[(2) - (3)].string)); |
| 1765 | | −;} |
| 1787 | +} |
| 1766 | 1788 | break; |
| 1767 | 1789 | |
| 1768 | 1790 | case 49: |
| 1769 | 1791 | |
| 1770 | | − { (yyval.string) = NULL; ;} |
| 1792 | + { (yyval.string) = NULL; } |
| 1771 | 1793 | break; |
| 1772 | 1794 | |
| 1773 | 1795 | case 50: |
| 1774 | 1796 | |
| 1775 | | − { (yyval.string) = (yyvsp[(2) - (2)].string); ;} |
| 1797 | + { (yyval.string) = (yyvsp[(2) - (2)].string); } |
| 1776 | 1798 | break; |
| 1777 | 1799 | |
| 1778 | 1800 | case 51: |
| @@ -1783,14 +1805,14 @@ yyreduce: · 4 unmodified lines |
| 1783 | 1805 | menu_add_entry(sym); |
| 1784 | 1806 | menu_add_expr(P_CHOICE, NULL, NULL); |
| 1785 | 1807 | printd(DEBUG_PARSE, "%s:%d:choice\n", zconf_curname(), zconf_lineno()); |
| 1786 | | −;} |
| 1808 | +} |
| 1787 | 1809 | break; |
| 1788 | 1810 | |
| 1789 | 1811 | case 52: |
| 1790 | 1812 | |
| 1791 | 1813 | { |
| 1792 | 1814 | (yyval.menu) = menu_add_menu(); |
| 1793 | | −;} |
| 1815 | +} |
| 1794 | 1816 | break; |
| 1795 | 1817 | |
| 1796 | 1818 | case 53: |
| @@ -1800,7 +1822,7 @@ yyreduce: · 3 unmodified lines |
| 1800 | 1822 | menu_end_menu(); |
| 1801 | 1823 | printd(DEBUG_PARSE, "%s:%d:endchoice\n", zconf_curname(), zconf_lineno()); |
| 1802 | 1824 | } |
| 1803 | | −;} |
| 1825 | +} |
| 1804 | 1826 | break; |
| 1805 | 1827 | |
| 1806 | 1828 | case 61: |
| @@ -1808,7 +1830,7 @@ yyreduce: · 1 unmodified line |
| 1808 | 1830 | { |
| 1809 | 1831 | menu_add_prompt(P_PROMPT, (yyvsp[(2) - (4)].string), (yyvsp[(3) - (4)].expr)); |
| 1810 | 1832 | printd(DEBUG_PARSE, "%s:%d:prompt\n", zconf_curname(), zconf_lineno()); |
| 1811 | | −;} |
| 1833 | +} |
| 1812 | 1834 | break; |
| 1813 | 1835 | |
| 1814 | 1836 | case 62: |
| @@ -1821,7 +1843,7 @@ yyreduce: · 6 unmodified lines |
| 1821 | 1843 | (yyvsp[(1) - (3)].id)->stype); |
| 1822 | 1844 | } else |
| 1823 | 1845 | YYERROR; |
| 1824 | | −;} |
| 1846 | +} |
| 1825 | 1847 | break; |
| 1826 | 1848 | |
| 1827 | 1849 | case 63: |
| @@ -1829,7 +1851,7 @@ yyreduce: · 1 unmodified line |
| 1829 | 1851 | { |
| 1830 | 1852 | current_entry->sym->flags |= SYMBOL_OPTIONAL; |
| 1831 | 1853 | printd(DEBUG_PARSE, "%s:%d:optional\n", zconf_curname(), zconf_lineno()); |
| 1832 | | −;} |
| 1854 | +} |
| 1833 | 1855 | break; |
| 1834 | 1856 | |
| 1835 | 1857 | case 64: |
| @@ -1841,7 +1863,7 @@ yyreduce: · 5 unmodified lines |
| 1841 | 1863 | zconf_curname(), zconf_lineno()); |
| 1842 | 1864 | } else |
| 1843 | 1865 | YYERROR; |
| 1844 | | −;} |
| 1866 | +} |
| 1845 | 1867 | break; |
| 1846 | 1868 | |
| 1847 | 1869 | case 67: |
| @@ -1851,7 +1873,7 @@ yyreduce: · 3 unmodified lines |
| 1851 | 1873 | menu_add_entry(NULL); |
| 1852 | 1874 | menu_add_dep((yyvsp[(2) - (3)].expr)); |
| 1853 | 1875 | (yyval.menu) = menu_add_menu(); |
| 1854 | | −;} |
| 1876 | +} |
| 1855 | 1877 | break; |
| 1856 | 1878 | |
| 1857 | 1879 | case 68: |
| @@ -1861,14 +1883,14 @@ yyreduce: · 3 unmodified lines |
| 1861 | 1883 | menu_end_menu(); |
| 1862 | 1884 | printd(DEBUG_PARSE, "%s:%d:endif\n", zconf_curname(), zconf_lineno()); |
| 1863 | 1885 | } |
| 1864 | | −;} |
| 1886 | +} |
| 1865 | 1887 | break; |
| 1866 | 1888 | |
| 1867 | 1889 | case 74: |
| 1868 | 1890 | |
| 1869 | 1891 | { |
| 1870 | 1892 | menu_add_prompt(P_MENU, (yyvsp[(2) - (3)].string), NULL); |
| 1871 | | −;} |
| 1893 | +} |
| 1872 | 1894 | break; |
| 1873 | 1895 | |
| 1874 | 1896 | case 75: |
| @@ -1877,14 +1899,14 @@ yyreduce: · 2 unmodified lines |
| 1877 | 1899 | menu_add_entry(NULL); |
| 1878 | 1900 | menu_add_prompt(P_MENU, (yyvsp[(2) - (3)].string), NULL); |
| 1879 | 1901 | printd(DEBUG_PARSE, "%s:%d:menu\n", zconf_curname(), zconf_lineno()); |
| 1880 | | −;} |
| 1902 | +} |
| 1881 | 1903 | break; |
| 1882 | 1904 | |
| 1883 | 1905 | case 76: |
| 1884 | 1906 | |
| 1885 | 1907 | { |
| 1886 | 1908 | (yyval.menu) = menu_add_menu(); |
| 1887 | | −;} |
| 1909 | +} |
| 1888 | 1910 | break; |
| 1889 | 1911 | |
| 1890 | 1912 | case 77: |
| @@ -1894,7 +1916,7 @@ yyreduce: · 3 unmodified lines |
| 1894 | 1916 | menu_end_menu(); |
| 1895 | 1917 | printd(DEBUG_PARSE, "%s:%d:endmenu\n", zconf_curname(), zconf_lineno()); |
| 1896 | 1918 | } |
| 1897 | | −;} |
| 1919 | +} |
| 1898 | 1920 | break; |
| 1899 | 1921 | |
| 1900 | 1922 | case 83: |
| @@ -1902,7 +1924,7 @@ yyreduce: · 1 unmodified line |
| 1902 | 1924 | { |
| 1903 | 1925 | printd(DEBUG_PARSE, "%s:%d:source %s\n", zconf_curname(), zconf_lineno(), (yyvsp[(2) - (3)].string)); |
| 1904 | 1926 | zconf_nextfile((yyvsp[(2) - (3)].string)); |
| 1905 | | −;} |
| 1927 | +} |
| 1906 | 1928 | break; |
| 1907 | 1929 | |
| 1908 | 1930 | case 84: |
| @@ -1911,14 +1933,14 @@ yyreduce: · 2 unmodified lines |
| 1911 | 1933 | menu_add_entry(NULL); |
| 1912 | 1934 | menu_add_prompt(P_COMMENT, (yyvsp[(2) - (3)].string), NULL); |
| 1913 | 1935 | printd(DEBUG_PARSE, "%s:%d:comment\n", zconf_curname(), zconf_lineno()); |
| 1914 | | −;} |
| 1936 | +} |
| 1915 | 1937 | break; |
| 1916 | 1938 | |
| 1917 | 1939 | case 85: |
| 1918 | 1940 | |
| 1919 | 1941 | { |
| 1920 | 1942 | menu_end_entry(); |
| 1921 | | −;} |
| 1943 | +} |
| 1922 | 1944 | break; |
| 1923 | 1945 | |
| 1924 | 1946 | case 86: |
| @@ -1926,14 +1948,14 @@ yyreduce: · 1 unmodified line |
| 1926 | 1948 | { |
| 1927 | 1949 | printd(DEBUG_PARSE, "%s:%d:help\n", zconf_curname(), zconf_lineno()); |
| 1928 | 1950 | zconf_starthelp(); |
| 1929 | | −;} |
| 1951 | +} |
| 1930 | 1952 | break; |
| 1931 | 1953 | |
| 1932 | 1954 | case 87: |
| 1933 | 1955 | |
| 1934 | 1956 | { |
| 1935 | 1957 | current_entry->help = (yyvsp[(2) - (2)].string); |
| 1936 | | −;} |
| 1958 | +} |
| 1937 | 1959 | break; |
| 1938 | 1960 | |
| 1939 | 1961 | case 92: |
| @@ -1941,102 +1963,113 @@ yyreduce: · 1 unmodified line |
| 1941 | 1963 | { |
| 1942 | 1964 | menu_add_dep((yyvsp[(3) - (4)].expr)); |
| 1943 | 1965 | printd(DEBUG_PARSE, "%s:%d:depends on\n", zconf_curname(), zconf_lineno()); |
| 1944 | | −;} |
| 1966 | +} |
| 1945 | 1967 | break; |
| 1946 | 1968 | |
| 1947 | 1969 | case 96: |
| 1948 | 1970 | |
| 1949 | 1971 | { |
| 1950 | 1972 | menu_add_visibility((yyvsp[(2) - (2)].expr)); |
| 1951 | | −;} |
| 1973 | +} |
| 1952 | 1974 | break; |
| 1953 | 1975 | |
| 1954 | 1976 | case 98: |
| 1955 | 1977 | |
| 1956 | 1978 | { |
| 1957 | 1979 | menu_add_prompt(P_PROMPT, (yyvsp[(1) - (2)].string), (yyvsp[(2) - (2)].expr)); |
| 1958 | | −;} |
| 1980 | +} |
| 1959 | 1981 | break; |
| 1960 | 1982 | |
| 1961 | 1983 | case 101: |
| 1962 | 1984 | |
| 1963 | | − { (yyval.id) = (yyvsp[(1) - (2)].id); ;} |
| 1985 | + { (yyval.id) = (yyvsp[(1) - (2)].id); } |
| 1964 | 1986 | break; |
| 1965 | 1987 | |
| 1966 | 1988 | case 102: |
| 1967 | 1989 | |
| 1968 | | − { (yyval.id) = (yyvsp[(1) - (2)].id); ;} |
| 1990 | + { (yyval.id) = (yyvsp[(1) - (2)].id); } |
| 1969 | 1991 | break; |
| 1970 | 1992 | |
| 1971 | 1993 | case 103: |
| 1972 | 1994 | |
| 1973 | | − { (yyval.id) = (yyvsp[(1) - (2)].id); ;} |
| 1995 | + { (yyval.id) = (yyvsp[(1) - (2)].id); } |
| 1974 | 1996 | break; |
| 1975 | 1997 | |
| 1976 | 1998 | case 106: |
| 1977 | 1999 | |
| 1978 | | − { (yyval.expr) = NULL; ;} |
| 2000 | + { (yyval.expr) = NULL; } |
| 1979 | 2001 | break; |
| 1980 | 2002 | |
| 1981 | 2003 | case 107: |
| 1982 | 2004 | |
| 1983 | | − { (yyval.expr) = (yyvsp[(2) - (2)].expr); ;} |
| 2005 | + { (yyval.expr) = (yyvsp[(2) - (2)].expr); } |
| 1984 | 2006 | break; |
| 1985 | 2007 | |
| 1986 | 2008 | case 108: |
| 1987 | 2009 | |
| 1988 | | − { (yyval.expr) = expr_alloc_symbol((yyvsp[(1) - (1)].symbol)); ;} |
| 2010 | + { (yyval.expr) = expr_alloc_symbol((yyvsp[(1) - (1)].symbol)); } |
| 1989 | 2011 | break; |
| 1990 | 2012 | |
| 1991 | 2013 | case 109: |
| 1992 | 2014 | |
| 1993 | | − { (yyval.expr) = expr_alloc_comp(E_EQUAL, (yyvsp[(1) - (3)].symbol), (yyvsp[(3) - (3)].symbol)); ;} |
| 2015 | + { (yyval.expr) = expr_alloc_comp(E_EQUAL, (yyvsp[(1) - (3)].symbol), (yyvsp[(3) - (3)].symbol)); } |
| 1994 | 2016 | break; |
| 1995 | 2017 | |
| 1996 | 2018 | case 110: |
| 1997 | 2019 | |
| 1998 | | − { (yyval.expr) = expr_alloc_comp(E_UNEQUAL, (yyvsp[(1) - (3)].symbol), (yyvsp[(3) - (3)].symbol)); ;} |
| 2020 | + { (yyval.expr) = expr_alloc_comp(E_UNEQUAL, (yyvsp[(1) - (3)].symbol), (yyvsp[(3) - (3)].symbol)); } |
| 1999 | 2021 | break; |
| 2000 | 2022 | |
| 2001 | 2023 | case 111: |
| 2002 | 2024 | |
| 2003 | | − { (yyval.expr) = (yyvsp[(2) - (3)].expr); ;} |
| 2025 | + { (yyval.expr) = (yyvsp[(2) - (3)].expr); } |
| 2004 | 2026 | break; |
| 2005 | 2027 | |
| 2006 | 2028 | case 112: |
| 2007 | 2029 | |
| 2008 | | − { (yyval.expr) = expr_alloc_one(E_NOT, (yyvsp[(2) - (2)].expr)); ;} |
| 2030 | + { (yyval.expr) = expr_alloc_one(E_NOT, (yyvsp[(2) - (2)].expr)); } |
| 2009 | 2031 | break; |
| 2010 | 2032 | |
| 2011 | 2033 | case 113: |
| 2012 | 2034 | |
| 2013 | | − { (yyval.expr) = expr_alloc_two(E_OR, (yyvsp[(1) - (3)].expr), (yyvsp[(3) - (3)].expr)); ;} |
| 2035 | + { (yyval.expr) = expr_alloc_two(E_OR, (yyvsp[(1) - (3)].expr), (yyvsp[(3) - (3)].expr)); } |
| 2014 | 2036 | break; |
| 2015 | 2037 | |
| 2016 | 2038 | case 114: |
| 2017 | 2039 | |
| 2018 | | − { (yyval.expr) = expr_alloc_two(E_AND, (yyvsp[(1) - (3)].expr), (yyvsp[(3) - (3)].expr)); ;} |
| 2040 | + { (yyval.expr) = expr_alloc_two(E_AND, (yyvsp[(1) - (3)].expr), (yyvsp[(3) - (3)].expr)); } |
| 2019 | 2041 | break; |
| 2020 | 2042 | |
| 2021 | 2043 | case 115: |
| 2022 | 2044 | |
| 2023 | | − { (yyval.symbol) = sym_lookup((yyvsp[(1) - (1)].string), 0); free((yyvsp[(1) - (1)].string)); ;} |
| 2045 | + { (yyval.symbol) = sym_lookup((yyvsp[(1) - (1)].string), 0); free((yyvsp[(1) - (1)].string)); } |
| 2024 | 2046 | break; |
| 2025 | 2047 | |
| 2026 | 2048 | case 116: |
| 2027 | 2049 | |
| 2028 | | − { (yyval.symbol) = sym_lookup((yyvsp[(1) - (1)].string), SYMBOL_CONST); free((yyvsp[(1) - (1)].string)); ;} |
| 2050 | + { (yyval.symbol) = sym_lookup((yyvsp[(1) - (1)].string), SYMBOL_CONST); free((yyvsp[(1) - (1)].string)); } |
| 2029 | 2051 | break; |
| 2030 | 2052 | |
| 2031 | 2053 | case 117: |
| 2032 | 2054 | |
| 2033 | | − { (yyval.string) = NULL; ;} |
| 2055 | + { (yyval.string) = NULL; } |
| 2034 | 2056 | break; |
| 2035 | 2057 | |
| 2036 | 2058 | |
| 2037 | 2059 | |
| 2038 | 2060 | default: break; |
| 2039 | 2061 | } |
| 2062 | + /* User semantic actions sometimes alter yychar, and that requires |
| 2063 | + that yytoken be updated with the new translation. We take the |
| 2064 | + approach of translating immediately before every use of yytoken. |
| 2065 | + One alternative is translating here after every semantic action, |
| 2066 | + but that translation would be missed if the semantic action invokes |
| 2067 | + YYABORT, YYACCEPT, or YYERROR immediately after altering yychar or |
| 2068 | + if it invokes YYBACKUP. In the case of YYABORT or YYACCEPT, an |
| 2069 | + incorrect destructor might then be invoked immediately. In the |
| 2070 | + case of YYERROR or YYBACKUP, subsequent parser actions might lead |
| 2071 | + to an incorrect destructor call or verbose syntax error message |
| 2072 | + before the lookahead is translated. */ |
| 2040 | 2073 | YY_SYMBOL_PRINT ("-> $$ =", yyr1[yyn], &yyval, &yyloc); |
| 2041 | 2074 | |
| 2042 | 2075 | YYPOPSTACK (yylen); |
| @@ -2064,6 +2097,10 @@ yyreduce: · 21 unmodified lines |
| 2064 | 2097 | | yyerrlab -- here on detecting error | |
| 2065 | 2098 | `------------------------------------*/ |
| 2066 | 2099 | yyerrlab: |
| 2100 | + /* Make sure we have latest lookahead translation. See comments at |
| 2101 | + user semantic actions for why this is necessary. */ |
| 2102 | + yytoken = yychar == YYEMPTY ? YYEMPTY : YYTRANSLATE (yychar); |
| 2103 | + |
| 2067 | 2104 | /* If not already recovering from an error, report this error. */ |
| 2068 | 2105 | if (!yyerrstatus) |
| 2069 | 2106 | { |
| @@ -2071,37 +2108,36 @@ yyerrlab: · 1 unmodified line |
| 2071 | 2108 | #if ! YYERROR_VERBOSE |
| 2072 | 2109 | yyerror (YY_("syntax error")); |
| 2073 | 2110 | #else |
| 2111 | +# define YYSYNTAX_ERROR yysyntax_error (&yymsg_alloc, &yymsg, \ |
| 2112 | + yyssp, yytoken) |
| 2074 | 2113 | { |
| 2075 | | − YYSIZE_T yysize = yysyntax_error (0, yystate, yychar); |
| 2076 | | − if (yymsg_alloc < yysize && yymsg_alloc < YYSTACK_ALLOC_MAXIMUM) |
| 2077 | | − { |
| 2078 | | − YYSIZE_T yyalloc = 2 * yysize; |
| 2079 | | − if (! (yysize <= yyalloc && yyalloc <= YYSTACK_ALLOC_MAXIMUM)) |
| 2080 | | − yyalloc = YYSTACK_ALLOC_MAXIMUM; |
| 2081 | | − if (yymsg != yymsgbuf) |
| 2082 | | − YYSTACK_FREE (yymsg); |
| 2083 | | − yymsg = (char *) YYSTACK_ALLOC (yyalloc); |
| 2084 | | − if (yymsg) |
| 2085 | | − yymsg_alloc = yyalloc; |
| 2086 | | − else |
| 2087 | | − { |
| 2088 | | − yymsg = yymsgbuf; |
| 2089 | | − yymsg_alloc = sizeof yymsgbuf; |
| 2090 | | − } |
| 2091 | | − } |
| 2092 | | − |
| 2093 | | − if (0 < yysize && yysize <= yymsg_alloc) |
| 2094 | | − { |
| 2095 | | − (void) yysyntax_error (yymsg, yystate, yychar); |
| 2096 | | − yyerror (yymsg); |
| 2097 | | − } |
| 2098 | | − else |
| 2099 | | − { |
| 2100 | | − yyerror (YY_("syntax error")); |
| 2101 | | − if (yysize != 0) |
| 2102 | | − goto yyexhaustedlab; |
| 2103 | | − } |
| 2114 | + char const *yymsgp = YY_("syntax error"); |
| 2115 | + int yysyntax_error_status; |
| 2116 | + yysyntax_error_status = YYSYNTAX_ERROR; |
| 2117 | + if (yysyntax_error_status == 0) |
| 2118 | + yymsgp = yymsg; |
| 2119 | + else if (yysyntax_error_status == 1) |
| 2120 | + { |
| 2121 | + if (yymsg != yymsgbuf) |
| 2122 | + YYSTACK_FREE (yymsg); |
| 2123 | + yymsg = (char *) YYSTACK_ALLOC (yymsg_alloc); |
| 2124 | + if (!yymsg) |
| 2125 | + { |
| 2126 | + yymsg = yymsgbuf; |
| 2127 | + yymsg_alloc = sizeof yymsgbuf; |
| 2128 | + yysyntax_error_status = 2; |
| 2129 | + } |
| 2130 | + else |
| 2131 | + { |
| 2132 | + yysyntax_error_status = YYSYNTAX_ERROR; |
| 2133 | + yymsgp = yymsg; |
| 2134 | + } |
| 2135 | + } |
| 2136 | + yyerror (yymsgp); |
| 2137 | + if (yysyntax_error_status == 2) |
| 2138 | + goto yyexhaustedlab; |
| 2104 | 2139 | } |
| 2140 | +# undef YYSYNTAX_ERROR |
| 2105 | 2141 | #endif |
| 2106 | 2142 | } |
| 2107 | 2143 | |
| @@ -2160,7 +2196,7 @@ yyerrlab1: · 52 unmodified lines |
| 2160 | 2196 | for (;;) |
| 2161 | 2197 | { |
| 2162 | 2198 | yyn = yypact[yystate]; |
| 2163 | | − if (yyn != YYPACT_NINF) |
| 2199 | + if (!yypact_value_is_default (yyn)) |
| 2164 | 2200 | { |
| 2165 | 2201 | yyn += YYTERROR; |
| 2166 | 2202 | if (0 <= yyn && yyn <= YYLAST && yycheck[yyn] == YYTERROR) |
| @@ -2219,8 +2255,13 @@ yyexhaustedlab: · 52 unmodified lines |
| 2219 | 2255 | |
| 2220 | 2256 | yyreturn: |
| 2221 | 2257 | if (yychar != YYEMPTY) |
| 2222 | | − yydestruct ("Cleanup: discarding lookahead", |
| 2223 | | − yytoken, &yylval); |
| 2258 | + { |
| 2259 | + /* Make sure we have latest lookahead translation. See comments at |
| 2260 | + user semantic actions for why this is necessary. */ |
| 2261 | + yytoken = YYTRANSLATE (yychar); |
| 2262 | + yydestruct ("Cleanup: discarding lookahead", |
| 2263 | + yytoken, &yylval); |
| 2264 | + } |
| 2224 | 2265 | /* Do not reclaim the symbols of the rule which action triggered |
| 2225 | 2266 | this YYABORT or YYACCEPT. */ |
| 2226 | 2267 | YYPOPSTACK (yylen); |
| @@ -2256,9 +2297,6 @@ void conf_parse(const char *name) · 29 unmodified lines |
| 2256 | 2297 | |
| 2257 | 2298 | sym_init(); |
| 2258 | 2299 | _menu_init(); |
| 2259 | | − modules_sym = sym_lookup(NULL, 0); |
| 2260 | | − modules_sym->type = S_BOOLEAN; |
| 2261 | | − modules_sym->flags |= SYMBOL_AUTO; |
| 2262 | 2300 | rootmenu.prompt = menu_add_prompt(P_MENU, "Linux Kernel Configuration", NULL); |
| 2263 | 2301 | |
| 2264 | 2302 | if (getenv("ZCONF_DEBUG")) |
| @@ -2266,12 +2304,8 @@ void conf_parse(const char *name) · 1 unmodified line |
| 2266 | 2304 | zconfparse(); |
| 2267 | 2305 | if (zconfnerrs) |
| 2268 | 2306 | exit(1); |
| 2269 | | − if (!modules_sym->prop) { |
| 2270 | | − struct property *prop; |
| 2271 | | − |
| 2272 | | − prop = prop_alloc(P_DEFAULT, modules_sym); |
| 2273 | | − prop->expr = expr_alloc_symbol(sym_lookup("MODULES", 0)); |
| 2274 | | − } |
| 2307 | + if (!modules_sym) |
| 2308 | + modules_sym = sym_find( "n" ); |
| 2275 | 2309 | |
| 2276 | 2310 | rootmenu.prompt->text = _(rootmenu.prompt->text); |
| 2277 | 2311 | rootmenu.prompt->text = sym_expand_string_value(rootmenu.prompt->text); |