}
%{
+static void yyerror(YYLTYPE *, yyscan_t, struct cdecl **, const char *);
static void free_decl(struct cdecl *);
static void free_declspec(struct cdecl_declspec *x)
{
free_decl(decl);
}
-
-static void
-yyerror(YYLTYPE *loc, yyscan_t scanner, struct cdecl **out, const char *err)
-{
- if (strstr(err, "T_LEX_ERROR"))
- return;
-
- cdecl__err(CDECL_ENOPARSE, "%s", err);
-}
%}
%destructor { free($$); } <strval>
{
return yytname[YYTRANSLATE(token)];
}
+
+static void
+yyerror(YYLTYPE *loc, yyscan_t scanner, struct cdecl **out, const char *err)
+{
+ if (strstr(err, yytname[YYTRANSLATE(T_LEX_ERROR)]))
+ return;
+
+ cdecl__err(CDECL_ENOPARSE, "%s", err);
+}