]> git.saurik.com Git - bison.git/commitdiff
(yyerrlab1): Move this label down, so that the
authorPaul Eggert <eggert@cs.ucla.edu>
Mon, 25 Nov 2002 06:42:10 +0000 (06:42 +0000)
committerPaul Eggert <eggert@cs.ucla.edu>
Mon, 25 Nov 2002 06:42:10 +0000 (06:42 +0000)
parser does not discard the lookahead token if the user code
invokes YYERROR.  This change is required for POSIX conformance.

data/yacc.c

index 462af2e218bb701f3ad46f8910b55806a14ed4c8..4dd7d2980dbf60d17ee10093eaf099281d3e7acb 100644 (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 (;;)