replaced yywrap() with parser_cleanup() since yywrap() needs to be
in parse.lex to be able to use YY_NEW_FILE. sigh.
This commit is contained in:
23
parse.yacc
23
parse.yacc
@@ -92,7 +92,7 @@ static int add_alias __P((char *, int));
|
|||||||
static int more_aliases __P((int));
|
static int more_aliases __P((int));
|
||||||
static void reset_aliases __P((void));
|
static void reset_aliases __P((void));
|
||||||
|
|
||||||
yyerror(s)
|
int yyerror(s)
|
||||||
char *s;
|
char *s;
|
||||||
{
|
{
|
||||||
/* save the line the first error occured on */
|
/* save the line the first error occured on */
|
||||||
@@ -105,17 +105,6 @@ char *s;
|
|||||||
#endif
|
#endif
|
||||||
parse_error = TRUE;
|
parse_error = TRUE;
|
||||||
}
|
}
|
||||||
|
|
||||||
yywrap()
|
|
||||||
{
|
|
||||||
/* reset values so we can reparse cleanly */
|
|
||||||
if (parse_error) {
|
|
||||||
reset_aliases();
|
|
||||||
top = 0;
|
|
||||||
}
|
|
||||||
|
|
||||||
return(1);
|
|
||||||
}
|
|
||||||
%}
|
%}
|
||||||
|
|
||||||
%union {
|
%union {
|
||||||
@@ -376,3 +365,13 @@ reset_aliases()
|
|||||||
(void) free(aliases);
|
(void) free(aliases);
|
||||||
naliases = nslots = 0;
|
naliases = nslots = 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
void parser_cleanup()
|
||||||
|
{
|
||||||
|
/* reset values so we can reparse cleanly */
|
||||||
|
if (parse_error) {
|
||||||
|
reset_aliases();
|
||||||
|
top = 0;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
Reference in New Issue
Block a user