};
#endif
+# ifdef YYPRINT
/* YYTOKNUM[[YYLEX-NUM]] -- Internal token number corresponding to
token YYLEX-NUM. */
static const b4_int_type_for([b4_toknum]) yytoknum[[]] =
{
b4_toknum
};
+# endif
/* YYR1[[YYN]] -- Symbol number of symbol that rule YYN derives. */
static const b4_int_type_for([b4_r1]) yyr1[[]] =
\f
-/* The user can define YYPARSE_PARAM as the name of an argument to be passed
- into yyparse. The argument should have type void *.
- It should actually point to an object.
- Grammar actions can access the variable by casting it
- to the proper pointer type. */
-
-#ifdef YYPARSE_PARAM
-# if defined (__STDC__) || defined (__cplusplus)
-# define YYPARSE_PARAM_ARG void *YYPARSE_PARAM
-# define YYPARSE_PARAM_DECL
-# else
-# define YYPARSE_PARAM_ARG YYPARSE_PARAM
-# define YYPARSE_PARAM_DECL void *YYPARSE_PARAM;
-# endif
-#else /* !YYPARSE_PARAM */
-# define YYPARSE_PARAM_ARG
-# define YYPARSE_PARAM_DECL
-#endif /* !YYPARSE_PARAM */
-
-/* Prevent warning if -Wstrict-prototypes. */
-#ifdef __GNUC__
-# ifdef YYPARSE_PARAM
-int yyparse (void *);
-# else
-int yyparse (void);
-# endif
-#endif
-
-
#if YYDEBUG
/*-----------------------------.
| Print this symbol on YYOUT. |
`-----------------------------*/
-static void
-#if defined (__STDC__) || defined (__cplusplus)
-yysymprint (FILE* yyout, int yytype,
- YYSTYPE yyvalue[]b4_location_if([, YYLTYPE yylocation]))
-#else
-yysymprint (yyout, yytype,
- yyvalue[]b4_location_if([, yylocation]))
- FILE* yyout;
- int yytype;
- YYSTYPE yyvalue;
- b4_location_if([YYLTYPE yylocation;])
-#endif
+b4_c_function([yysymprint],
+ [static void],
+ [[FILE*], [yyout]],
+ [[int], [yytype]],
+ [[YYSTYPE], [yyvalue]]b4_location_if([,
+ [[YYLTYPE], [yylocation]]]))
{
/* Pacify ``unused variable'' warnings. */
(void) yyvalue;
| yyreport_parse_error -- report a parse error in YYSTATE. |
`----------------------------------------------------------*/
-static void
-#if defined (__STDC__) || defined (__cplusplus)
-yyreport_parse_error (int yystate, int yychar,
- YYSTYPE yyvalue[]b4_location_if([, YYLTYPE yylocation]))
-#else
-yyreport_parse_error (yystate, yychar,
- yyvalue[]b4_location_if([, yylocation]))
- int yystate;
- int yychar;
- YYSTYPE yyvalue;
- b4_location_if([YYLTYPE yylocation;])
-#endif
+b4_c_function([yyreport_parse_error],
+ [static void],
+ [[int], [yystate]],
+ [[int], [yychar]],
+ [[YYSTYPE], [yyvalue]]b4_location_if([,
+ [[YYLTYPE], [yylloc]]]))
[{
#if YYERROR_VERBOSE
int yyn = yypact[yystate];
YYCHECK. */
for (yyx = yyn < 0 ? -yyn : 0;
yyx < (int) (sizeof (yytname) / sizeof (char *)); yyx++)
- if (yycheck[yyx + yyn] == yyx)
+ if (yycheck[yyx + yyn] == yyx && yyx != YYTERROR)
yysize += yystrlen (yytname[yyx]) + 15, yycount++;
yysize += yystrlen ("parse error, unexpected ") + 1;
yysize += yystrlen (yytname[yytype]);
for (yyx = yyn < 0 ? -yyn : 0;
yyx < (int) (sizeof (yytname) / sizeof (char *));
yyx++)
- if (yycheck[yyx + yyn] == yyx)
+ if (yycheck[yyx + yyn] == yyx && yyx != YYTERROR)
{
const char *yyq = ! yycount ? ", expecting " : " or ";
yyp = yystpcpy (yyp, yyq);
(void) yystate;
(void) yychar;
(void) yyvalue;
- ]b4_location_if([(void) yylocation;])[
+ ]b4_location_if([(void) yylloc;])[
}]
| Release the memory associated to this symbol. |
`-----------------------------------------------*/
-static void
-#if defined (__STDC__) || defined (__cplusplus)
-yydestruct (int yytype,
- YYSTYPE yyvalue[]b4_location_if([, YYLTYPE yylocation]))
-#else
-yydestruct (yytype,
- yyvalue[]b4_location_if([, yylocation]))
- int yytype;
- YYSTYPE yyvalue;
- b4_location_if([YYLTYPE yylocation;])
-#endif
+b4_c_function([yydestruct],
+ [static void],
+ [[int], [yytype]],
+ [[YYSTYPE], [yyvalue]]b4_location_if([,
+ [[YYLTYPE], [yylocation]]]))
{
/* Pacify ``unused variable'' warnings. */
(void) yyvalue;
}
}
+\f
+
+/* The user can define YYPARSE_PARAM as the name of an argument to be passed
+ into yyparse. The argument should have type void *.
+ It should actually point to an object.
+ Grammar actions can access the variable by casting it
+ to the proper pointer type. */
+
+#ifdef YYPARSE_PARAM
+# if defined (__STDC__) || defined (__cplusplus)
+# define YYPARSE_PARAM_ARG void *YYPARSE_PARAM
+# define YYPARSE_PARAM_DECL
+# else
+# define YYPARSE_PARAM_ARG YYPARSE_PARAM
+# define YYPARSE_PARAM_DECL void *YYPARSE_PARAM;
+# endif
+#else /* !YYPARSE_PARAM */
+# define YYPARSE_PARAM_ARG
+# define YYPARSE_PARAM_DECL
+#endif /* !YYPARSE_PARAM */
+
+/* Prevent warning if -Wstrict-prototypes. */
+#ifdef __GNUC__
+# ifdef YYPARSE_PARAM
+int yyparse (void *);
+# else
+int yyparse (void);
+# endif
+#endif
m4_divert_push([KILL])# ======================== M4 code.
# b4_declare_parser_variables
/* If YYLEN is nonzero, implement the default value of the action:
`$$ = $1'.
- Otherwise, the following line sets YYVAL to the semantic value of
- the lookahead token. This behavior is undocumented and Bison
+ 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. */