# Java skeleton for Bison -*- autoconf -*-
-# Copyright (C) 2007-2012 Free Software Foundation, Inc.
+# Copyright (C) 2007-2013 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
[b4_symbol_action_location([$1], [destructor])])])])
b4_symbol_foreach([b4_symbol_no_destructor_assert])
-m4_divert_push(0)dnl
-@output(b4_parser_file_name@)@
+b4_output_begin([b4_parser_file_name])
b4_copyright([Skeleton implementation for Bison LALR(1) parsers in Java],
- [2007-2012])
+ [2007-2013])
b4_percent_define_ifdef([package], [package b4_percent_define_get([package]);
])[/* First part of user declarations. */
{
]b4_identification[
]b4_error_verbose_if([[
- /** True if verbose error messages are enabled. */
+ /**
+ * True if verbose error messages are enabled.
+ */
private boolean yyErrorVerbose = true;
/**
* A class defining a pair of positions. Positions, defined by the
* <code>]b4_position_type[</code> class, denote a point in the input.
* Locations represent a part of the input through the beginning
- * and ending positions. */
+ * and ending positions.
+ */
public class ]b4_location_type[ {
- /** The first, inclusive, position in the range. */
+ /**
+ * The first, inclusive, position in the range.
+ */
public ]b4_position_type[ begin;
- /** The first position beyond the range. */
+ /**
+ * The first position beyond the range.
+ */
public ]b4_position_type[ end;
/**
* Create a <code>]b4_location_type[</code> denoting an empty range located at
* a given point.
- * @@param loc The position at which the range is anchored. */
+ * @@param loc The position at which the range is anchored.
+ */
public ]b4_location_type[ (]b4_position_type[ loc) {
this.begin = this.end = loc;
}
/**
* Create a <code>]b4_location_type[</code> from the endpoints of the range.
* @@param begin The first position included in the range.
- * @@param end 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;
/**
* Print a representation of the location. For this to be correct,
* <code>]b4_position_type[</code> should override the <code>equals</code>
- * method. */
+ * method.
+ */
public String toString () {
if (begin.equals (end))
return begin.toString ();
]b4_locations_if([[/**
* Method to retrieve the beginning position of the last scanned token.
- * @@return the position at which the last scanned token starts. */
+ * @@return the position at which the last scanned token starts.
+ */
]b4_position_type[ getStartPos ();
/**
* Method to retrieve the ending position of the last scanned token.
- * @@return the first position beyond the last scanned token. */
+ * @@return the first position beyond the last scanned token.
+ */
]b4_position_type[ getEndPos ();]])[
/**
* Method to retrieve the semantic value of the last scanned token.
- * @@return the semantic value of the last scanned token. */
+ * @@return the semantic value of the last scanned token.
+ */
]b4_yystype[ getLVal ();
/**
* Entry point for the scanner. Returns the token identifier corresponding
* 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. */
+ * @@return the token identifier corresponding to the next token.
+ */
int yylex () ]b4_maybe_throws([b4_lex_throws])[;
/**
*
* ]b4_locations_if([[@@param loc The location of the element to which the
* error message is related]])[
- * @@param msg The string for the error message. */
+ * @@param msg The string for the error message.
+ */
void yyerror (]b4_locations_if([b4_location_type[ loc, ]])[String msg);]
}
]b4_percent_code_get([[lexer]])[
}
- ]])[/** The object doing lexical analysis for us. */
+ ]])[/**
+ * The object doing lexical analysis for us.
+ */
private Lexer yylexer;
]
b4_parse_param_vars
/**
* Returned by a Bison action in order to stop the parsing process and
- * return success (<tt>true</tt>). */
+ * return success (<tt>true</tt>).
+ */
public static final int YYACCEPT = 0;
/**
* Returned by a Bison action in order to stop the parsing process and
- * return failure (<tt>false</tt>). */
+ * return failure (<tt>false</tt>).
+ */
public static final int YYABORT = 1;
/**
* Returned by a Bison action in order to start error recovery without
- * printing an error message. */
+ * printing an error message.
+ */
public static final int YYERROR = 2;
- // Internal return codes that are not supported for user semantic
- // actions.
+ /**
+ * Internal return codes that are not supported for user semantic
+ * actions.
+ */
private static final int YYERRLAB = 3;
private static final int YYNEWSTATE = 4;
private static final int YYDEFAULT = 5;
/**
* Return whether error recovery is being done. In this state, the parser
* reads token until it reaches a known state, and then restarts normal
- * operation. */
+ * operation.
+ */
public final boolean recovering ()
{
return yyerrstatus_ == 0;
]b4_locations_if([b4_location_type[ yyloc = yylloc (yystack, yylen);]])[
/* If YYLEN is nonzero, implement the default value of the action:
- `$$ = $1'. Otherwise, use the top of the stack.
+ '$$ = $1'. Otherwise, use the top of the stack.
Otherwise, the following line sets YYVAL to garbage.
This behavior is undocumented and Bison
*/
if (tok != yyempty_)
{
- // FIXME: This method of building the message is not compatible
- // with internationalization.
+ /* FIXME: This method of building the message is not compatible
+ with internationalization. */
StringBuffer res =
new StringBuffer ("syntax error, unexpected ");
res.append (yytnamerr_ (yytname_[tok]));
}
/**
- * Whether the given <code>yytable_</code> value indicates a syntax error.
- * @@param yyvalue the value to check
+ * Whether the given <code>yytable_</code>
+ * value indicates a syntax error.
+ * @@param yyvalue the value to check
*/
private static boolean yy_table_value_is_error_ (int yyvalue)
{
]b4_parser_tables_define[
]b4_integral_parser_table_define([token_number], [b4_toknum],
- [TOKEN_NUMBER_[YYLEX-NUM] -- Internal symbol number corresponding
- to YYLEX-NUM.])[
+ [[YYTOKEN_NUMBER[YYLEX-NUM] -- Internal symbol number corresponding
+ to YYLEX-NUM.]])[
/* YYTNAME[SYMBOL-NUM] -- String name of the symbol SYMBOL-NUM.
First, the terminals, then, starting at \a yyntokens_, nonterminals. */
]b4_typed_parser_table_define([String], [tname], [b4_tname])[
]b4_integral_parser_table_define([rline], [b4_rline],
- [YYRLINE[YYN] -- Source line where rule number YYN was defined.])[
+ [[YYRLINE[YYN] -- Source line where rule number YYN was defined.]])[
// Report on the debug stream that the rule yyrule is going to be reduced.
private void yy_reduce_print (int yyrule, YYStack yystack)
}
b4_epilogue[]dnl
-m4_divert_pop(0)dnl
+b4_output_end()