From a3e201de023615009948ffab9f1701bd92e2dec3 Mon Sep 17 00:00:00 2001 From: Akim Demaille Date: Fri, 30 Aug 2019 07:38:13 -0500 Subject: [PATCH] java: handle eof in yytranslate * data/skeletons/lalr1.java (yytranslate_): Handle eof here, as is done in lalr1.cc. * tests/javapush.at: Adjust. --- data/skeletons/lalr1.java | 20 +++++++------------- tests/javapush.at | 1 + 2 files changed, 8 insertions(+), 13 deletions(-) diff --git a/data/skeletons/lalr1.java b/data/skeletons/lalr1.java index af120404..08e8f58b 100644 --- a/data/skeletons/lalr1.java +++ b/data/skeletons/lalr1.java @@ -1,4 +1,4 @@ -# Java skeleton for Bison -*- autoconf -*- +# Java skeleton for Bison -*- autoconf -*- # Copyright (C) 2007-2015, 2018-2019 Free Software Foundation, Inc. @@ -631,17 +631,9 @@ b4_dollar_popdef[]dnl } /* Convert token to internal form. */ - if (yychar <= Lexer.EOF) - { - yychar = yytoken = Lexer.EOF;]b4_parse_trace_if([[ - yycdebug ("Now at end of input.\n");]])[ - } - else - { - yytoken = yytranslate_ (yychar);]b4_parse_trace_if([[ - yySymbolPrint ("Next token is", yytoken, - yylval]b4_locations_if([, yylloc])[);]])[ - } + yytoken = yytranslate_ (yychar);]b4_parse_trace_if([[ + yySymbolPrint ("Next token is", yytoken, + yylval]b4_locations_if([, yylloc])[);]])[ /* If the proper action on seeing token YYTOKEN is to reduce or to detect an error, take that action. */ @@ -1026,7 +1018,9 @@ b4_dollar_popdef[]dnl } ]], [[ { - if (0 <= t && t <= yyuser_token_number_max_) + if (t <= 0) + return Lexer.EOF; + else if (t <= yyuser_token_number_max_) return yytranslate_table_[t]; else return yyundef_token_; diff --git a/tests/javapush.at b/tests/javapush.at index f2d4309d..0271296e 100644 --- a/tests/javapush.at +++ b/tests/javapush.at @@ -826,6 +826,7 @@ Next token is token '=' (13.8: 3) Next token is token "number" (13.9: 64) Next token is token '\n' (14.0: 64) Next token is token '\n' (14.0: 64) +Next token is token $end (14.1: 64) ]]) # Define the calculator input.