Newer
Older
-1, -1, -1, 147, -1, 149, 129, 130, 131, 132,
133, 134, 135, 136, 137, 138, 139, 140, 141, 142,
-1, -1, -1, -1, 147, -1, 149, 129, 130, 131,
132, 133, 134, 135, 136, 137, 138, 139, 140, 141,
142, -1, -1, -1, -1, 147
/* YYSTOS[STATE-NUM] -- The (internal number of the) accessing
symbol of state STATE-NUM. */
static const yytype_uint8 yystos[] =
{
0, 1, 159, 160, 6, 0, 4, 12, 13, 36,
41, 42, 44, 45, 46, 48, 49, 50, 51, 52,
53, 54, 55, 56, 57, 58, 60, 61, 62, 63,
64, 65, 66, 67, 68, 69, 71, 72, 73, 74,
75, 76, 77, 78, 79, 80, 81, 82, 83, 84,
87, 88, 92, 97, 98, 99, 100, 103, 105, 107,
3018
3019
3020
3021
3022
3023
3024
3025
3026
3027
3028
3029
3030
3031
3032
3033
3034
3035
3036
3037
3038
3039
3040
3041
3042
3043
3044
3045
3046
3047
3048
3049
3050
3051
3052
3053
3054
3055
3056
3057
3058
3059
3060
3061
3062
3063
3064
3065
3066
3067
3068
3069
3070
3071
3072
3073
3074
3075
3076
3077
3078
3079
3080
3081
3082
3083
3084
3085
3086
3087
3088
3089
3090
3091
3092
3093
3094
3095
3096
3097
3098
3099
3100
3101
3102
3103
3104
3105
3106
3107
3108
3109
3110
3111
3112
3113
3114
3115
3116
3117
3118
108, 109, 110, 111, 112, 113, 114, 115, 116, 120,
121, 161, 163, 164, 182, 191, 196, 199, 200, 201,
202, 203, 204, 205, 225, 226, 227, 228, 229, 230,
3, 4, 5, 7, 9, 10, 11, 14, 15, 16,
17, 18, 19, 20, 21, 22, 23, 24, 25, 26,
27, 28, 29, 30, 31, 32, 33, 34, 37, 38,
39, 40, 43, 111, 117, 118, 119, 122, 123, 124,
125, 126, 127, 128, 138, 139, 143, 145, 146, 148,
150, 152, 153, 155, 180, 181, 231, 232, 244, 13,
55, 148, 6, 155, 6, 6, 6, 6, 150, 148,
155, 148, 148, 4, 148, 155, 148, 148, 4, 155,
148, 148, 59, 55, 55, 6, 55, 55, 52, 55,
57, 57, 49, 52, 55, 57, 52, 55, 57, 52,
55, 148, 52, 155, 138, 139, 148, 155, 233, 234,
233, 155, 49, 52, 55, 155, 233, 4, 49, 53,
63, 55, 55, 52, 4, 111, 155, 4, 6, 49,
52, 4, 4, 4, 5, 35, 49, 52, 55, 57,
139, 155, 196, 205, 231, 236, 237, 238, 4, 148,
148, 148, 4, 155, 240, 4, 148, 148, 6, 150,
4, 4, 5, 155, 5, 155, 6, 155, 4, 150,
152, 157, 181, 155, 5, 244, 148, 150, 148, 150,
148, 150, 148, 150, 148, 150, 148, 150, 148, 150,
148, 150, 148, 150, 148, 150, 148, 150, 148, 150,
148, 150, 148, 150, 148, 150, 148, 150, 148, 150,
148, 150, 148, 150, 148, 150, 148, 150, 148, 148,
148, 148, 7, 148, 148, 148, 4, 231, 231, 231,
231, 151, 155, 231, 4, 103, 104, 4, 4, 196,
197, 198, 236, 6, 6, 129, 130, 131, 132, 133,
134, 135, 136, 137, 138, 139, 140, 141, 142, 147,
6, 6, 231, 5, 231, 184, 231, 139, 231, 238,
239, 231, 231, 148, 231, 239, 231, 231, 148, 239,
231, 231, 236, 148, 155, 148, 148, 237, 237, 237,
148, 192, 193, 194, 195, 148, 148, 148, 236, 231,
4, 236, 233, 233, 233, 231, 231, 138, 139, 155,
155, 233, 155, 155, 155, 138, 139, 148, 198, 233,
155, 148, 155, 148, 148, 148, 237, 236, 148, 4,
6, 150, 150, 198, 6, 155, 155, 150, 150, 150,
150, 5, 155, 5, 5, 5, 155, 231, 238, 156,
239, 8, 140, 6, 6, 231, 231, 231, 152, 231,
155, 106, 231, 231, 231, 6, 6, 198, 6, 198,
236, 150, 231, 4, 155, 165, 6, 231, 231, 231,
231, 231, 231, 231, 231, 231, 231, 231, 231, 231,
231, 231, 231, 231, 231, 231, 231, 231, 231, 231,
231, 231, 231, 231, 231, 231, 231, 231, 231, 231,
231, 231, 231, 231, 231, 231, 231, 231, 231, 4,
243, 244, 243, 243, 243, 231, 243, 243, 243, 150,
149, 7, 180, 239, 151, 7, 180, 181, 152, 7,
150, 156, 49, 52, 55, 57, 191, 6, 231, 231,
231, 231, 231, 231, 231, 231, 231, 231, 231, 231,
231, 231, 231, 6, 149, 154, 154, 151, 154, 183,
149, 140, 154, 156, 149, 149, 231, 149, 156, 149,
149, 231, 156, 149, 149, 7, 231, 231, 231, 231,
7, 7, 223, 223, 231, 148, 148, 148, 148, 231,
231, 231, 7, 155, 149, 6, 154, 154, 154, 233,
233, 197, 197, 154, 231, 231, 231, 231, 209, 154,
198, 231, 231, 231, 231, 231, 7, 224, 7, 231,
6, 231, 231, 156, 239, 239, 231, 231, 151, 155,
231, 4, 231, 239, 156, 231, 155, 231, 238, 149,
149, 149, 103, 154, 198, 155, 8, 149, 151, 156,
156, 154, 156, 231, 151, 181, 231, 4, 93, 94,
95, 96, 156, 168, 172, 175, 177, 178, 149, 151,
149, 151, 149, 151, 149, 151, 149, 151, 149, 151,
149, 151, 149, 151, 149, 151, 149, 151, 149, 151,
154, 154, 149, 151, 149, 151, 149, 151, 149, 151,
149, 151, 149, 151, 154, 154, 154, 154, 154, 154,
150, 152, 149, 154, 154, 149, 149, 6, 154, 149,
154, 236, 156, 152, 180, 181, 244, 231, 6, 4,
4, 155, 241, 151, 155, 155, 155, 155, 8, 6,
135, 162, 239, 231, 6, 4, 7, 231, 238, 106,
7, 7, 149, 7, 106, 7, 7, 149, 106, 7,
7, 231, 149, 156, 149, 149, 231, 236, 4, 222,
6, 149, 188, 231, 244, 188, 188, 188, 149, 149,
149, 236, 239, 152, 233, 231, 231, 156, 156, 231,
154, 154, 154, 70, 79, 85, 86, 89, 90, 219,
220, 233, 156, 206, 149, 156, 149, 149, 149, 231,
6, 231, 149, 151, 151, 156, 156, 151, 151, 239,
151, 151, 156, 156, 8, 239, 7, 7, 7, 152,
231, 156, 231, 231, 7, 152, 236, 6, 151, 152,
181, 243, 156, 169, 148, 148, 155, 179, 6, 231,
231, 231, 231, 231, 231, 231, 231, 231, 4, 239,
243, 231, 243, 6, 151, 4, 103, 104, 231, 6,
6, 6, 7, 150, 240, 242, 6, 239, 239, 239,
239, 231, 135, 243, 149, 154, 7, 233, 55, 236,
236, 7, 236, 55, 57, 236, 236, 7, 57, 236,
236, 6, 7, 7, 7, 7, 70, 221, 6, 7,
149, 149, 149, 149, 7, 7, 7, 6, 156, 4,
154, 154, 154, 156, 233, 233, 233, 4, 6, 155,
148, 6, 91, 6, 91, 156, 220, 154, 219, 7,
6, 7, 7, 7, 6, 155, 6, 6, 6, 55,
6, 6, 156, 231, 156, 236, 236, 236, 4, 154,
8, 8, 149, 4, 4, 156, 6, 4, 6, 148,
231, 231, 235, 236, 155, 149, 151, 149, 151, 149,
151, 149, 151, 151, 149, 149, 149, 149, 180, 7,
180, 181, 152, 7, 6, 240, 231, 154, 156, 156,
156, 156, 156, 6, 6, 162, 231, 155, 231, 6,
155, 63, 190, 190, 236, 6, 155, 155, 6, 6,
236, 155, 6, 6, 5, 236, 236, 236, 4, 6,
236, 7, 7, 7, 7, 236, 236, 236, 7, 6,
7, 231, 231, 231, 155, 154, 156, 154, 156, 154,
156, 150, 231, 236, 231, 6, 6, 231, 233, 156,
5, 155, 236, 155, 155, 155, 236, 239, 155, 151,
3119
3120
3121
3122
3123
3124
3125
3126
3127
3128
3129
3130
3131
3132
3133
3134
3135
3136
3137
3138
3139
3140
3141
3142
3143
3144
3145
3146
3147
3148
3149
3150
3151
3152
3153
3154
6, 6, 102, 231, 231, 231, 6, 6, 7, 6,
181, 166, 231, 154, 154, 154, 156, 167, 231, 152,
236, 244, 231, 6, 4, 241, 6, 151, 240, 6,
6, 6, 6, 243, 154, 231, 231, 233, 6, 6,
6, 231, 231, 6, 231, 5, 6, 6, 106, 189,
231, 6, 236, 236, 236, 236, 6, 4, 6, 6,
231, 231, 244, 156, 149, 154, 156, 197, 233, 6,
210, 233, 6, 211, 233, 6, 212, 231, 156, 154,
149, 156, 154, 6, 139, 233, 6, 235, 233, 233,
6, 156, 231, 236, 154, 156, 8, 156, 149, 155,
231, 244, 149, 154, 231, 231, 236, 155, 154, 156,
4, 6, 6, 6, 7, 6, 152, 6, 231, 185,
156, 156, 156, 156, 5, 53, 6, 6, 6, 6,
6, 155, 155, 6, 6, 155, 231, 156, 154, 155,
154, 155, 154, 155, 151, 6, 236, 7, 155, 231,
154, 156, 154, 154, 6, 156, 101, 231, 231, 239,
6, 6, 170, 231, 154, 154, 235, 231, 6, 240,
104, 154, 186, 6, 6, 6, 6, 6, 155, 235,
239, 197, 154, 156, 231, 233, 219, 231, 233, 219,
231, 233, 219, 6, 154, 156, 236, 198, 156, 233,
6, 239, 233, 231, 156, 156, 156, 155, 231, 231,
156, 6, 231, 154, 156, 187, 231, 156, 156, 156,
231, 156, 154, 156, 156, 154, 156, 156, 154, 156,
236, 6, 70, 156, 207, 155, 154, 156, 154, 6,
6, 167, 149, 154, 6, 155, 154, 4, 156, 6,
6, 156, 6, 213, 231, 6, 6, 214, 231, 6,
6, 215, 231, 6, 156, 231, 219, 198, 239, 6,
233, 239, 156, 173, 231, 235, 231, 5, 236, 155,
156, 155, 156, 155, 156, 6, 6, 156, 156, 208,
156, 154, 156, 6, 155, 149, 156, 156, 219, 6,
216, 219, 6, 217, 219, 6, 218, 219, 6, 239,
6, 171, 243, 176, 155, 6, 156, 155, 156, 155,
156, 155, 156, 156, 154, 156, 155, 235, 6, 219,
6, 219, 6, 219, 6, 243, 6, 174, 243, 156,
156, 156, 156, 154, 156, 6, 6, 6, 6, 243,
6
#define yyerrok (yyerrstatus = 0)
#define yyclearin (yychar = YYEMPTY)
#define YYEMPTY (-2)
#define YYEOF 0
#define YYACCEPT goto yyacceptlab
#define YYABORT goto yyabortlab
#define YYERROR goto yyerrorlab
/* Like YYERROR except do call yyerror. This remains here temporarily
to ease the transition to the new meaning of YYERROR, for GCC.

Christophe Geuzaine
committed
Once GCC version 2 has supplanted version 1, this can go. However,
YYFAIL appears to be in use. Nevertheless, it is formally deprecated
in Bison 2.4.2's NEWS entry, where a plan to phase it out is
discussed. */
#define YYFAIL goto yyerrlab

Christophe Geuzaine
committed
#if defined YYFAIL
/* This is here to suppress warnings from the GCC cpp's
-Wunused-macros. Normally we don't worry about that warning, but
some users do, and we want to make it easy for users to remove
YYFAIL uses, which will produce warnings from Bison 2.5. */
#endif
#define YYRECOVERING() (!!yyerrstatus)
#define YYBACKUP(Token, Value) \
do \
if (yychar == YYEMPTY && yylen == 1) \
{ \
yychar = (Token); \
yylval = (Value); \
YYPOPSTACK (1); \
goto yybackup; \
} \
else \
{ \
#define YYTERROR 1
#define YYERRCODE 256
/* YYLLOC_DEFAULT -- Set CURRENT to span from RHS[1] to RHS[N].
If N is 0, then set CURRENT to the empty location which ends
the previous symbol: RHS[0] (always defined). */
#define YYRHSLOC(Rhs, K) ((Rhs)[K])
#ifndef YYLLOC_DEFAULT
# define YYLLOC_DEFAULT(Current, Rhs, N) \
do \
{ \
(Current).first_line = YYRHSLOC (Rhs, 1).first_line; \
(Current).first_column = YYRHSLOC (Rhs, 1).first_column; \
(Current).last_line = YYRHSLOC (Rhs, N).last_line; \
(Current).last_column = YYRHSLOC (Rhs, N).last_column; \
} \
else \
{ \
(Current).first_line = (Current).last_line = \
YYRHSLOC (Rhs, 0).last_line; \
(Current).first_column = (Current).last_column = \
YYRHSLOC (Rhs, 0).last_column; \
} \
/* YY_LOCATION_PRINT -- Print the location on the stream.
This macro was not mandated originally: define only if we know
we won't break user code: when these are the locations we know. */

Christophe Geuzaine
committed
# if defined YYLTYPE_IS_TRIVIAL && YYLTYPE_IS_TRIVIAL
# define YY_LOCATION_PRINT(File, Loc) \
fprintf (File, "%d.%d-%d.%d", \
(Loc).first_line, (Loc).first_column, \
(Loc).last_line, (Loc).last_column)
# else
# define YY_LOCATION_PRINT(File, Loc) ((void) 0)
# endif
#endif
/* YYLEX -- calling `yylex' with the right arguments. */
/* Enable debugging if requested. */
#if YYDEBUG
# ifndef YYFPRINTF
# include <stdio.h> /* INFRINGES ON USER NAME SPACE */
# define YYFPRINTF fprintf
# endif
# define YYDPRINTF(Args) \
do { \
if (yydebug) \
YYFPRINTF Args; \
# define YY_SYMBOL_PRINT(Title, Type, Value, Location) \
do { \
if (yydebug) \
{ \
YYFPRINTF (stderr, "%s ", Title); \
yy_symbol_print (stderr, \
Type, Value); \
YYFPRINTF (stderr, "\n"); \
} \
} while (YYID (0))
/*--------------------------------.
| Print this symbol on YYOUTPUT. |
`--------------------------------*/
/*ARGSUSED*/
#if (defined __STDC__ || defined __C99__FUNC__ \
|| defined __cplusplus || defined _MSC_VER)
static void
yy_symbol_value_print (FILE *yyoutput, int yytype, YYSTYPE const * const yyvaluep)
#else
static void
yy_symbol_value_print (yyoutput, yytype, yyvaluep)
FILE *yyoutput;
int yytype;
YYSTYPE const * const yyvaluep;
{
if (!yyvaluep)
return;
# ifdef YYPRINT
if (yytype < YYNTOKENS)
YYPRINT (yyoutput, yytoknum[yytype], *yyvaluep);
# else
YYUSE (yyoutput);
# endif
switch (yytype)
{
default:
}
}
/*--------------------------------.
| Print this symbol on YYOUTPUT. |
`--------------------------------*/
#if (defined __STDC__ || defined __C99__FUNC__ \
|| defined __cplusplus || defined _MSC_VER)
static void
yy_symbol_print (FILE *yyoutput, int yytype, YYSTYPE const * const yyvaluep)
#else
static void
yy_symbol_print (yyoutput, yytype, yyvaluep)
FILE *yyoutput;
int yytype;
YYSTYPE const * const yyvaluep;
#endif
{
if (yytype < YYNTOKENS)
YYFPRINTF (yyoutput, "token %s (", yytname[yytype]);
else
YYFPRINTF (yyoutput, "nterm %s (", yytname[yytype]);
yy_symbol_value_print (yyoutput, yytype, yyvaluep);
YYFPRINTF (yyoutput, ")");
}
/*------------------------------------------------------------------.
| yy_stack_print -- Print the state stack from its BOTTOM up to its |
| TOP (included). |
`------------------------------------------------------------------*/
#if (defined __STDC__ || defined __C99__FUNC__ \
|| defined __cplusplus || defined _MSC_VER)
static void

Christophe Geuzaine
committed
yy_stack_print (yytype_int16 *yybottom, yytype_int16 *yytop)

Christophe Geuzaine
committed
yy_stack_print (yybottom, yytop)
yytype_int16 *yybottom;
yytype_int16 *yytop;

Christophe Geuzaine
committed
for (; yybottom <= yytop; yybottom++)
{
int yybot = *yybottom;
YYFPRINTF (stderr, " %d", yybot);
}
# define YY_STACK_PRINT(Bottom, Top) \
do { \
if (yydebug) \
yy_stack_print ((Bottom), (Top)); \
/*------------------------------------------------.
| Report that the YYRULE is going to be reduced. |
`------------------------------------------------*/
#if (defined __STDC__ || defined __C99__FUNC__ \
|| defined __cplusplus || defined _MSC_VER)
static void
yy_reduce_print (YYSTYPE *yyvsp, int yyrule)
#else
static void
yy_reduce_print (yyvsp, yyrule)
YYSTYPE *yyvsp;
int yyrule;
{
int yynrhs = yyr2[yyrule];
int yyi;
unsigned long int yylno = yyrline[yyrule];
YYFPRINTF (stderr, "Reducing stack by rule %d (line %lu):\n",
/* The symbols being reduced. */
for (yyi = 0; yyi < yynrhs; yyi++)
{

Christophe Geuzaine
committed
YYFPRINTF (stderr, " $%d = ", yyi + 1);
&(yyvsp[(yyi + 1) - (yynrhs)])
);

Christophe Geuzaine
committed
YYFPRINTF (stderr, "\n");
# define YY_REDUCE_PRINT(Rule) \
do { \
if (yydebug) \
/* Nonzero means print parse trace. It is left uninitialized so that
multiple parsers can coexist. */
int yydebug;
#else /* !YYDEBUG */
# define YYDPRINTF(Args)
# define YY_SYMBOL_PRINT(Title, Type, Value, Location)
# define YY_STACK_PRINT(Bottom, Top)
# define YY_REDUCE_PRINT(Rule)
#endif /* !YYDEBUG */
/* YYMAXDEPTH -- maximum size the stacks can grow to (effective only
if the built-in stack extension method is used).
Do not make this value too large; the results are undefined if
YYSTACK_ALLOC_MAXIMUM < YYSTACK_BYTES (YYMAXDEPTH)
evaluated with infinite-precision integer arithmetic. */
3437
3438
3439
3440
3441
3442
3443
3444
3445
3446
3447
3448
3449
3450
3451
3452
3453
3454
3455
3456
3457
3458
3459
3460
3461
3462
3463
3464
3465
3466
3467
3468
3469
3470
3471
3472
3473
3474
3475
3476
3477
3478
#if YYERROR_VERBOSE
# ifndef yystrlen
# if defined __GLIBC__ && defined _STRING_H
# define yystrlen strlen
# else
/* Return the length of YYSTR. */
#if (defined __STDC__ || defined __C99__FUNC__ \
|| defined __cplusplus || defined _MSC_VER)
static YYSIZE_T
yystrlen (const char *yystr)
#else
static YYSIZE_T
yystrlen (yystr)
const char *yystr;
#endif
{
YYSIZE_T yylen;
for (yylen = 0; yystr[yylen]; yylen++)
continue;
return yylen;
}
# endif
# endif
# ifndef yystpcpy
# if defined __GLIBC__ && defined _STRING_H && defined _GNU_SOURCE
# define yystpcpy stpcpy
# else
/* Copy YYSRC to YYDEST, returning the address of the terminating '\0' in
YYDEST. */
#if (defined __STDC__ || defined __C99__FUNC__ \
|| defined __cplusplus || defined _MSC_VER)
static char *
yystpcpy (char *yydest, const char *yysrc)
#else
static char *
yystpcpy (yydest, yysrc)
char *yydest;
const char *yysrc;
#endif
while ((*yyd++ = *yys++) != '\0')
continue;
return yyd - 1;
# endif
# endif
# ifndef yytnamerr
/* Copy to YYRES the contents of YYSTR after stripping away unnecessary
quotes and backslashes, so that it's suitable for yyerror. The
heuristic is that double-quoting is unnecessary unless the string
contains an apostrophe, a comma, or backslash (other than
backslash-backslash). YYSTR is taken from yytname. If YYRES is
null, do not copy; instead, return the length of what the result
would have been. */
static YYSIZE_T
yytnamerr (char *yyres, const char *yystr)
{
if (*yystr == '"')
{
YYSIZE_T yyn = 0;
char const *yyp = yystr;
for (;;)
3508
3509
3510
3511
3512
3513
3514
3515
3516
3517
3518
3519
3520
3521
3522
3523
3524
3525
3526
3527
3528
switch (*++yyp)
{
case '\'':
case ',':
goto do_not_strip_quotes;
case '\\':
if (*++yyp != '\\')
goto do_not_strip_quotes;
/* Fall through. */
default:
if (yyres)
yyres[yyn] = *yyp;
yyn++;
break;
case '"':
if (yyres)
yyres[yyn] = '\0';
return yyn;
}
/* Copy into YYRESULT an error message about the unexpected token
YYCHAR while in state YYSTATE. Return the number of bytes copied,
including the terminating null byte. If YYRESULT is null, do not
copy anything; just return the number of bytes that would be
copied. As a special case, return 0 if an ordinary "syntax error"
message will do. Return YYSIZE_MAXIMUM if overflow occurs during
size calculation. */
static YYSIZE_T
yysyntax_error (char *yyresult, int yystate, int yychar)
3551
3552
3553
3554
3555
3556
3557
3558
3559
3560
3561
3562
3563
3564
3565
3566
3567
3568
3569
3570
3571
3572
3573
3574
3575
3576
3577
3578
3579
3580
3581
3582
3583
3584
3585
3586
3587
3588
3589
3590
3591
3592
3593
3594
3595
3596
3597
3598
3599
3600
3601
3602
3603
3604
3605
3606
3607
3608
3609
3610
3611
3612
if (! (YYPACT_NINF < yyn && yyn <= YYLAST))
return 0;
else
{
int yytype = YYTRANSLATE (yychar);
YYSIZE_T yysize0 = yytnamerr (0, yytname[yytype]);
YYSIZE_T yysize = yysize0;
YYSIZE_T yysize1;
int yysize_overflow = 0;
enum { YYERROR_VERBOSE_ARGS_MAXIMUM = 5 };
char const *yyarg[YYERROR_VERBOSE_ARGS_MAXIMUM];
int yyx;
# if 0
/* This is so xgettext sees the translatable formats that are
constructed on the fly. */
YY_("syntax error, unexpected %s");
YY_("syntax error, unexpected %s, expecting %s");
YY_("syntax error, unexpected %s, expecting %s or %s");
YY_("syntax error, unexpected %s, expecting %s or %s or %s");
YY_("syntax error, unexpected %s, expecting %s or %s or %s or %s");
# endif
char *yyfmt;
char const *yyf;
static char const yyunexpected[] = "syntax error, unexpected %s";
static char const yyexpecting[] = ", expecting %s";
static char const yyor[] = " or %s";
char yyformat[sizeof yyunexpected
+ sizeof yyexpecting - 1
+ ((YYERROR_VERBOSE_ARGS_MAXIMUM - 2)
* (sizeof yyor - 1))];
char const *yyprefix = yyexpecting;
/* Start YYX at -YYN if negative to avoid negative indexes in
YYCHECK. */
int yyxbegin = yyn < 0 ? -yyn : 0;
/* Stay within bounds of both yycheck and yytname. */
int yychecklim = YYLAST - yyn + 1;
int yyxend = yychecklim < YYNTOKENS ? yychecklim : YYNTOKENS;
int yycount = 1;
yyarg[0] = yytname[yytype];
yyfmt = yystpcpy (yyformat, yyunexpected);
for (yyx = yyxbegin; yyx < yyxend; ++yyx)
if (yycheck[yyx + yyn] == yyx && yyx != YYTERROR)
{
if (yycount == YYERROR_VERBOSE_ARGS_MAXIMUM)
{
yycount = 1;
yysize = yysize0;
yyformat[sizeof yyunexpected - 1] = '\0';
break;
}
yyarg[yycount++] = yytname[yyx];
yysize1 = yysize + yytnamerr (0, yytname[yyx]);
yysize_overflow |= (yysize1 < yysize);
yysize = yysize1;
yyfmt = yystpcpy (yyfmt, yyprefix);
yyprefix = yyor;
}
yyf = YY_(yyformat);
yysize1 = yysize + yystrlen (yyf);
yysize_overflow |= (yysize1 < yysize);
yysize = yysize1;
if (yysize_overflow)
return YYSIZE_MAXIMUM;
3622
3623
3624
3625
3626
3627
3628
3629
3630
3631
3632
3633
3634
3635
3636
3637
3638
3639
3640
3641
3642
3643
3644
if (yyresult)
{
/* Avoid sprintf, as that infringes on the user's name space.
Don't have undefined behavior even if the translation
produced a string with the wrong number of "%s"s. */
char *yyp = yyresult;
int yyi = 0;
while ((*yyp = *yyf) != '\0')
{
if (*yyp == '%' && yyf[1] == 's' && yyi < yycount)
{
yyp += yytnamerr (yyp, yyarg[yyi++]);
yyf += 2;
}
else
{
yyp++;
yyf++;
}
}
}
return yysize;
}
/*-----------------------------------------------.
| Release the memory associated to this symbol. |
`-----------------------------------------------*/
/*ARGSUSED*/
#if (defined __STDC__ || defined __C99__FUNC__ \
|| defined __cplusplus || defined _MSC_VER)
static void
yydestruct (const char *yymsg, int yytype, YYSTYPE *yyvaluep)
#else
static void
yydestruct (yymsg, yytype, yyvaluep)
const char *yymsg;
int yytype;
YYSTYPE *yyvaluep;
{
YYUSE (yyvaluep);
if (!yymsg)
yymsg = "Deleting";
YY_SYMBOL_PRINT (yymsg, yytype, yyvaluep, yylocationp);
switch (yytype)
{
default:
#ifdef YYPARSE_PARAM
#if defined __STDC__ || defined __cplusplus
int yyparse (void *YYPARSE_PARAM);
#else /* ! YYPARSE_PARAM */
#if defined __STDC__ || defined __cplusplus
int yyparse (void);
#else
int yyparse ();

Christophe Geuzaine
committed
/* The lookahead symbol. */

Christophe Geuzaine
committed
/* The semantic value of the lookahead symbol. */
/* Number of syntax errors so far. */
int yynerrs;
/*-------------------------.
| yyparse or yypush_parse. |
`-------------------------*/
#ifdef YYPARSE_PARAM
#if (defined __STDC__ || defined __C99__FUNC__ \
|| defined __cplusplus || defined _MSC_VER)
int
yyparse (void *YYPARSE_PARAM)
#else /* ! YYPARSE_PARAM */
#if (defined __STDC__ || defined __C99__FUNC__ \
|| defined __cplusplus || defined _MSC_VER)
int
yyparse (void)
#else
int
yyparse ()

Christophe Geuzaine
committed
int yystate;
/* Number of tokens to shift before error messages enabled. */
int yyerrstatus;

Christophe Geuzaine
committed
/* The stacks and their tools:
`yyss': related to states.
`yyvs': related to semantic values.

Christophe Geuzaine
committed
Refer to the stacks thru separate pointers, to allow yyoverflow
to reallocate them elsewhere. */

Christophe Geuzaine
committed
/* The state stack. */
yytype_int16 yyssa[YYINITDEPTH];
yytype_int16 *yyss;
yytype_int16 *yyssp;

Christophe Geuzaine
committed
/* The semantic value stack. */
YYSTYPE yyvsa[YYINITDEPTH];
YYSTYPE *yyvs;
YYSTYPE *yyvsp;

Christophe Geuzaine
committed
YYSIZE_T yystacksize;

Christophe Geuzaine
committed
int yyn;
int yyresult;
/* Lookahead token as an internal (translated) token number. */
int yytoken;
/* The variables used to return semantic value and location from the
action routines. */
YYSTYPE yyval;

Christophe Geuzaine
committed
#if YYERROR_VERBOSE
/* Buffer for error messages, and its allocated size. */
char yymsgbuf[128];
char *yymsg = yymsgbuf;
YYSIZE_T yymsg_alloc = sizeof yymsgbuf;
#endif
#define YYPOPSTACK(N) (yyvsp -= (N), yyssp -= (N))
/* The number of symbols on the RHS of the reduced rule.
Keep to zero when no symbol should be popped. */
int yylen = 0;

Christophe Geuzaine
committed
yytoken = 0;
yyss = yyssa;
yyvs = yyvsa;
yystacksize = YYINITDEPTH;
YYDPRINTF ((stderr, "Starting parse\n"));
yystate = 0;
yyerrstatus = 0;
yynerrs = 0;

Christophe Geuzaine
committed
yychar = YYEMPTY; /* Cause a token to be read. */
/* Initialize stack pointers.
Waste one element of value and location stack
so that they stay on the same level as the state stack.
The wasted elements are never initialized. */
yyvsp = yyvs;
/*------------------------------------------------------------.
| yynewstate -- Push a new state, which is found in yystate. |
`------------------------------------------------------------*/
yynewstate:
/* In all cases, when you get here, the value and location stacks
have just been pushed. So pushing a state here evens the stacks. */
yyssp++;
/* Get the current used size of the three stacks, in elements. */
#ifdef yyoverflow
/* Give user a chance to reallocate the stack. Use copies of
these so that the &'s don't force the real ones into
memory. */
YYSTYPE *yyvs1 = yyvs;
yytype_int16 *yyss1 = yyss;
/* Each stack pointer address is followed by the size of the
data in use in that stack, in bytes. This used to be a
conditional around just the two extra args, but that might
be undefined if yyoverflow is a macro. */
yyoverflow (YY_("memory exhausted"),
&yyss1, yysize * sizeof (*yyssp),
&yyvs1, yysize * sizeof (*yyvsp),
&yystacksize);
yyss = yyss1;
yyvs = yyvs1;
#else /* no yyoverflow */
/* Extend the stack our own way. */
goto yyexhaustedlab;
yystacksize *= 2;
yystacksize = YYMAXDEPTH;
yytype_int16 *yyss1 = yyss;
union yyalloc *yyptr =
(union yyalloc *) YYSTACK_ALLOC (YYSTACK_BYTES (yystacksize));
if (! yyptr)
goto yyexhaustedlab;

Christophe Geuzaine
committed
YYSTACK_RELOCATE (yyss_alloc, yyss);
YYSTACK_RELOCATE (yyvs_alloc, yyvs);
if (yyss1 != yyssa)
YYSTACK_FREE (yyss1);
#endif /* no yyoverflow */
(unsigned long int) yystacksize));
}

Christophe Geuzaine
committed
if (yystate == YYFINAL)
YYACCEPT;
goto yybackup;
/*-----------.
| yybackup. |
`-----------*/
yybackup:

Christophe Geuzaine
committed
lookahead token if we need one and don't already have one. */

Christophe Geuzaine
committed
/* First try to decide what to do without reference to lookahead token. */
yyn = yypact[yystate];
goto yydefault;

Christophe Geuzaine
committed
/* Not known => get a lookahead token if don't already have one. */

Christophe Geuzaine
committed
/* YYCHAR is either YYEMPTY or YYEOF or a valid lookahead symbol. */
if (yychar == YYEMPTY)
{
yychar = YYLEX;
}
{
yychar = yytoken = YYEOF;
YYDPRINTF ((stderr, "Now at end of input.\n"));
}
else
{
yytoken = YYTRANSLATE (yychar);
YY_SYMBOL_PRINT ("Next token is", yytoken, &yylval, &yylloc);
}
/* If the proper action on seeing token YYTOKEN is to reduce or to
detect an error, take that action. */
yyn += yytoken;
if (yyn < 0 || YYLAST < yyn || yycheck[yyn] != yytoken)
goto yydefault;
yyn = yytable[yyn];
{
if (yyn == 0 || yyn == YYTABLE_NINF)
goto yyerrlab;
yyn = -yyn;
goto yyreduce;
}
/* Count tokens shifted since error; after three, turn off error
status. */
if (yyerrstatus)
yyerrstatus--;

Christophe Geuzaine
committed
/* Shift the lookahead token. */

Christophe Geuzaine
committed
/* Discard the shifted token. */
yychar = YYEMPTY;
*++yyvsp = yylval;
/*-----------------------------------------------------------.
| yydefault -- do the default action for the current state. |
`-----------------------------------------------------------*/
yydefault:
yyn = yydefact[yystate];
if (yyn == 0)
goto yyerrlab;
/*-----------------------------.
| yyreduce -- Do a reduction. |
`-----------------------------*/
yyreduce:
yylen = yyr2[yyn];
/* If YYLEN is nonzero, implement the default value of the action:
`$$ = $1'.
Otherwise, the following line sets YYVAL to garbage.
This behavior is undocumented and Bison
users should not rely upon it. Assigning to YYVAL
unconditionally makes the parser a bit smaller, and it avoids a
GCC warning that YYVAL may be used uninitialized. */
yyval = yyvsp[1-yylen];

Christophe Geuzaine
committed

Christophe Geuzaine
committed
/* Line 1464 of yacc.c */

Christophe Geuzaine
committed

Christophe Geuzaine
committed
/* Line 1464 of yacc.c */

Christophe Geuzaine
committed

Christophe Geuzaine
committed
/* Line 1464 of yacc.c */

Christophe Geuzaine
committed

Christophe Geuzaine
committed
/* Line 1464 of yacc.c */