diff --git a/parse.yacc b/parse.yacc index 7eef705d8..8468087b7 100644 --- a/parse.yacc +++ b/parse.yacc @@ -92,7 +92,7 @@ static int add_alias __P((char *, int)); static int more_aliases __P((int)); static void reset_aliases __P((void)); -yyerror(s) +int yyerror(s) char *s; { /* save the line the first error occured on */ @@ -105,17 +105,6 @@ char *s; #endif parse_error = TRUE; } - -yywrap() -{ - /* reset values so we can reparse cleanly */ - if (parse_error) { - reset_aliases(); - top = 0; - } - - return(1); -} %} %union { @@ -376,3 +365,13 @@ reset_aliases() (void) free(aliases); naliases = nslots = 0; } + + +void parser_cleanup() +{ + /* reset values so we can reparse cleanly */ + if (parse_error) { + reset_aliases(); + top = 0; + } +}