X-Git-Url: https://git.draconx.ca/gitweb/cdecl99.git/blobdiff_plain/7faacc8b3fbc810ec92faa0c38af5270e3bd1b4e..1d1912971e771773fa8041bddd100065bfb752be:/src/parse.y diff --git a/src/parse.y b/src/parse.y index b77cfbb..abfccd2 100644 --- a/src/parse.y +++ b/src/parse.y @@ -76,6 +76,7 @@ const char *cdecl__token_name(unsigned token); } %{ +static void yyerror(YYLTYPE *, yyscan_t, struct cdecl **, const char *); static void free_decl(struct cdecl *); static void free_declspec(struct cdecl_declspec *x) @@ -141,15 +142,6 @@ void cdecl__free(struct cdecl *decl) { 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($$); } @@ -614,3 +606,12 @@ const char *cdecl__token_name(unsigned token) { 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); +}