From 5f3cd49acc8c196a88128924459bc74a9401fded Mon Sep 17 00:00:00 2001 From: Akim Demaille Date: Mon, 27 Apr 2020 07:08:55 +0200 Subject: [PATCH] regen --- src/parse-gram.c | 12 +++++++++++- 1 file changed, 11 insertions(+), 1 deletion(-) diff --git a/src/parse-gram.c b/src/parse-gram.c index 4c5ca366..610f2004 100644 --- a/src/parse-gram.c +++ b/src/parse-gram.c @@ -1960,6 +1960,17 @@ yybackup: yytoken = YYSYMBOL_YYEOF; YYDPRINTF ((stderr, "Now at end of input.\n")); } + else if (yychar == GRAM_ERRCODE) + { + /* The scanner already issued an error message, process directly + to error recovery. But do not keep the error token as + lookahead, it is too special and may lead us to an endless + loop in error recovery. */ + yychar = GRAM_UNDEF; + yytoken = YYSYMBOL_YYERRCODE; + yyerror_range[1] = yylloc; + goto yyerrlab1; + } else { yytoken = YYTRANSLATE (yychar); @@ -2640,7 +2651,6 @@ yyerrlab: } yyerror_range[1] = yylloc; - if (yyerrstatus == 3) { /* If just tried and failed to reuse lookahead token after an