X-Git-Url: https://git.saurik.com/bison.git/blobdiff_plain/f16b08196c780556cbf50691e2944960aebc46f6..96b15448b9204969e2d3754ac640cf16181ea3be:/data/lalr1.java diff --git a/data/lalr1.java b/data/lalr1.java index aadd55c1..7e220d98 100644 --- a/data/lalr1.java +++ b/data/lalr1.java @@ -1,6 +1,6 @@ # Java skeleton for Bison -*- autoconf -*- -# Copyright (C) 2007 Free Software Foundation, Inc. +# Copyright (C) 2007, 2008 Free Software Foundation, Inc. # This program is free software: you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by @@ -25,18 +25,24 @@ m4_ifval(m4_defn([b4_symbol_destructors]), m4_divert_push(0)dnl @output(b4_parser_file_name@) b4_copyright([Skeleton implementation for Bison LALR(1) parsers in Java], - [2007]) + [2007, 2008]) b4_percent_define_ifdef([package], [package b4_percent_define_get([package]); ])[/* First part of user declarations. */ ]b4_pre_prologue b4_percent_code_get([[imports]]) [/** - * A Bison parser, automatically generated from @ofile@. + * A Bison parser, automatically generated from ]m4_bpatsubst(b4_file_name, [^"\(.*\)"$], [\1])[. * * @@author LALR (1) parser skeleton written by Paolo Bonzini. */ -]b4_public_if([public ])b4_abstract_if([abstract ])[class ]b4_parser_class_name[ +]b4_public_if([public ])dnl +b4_abstract_if([abstract ])dnl +b4_final_if([final ])dnl +b4_strictfp_if([strictfp ])dnl +[class ]b4_parser_class_name[]dnl +b4_percent_define_get3([extends], [ extends ])dnl +b4_percent_define_get3([implements], [ implements ])[ { ]b4_identification[ @@ -57,7 +63,7 @@ b4_locations_if([[ public ]b4_position_type[ end; /** - * Create a ]b4_location_type[ denoting an empty range located at + * Create a ]b4_location_type[ denoting an empty range located at * a given point. * @@param loc The position at which the range is anchored. */ public ]b4_location_type[ (]b4_position_type[ loc) { @@ -67,7 +73,7 @@ b4_locations_if([[ /** * Create a ]b4_location_type[ from the endpoints of the range. * @@param begin The first position included in the range. - * @@param begin The first position beyond the range. */ + * @@param end The first position beyond the range. */ public ]b4_location_type[ (]b4_position_type[ begin, ]b4_position_type[ end) { this.begin = begin; this.end = end; @@ -99,7 +105,7 @@ b4_token_enums(b4_tokens) return new ]b4_location_type[ (rhs.locationAt (1).begin, rhs.locationAt (n).end); else return new ]b4_location_type[ (rhs.locationAt (0).end); - }]]) + }]])[ /** * Communication interface between the scanner and the Bison-generated @@ -119,22 +125,20 @@ b4_token_enums(b4_tokens) /** * Method to retrieve the semantic value of the last scanned token. * @@return the semantic value of the last scanned token. */ - ]b4_yystype[ getLVal ();] + ]b4_yystype[ getLVal (); /** * Entry point for the scanner. Returns the token identifier corresponding - * to the next token and ]b4_pure_if([prepares to return], [stores])[ - * the semantic value]b4_locations_if([ and beginning/ending positions])[ - * of the token. + * to the next token and prepares to return the semantic value + * ]b4_locations_if([and beginning/ending positions ])[of the token. * @@return the token identifier corresponding to the next token. */ int yylex () ]b4_maybe_throws([b4_lex_throws])[; /** * Entry point for error reporting. Emits an error - * ]b4_locations_if([ referring to the given location])[in a user-defined - * way. + * ]b4_locations_if([referring to the given location ])[in a user-defined way. * - * ]b4_locations_if([loc], [[The location of the element to which the + * ]b4_locations_if([[@@param loc The location of the element to which the * error message is related]])[ * @@param s The string for the error message. */ void yyerror (]b4_locations_if([b4_location_type[ loc, ]])[String s);] @@ -161,7 +165,7 @@ b4_lexer_if([[ /** * Instantiates the Bison-generated parser. - * @@param yylex The scanner that will supply tokens to the parser. + * @@param yylexer The scanner that will supply tokens to the parser. */ b4_lexer_if([[protected]], [[public]]) b4_parser_class_name[ (]b4_parse_param_decl([[Lexer yylexer]])[) { this.yylexer = yylexer; @@ -206,7 +210,7 @@ b4_lexer_if([[ ]b4_locations_if([ protected final void yyerror (String s) { - yylexer.yyerror ((Location)null, s); + yylexer.yyerror ((]b4_location_type[)null, s); } protected final void yyerror (]b4_position_type[ loc, String s) { yylexer.yyerror (new ]b4_location_type[ (loc), s); @@ -326,7 +330,7 @@ b4_lexer_if([[ return yyerrstatus_ == 0; } - private int yyaction (int yyn, YYStack yystack, int yylen) + private int yyaction (int yyn, YYStack yystack, int yylen) ]b4_maybe_throws([b4_throws])[ { ]b4_yystype[ yyval; ]b4_locations_if([b4_location_type[ yyloc = yylloc (yystack, yylen);]])[ @@ -415,7 +419,7 @@ b4_lexer_if([[ yycdebug (s + (yytype < yyntokens_ ? " token " : " nterm ") + yytname_[yytype] + " ("]b4_locations_if([ + yylocationp + ": "])[ - + (yyvaluep == null ? "(null)" : yyvaluep) + ")"); + + (yyvaluep == null ? "(null)" : yyvaluep.toString ()) + ")"); } /** @@ -425,7 +429,7 @@ b4_lexer_if([[ * @@return true if the parsing succeeds. Note that this does not * imply that there were no syntax errors. */ - public boolean parse () ]b4_maybe_throws([b4_throws])[ + public boolean parse () ]b4_maybe_throws([b4_list2([b4_lex_throws], [b4_throws])])[ { /// Lookahead and lookahead in internal form. int yychar = yyempty_;