mirror of
https://git.savannah.gnu.org/git/bison.git
synced 2026-03-10 12:53:03 +00:00
Fix yyerror / yylex test glitches noted by twlevo@xs4all.nl.
* tests/cxx-type.at (_AT_TEST_GLR_CXXTYPES): Have yyerror return void, not int. * tests/glr-regression.at (Badly Collapsed GLR States): Likewise. (Improper handling of embedded actions and dollar(-N) in GLR parsers): yylex should return 0 at EOF rather than aborting.
This commit is contained in:
@@ -1,5 +1,13 @@
|
||||
2005-07-18 Paul Eggert <eggert@cs.ucla.edu>
|
||||
|
||||
Fix yyerror / yylex test glitches noted by twlevo@xs4all.nl.
|
||||
* tests/cxx-type.at (_AT_TEST_GLR_CXXTYPES): Have yyerror return
|
||||
void, not int.
|
||||
* tests/glr-regression.at (Badly Collapsed GLR States):
|
||||
Likewise.
|
||||
(Improper handling of embedded actions and dollar(-N) in GLR parsers):
|
||||
yylex should return 0 at EOF rather than aborting.
|
||||
|
||||
Improve tests for stack overflow in GLR parser.
|
||||
Problem reported by twlevo@xs4all.nl.
|
||||
* data/glr.c (struct yyGLRStack): Remove yyerrflag member.
|
||||
|
||||
@@ -56,7 +56,7 @@ $1
|
||||
# define ERROR_PARAMETERS char const *s
|
||||
#endif
|
||||
int yylex (LEX_PARAMETERS);
|
||||
int yyerror (ERROR_PARAMETERS);
|
||||
void yyerror (ERROR_PARAMETERS);
|
||||
%}
|
||||
|
||||
%token TYPENAME ID
|
||||
@@ -191,7 +191,7 @@ yylex (LEX_PARAMETERS)
|
||||
}
|
||||
}
|
||||
|
||||
int
|
||||
void
|
||||
yyerror (ERROR_PARAMETERS)
|
||||
{
|
||||
#if YYPURE && YYLSP_NEEDED
|
||||
|
||||
@@ -34,7 +34,7 @@ AT_DATA_GRAMMAR([glr-regr1.y],
|
||||
#define YYSTYPE int
|
||||
static YYSTYPE exprMerge (YYSTYPE x0, YYSTYPE x1);
|
||||
int yylex (void);
|
||||
int yyerror (char const *msg);
|
||||
void yyerror (char const *msg);
|
||||
%}
|
||||
|
||||
|
||||
@@ -70,7 +70,7 @@ main (void)
|
||||
return yyparse ();
|
||||
}
|
||||
|
||||
int
|
||||
void
|
||||
yyerror (char const *msg)
|
||||
{
|
||||
fprintf (stderr, "%s\n", msg);
|
||||
@@ -184,7 +184,7 @@ yylex (void)
|
||||
break;
|
||||
}
|
||||
if (fscanf (yyin, "%49s", buf) != 1)
|
||||
abort ();
|
||||
return 0;
|
||||
if (sizeof buf - 1 <= strlen (buf))
|
||||
abort ();
|
||||
s = (char *) malloc (strlen (buf) + 1);
|
||||
|
||||
Reference in New Issue
Block a user