(yyerrlab1): Move this label down, so that the

parser does not discard the lookahead token if the user code
invokes YYERROR.  This change is required for POSIX conformance.
This commit is contained in:
Paul Eggert
2002-11-25 06:42:10 +00:00
parent f6cf0f6e5f
commit 300a796626

View File

@@ -912,8 +912,6 @@ yybackup:
}
else
{
/* We have to keep this `#if YYDEBUG', since we use variables
which are defined only if `YYDEBUG' is set. */
YYDSYMPRINTF ("Next token is", yytoken, &yylval, &yylloc);
}
@@ -1073,13 +1071,7 @@ yyerrlab:
#endif /* YYERROR_VERBOSE */
yyerror (]b4_yyerror_args["syntax error");
}
goto yyerrlab1;
/*----------------------------------------------------.
| yyerrlab1 -- error raised explicitly by an action. |
`----------------------------------------------------*/
yyerrlab1:
if (yyerrstatus == 3)
{
/* If just tried and failed to reuse lookahead token after an
@@ -1107,7 +1099,13 @@ yyerrlab1:
/* Else will try to reuse lookahead token after shifting the error
token. */
goto yyerrlab1;
/*----------------------------------------------------.
| yyerrlab1 -- error raised explicitly by an action. |
`----------------------------------------------------*/
yyerrlab1:
yyerrstatus = 3; /* Each real token shifted decrements this. */
for (;;)