Edit File by line
/home/barbar84/public_h.../wp-conte.../plugins/sujqvwi/ExeBy/smexe_ro.../usr/share/bison
File: lalr1.java
# Java skeleton for Bison -*- autoconf -*-
[0] Fix | Delete
[1] Fix | Delete
# Copyright (C) 2007-2015 Free Software Foundation, Inc.
[2] Fix | Delete
[3] Fix | Delete
# This program is free software: you can redistribute it and/or modify
[4] Fix | Delete
# it under the terms of the GNU General Public License as published by
[5] Fix | Delete
# the Free Software Foundation, either version 3 of the License, or
[6] Fix | Delete
# (at your option) any later version.
[7] Fix | Delete
#
[8] Fix | Delete
# This program is distributed in the hope that it will be useful,
[9] Fix | Delete
# but WITHOUT ANY WARRANTY; without even the implied warranty of
[10] Fix | Delete
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
[11] Fix | Delete
# GNU General Public License for more details.
[12] Fix | Delete
#
[13] Fix | Delete
# You should have received a copy of the GNU General Public License
[14] Fix | Delete
# along with this program. If not, see <http://www.gnu.org/licenses/>.
[15] Fix | Delete
[16] Fix | Delete
m4_include(b4_pkgdatadir/[java.m4])
[17] Fix | Delete
[18] Fix | Delete
b4_defines_if([b4_fatal([%s: %%defines does not make sense in Java],
[19] Fix | Delete
[b4_skeleton])])
[20] Fix | Delete
[21] Fix | Delete
# We do not depend on %debug in Java, but pacify warnings about
[22] Fix | Delete
# non-used flags.
[23] Fix | Delete
b4_parse_trace_if([0], [0])
[24] Fix | Delete
[25] Fix | Delete
m4_define([b4_symbol_no_destructor_assert],
[26] Fix | Delete
[b4_symbol_if([$1], [has_destructor],
[27] Fix | Delete
[b4_fatal([%s: %s: %%destructor does not make sense in Java],
[28] Fix | Delete
[b4_skeleton],
[29] Fix | Delete
[b4_symbol_action_location([$1], [destructor])])])])
[30] Fix | Delete
b4_symbol_foreach([b4_symbol_no_destructor_assert])
[31] Fix | Delete
[32] Fix | Delete
# Setup some macros for api.push-pull.
[33] Fix | Delete
b4_percent_define_default([[api.push-pull]], [[pull]])
[34] Fix | Delete
b4_percent_define_check_values([[[[api.push-pull]],
[35] Fix | Delete
[[pull]], [[push]], [[both]]]])
[36] Fix | Delete
[37] Fix | Delete
# Define m4 conditional macros that encode the value
[38] Fix | Delete
# of the api.push-pull flag.
[39] Fix | Delete
b4_define_flag_if([pull]) m4_define([b4_pull_flag], [[1]])
[40] Fix | Delete
b4_define_flag_if([push]) m4_define([b4_push_flag], [[1]])
[41] Fix | Delete
m4_case(b4_percent_define_get([[api.push-pull]]),
[42] Fix | Delete
[pull], [m4_define([b4_push_flag], [[0]])],
[43] Fix | Delete
[push], [m4_define([b4_pull_flag], [[0]])])
[44] Fix | Delete
[45] Fix | Delete
# Define a macro to be true when api.push-pull has the value "both".
[46] Fix | Delete
m4_define([b4_both_if],[b4_push_if([b4_pull_if([$1],[$2])],[$2])])
[47] Fix | Delete
[48] Fix | Delete
# Handle BISON_USE_PUSH_FOR_PULL for the test suite. So that push parsing
[49] Fix | Delete
# tests function as written, do not let BISON_USE_PUSH_FOR_PULL modify the
[50] Fix | Delete
# behavior of Bison at all when push parsing is already requested.
[51] Fix | Delete
b4_define_flag_if([use_push_for_pull])
[52] Fix | Delete
b4_use_push_for_pull_if([
[53] Fix | Delete
b4_push_if([m4_define([b4_use_push_for_pull_flag], [[0]])],
[54] Fix | Delete
[m4_define([b4_push_flag], [[1]])])])
[55] Fix | Delete
[56] Fix | Delete
# Define a macro to encapsulate the parse state variables.
[57] Fix | Delete
# This allows them to be defined either in parse() when doing
[58] Fix | Delete
# pull parsing, or as class instance variable when doing push parsing.
[59] Fix | Delete
m4_define([b4_define_state],[[
[60] Fix | Delete
/* Lookahead and lookahead in internal form. */
[61] Fix | Delete
int yychar = yyempty_;
[62] Fix | Delete
int yytoken = 0;
[63] Fix | Delete
[64] Fix | Delete
/* State. */
[65] Fix | Delete
int yyn = 0;
[66] Fix | Delete
int yylen = 0;
[67] Fix | Delete
int yystate = 0;
[68] Fix | Delete
YYStack yystack = new YYStack ();
[69] Fix | Delete
int label = YYNEWSTATE;
[70] Fix | Delete
[71] Fix | Delete
/* Error handling. */
[72] Fix | Delete
int yynerrs_ = 0;
[73] Fix | Delete
]b4_locations_if([/* The location where the error started. */
[74] Fix | Delete
b4_location_type yyerrloc = null;
[75] Fix | Delete
[76] Fix | Delete
/* Location. */
[77] Fix | Delete
b4_location_type yylloc = new b4_location_type (null, null);])[
[78] Fix | Delete
[79] Fix | Delete
/* Semantic value of the lookahead. */
[80] Fix | Delete
]b4_yystype[ yylval = null;
[81] Fix | Delete
]])
[82] Fix | Delete
[83] Fix | Delete
b4_output_begin([b4_parser_file_name])
[84] Fix | Delete
b4_copyright([Skeleton implementation for Bison LALR(1) parsers in Java],
[85] Fix | Delete
[2007-2015])
[86] Fix | Delete
[87] Fix | Delete
b4_percent_define_ifdef([package], [package b4_percent_define_get([package]);
[88] Fix | Delete
])[/* First part of user declarations. */
[89] Fix | Delete
]b4_user_pre_prologue
[90] Fix | Delete
b4_user_post_prologue
[91] Fix | Delete
b4_percent_code_get([[imports]])
[92] Fix | Delete
[/**
[93] Fix | Delete
* A Bison parser, automatically generated from <tt>]m4_bpatsubst(b4_file_name, [^"\(.*\)"$], [\1])[</tt>.
[94] Fix | Delete
*
[95] Fix | Delete
* @@author LALR (1) parser skeleton written by Paolo Bonzini.
[96] Fix | Delete
*/
[97] Fix | Delete
]b4_percent_define_get3([annotations], [], [ ])dnl
[98] Fix | Delete
b4_public_if([public ])dnl
[99] Fix | Delete
b4_abstract_if([abstract ])dnl
[100] Fix | Delete
b4_final_if([final ])dnl
[101] Fix | Delete
b4_strictfp_if([strictfp ])dnl
[102] Fix | Delete
[class ]b4_parser_class_name[]dnl
[103] Fix | Delete
b4_percent_define_get3([extends], [ extends ])dnl
[104] Fix | Delete
b4_percent_define_get3([implements], [ implements ])[
[105] Fix | Delete
{
[106] Fix | Delete
]b4_identification[
[107] Fix | Delete
]b4_error_verbose_if([[
[108] Fix | Delete
/**
[109] Fix | Delete
* True if verbose error messages are enabled.
[110] Fix | Delete
*/
[111] Fix | Delete
private boolean yyErrorVerbose = true;
[112] Fix | Delete
[113] Fix | Delete
/**
[114] Fix | Delete
* Return whether verbose error messages are enabled.
[115] Fix | Delete
*/
[116] Fix | Delete
public final boolean getErrorVerbose() { return yyErrorVerbose; }
[117] Fix | Delete
[118] Fix | Delete
/**
[119] Fix | Delete
* Set the verbosity of error messages.
[120] Fix | Delete
* @@param verbose True to request verbose error messages.
[121] Fix | Delete
*/
[122] Fix | Delete
public final void setErrorVerbose(boolean verbose)
[123] Fix | Delete
{ yyErrorVerbose = verbose; }
[124] Fix | Delete
]])
[125] Fix | Delete
[126] Fix | Delete
b4_locations_if([[
[127] Fix | Delete
/**
[128] Fix | Delete
* A class defining a pair of positions. Positions, defined by the
[129] Fix | Delete
* <code>]b4_position_type[</code> class, denote a point in the input.
[130] Fix | Delete
* Locations represent a part of the input through the beginning
[131] Fix | Delete
* and ending positions.
[132] Fix | Delete
*/
[133] Fix | Delete
public class ]b4_location_type[ {
[134] Fix | Delete
/**
[135] Fix | Delete
* The first, inclusive, position in the range.
[136] Fix | Delete
*/
[137] Fix | Delete
public ]b4_position_type[ begin;
[138] Fix | Delete
[139] Fix | Delete
/**
[140] Fix | Delete
* The first position beyond the range.
[141] Fix | Delete
*/
[142] Fix | Delete
public ]b4_position_type[ end;
[143] Fix | Delete
[144] Fix | Delete
/**
[145] Fix | Delete
* Create a <code>]b4_location_type[</code> denoting an empty range located at
[146] Fix | Delete
* a given point.
[147] Fix | Delete
* @@param loc The position at which the range is anchored.
[148] Fix | Delete
*/
[149] Fix | Delete
public ]b4_location_type[ (]b4_position_type[ loc) {
[150] Fix | Delete
this.begin = this.end = loc;
[151] Fix | Delete
}
[152] Fix | Delete
[153] Fix | Delete
/**
[154] Fix | Delete
* Create a <code>]b4_location_type[</code> from the endpoints of the range.
[155] Fix | Delete
* @@param begin The first position included in the range.
[156] Fix | Delete
* @@param end The first position beyond the range.
[157] Fix | Delete
*/
[158] Fix | Delete
public ]b4_location_type[ (]b4_position_type[ begin, ]b4_position_type[ end) {
[159] Fix | Delete
this.begin = begin;
[160] Fix | Delete
this.end = end;
[161] Fix | Delete
}
[162] Fix | Delete
[163] Fix | Delete
/**
[164] Fix | Delete
* Print a representation of the location. For this to be correct,
[165] Fix | Delete
* <code>]b4_position_type[</code> should override the <code>equals</code>
[166] Fix | Delete
* method.
[167] Fix | Delete
*/
[168] Fix | Delete
public String toString () {
[169] Fix | Delete
if (begin.equals (end))
[170] Fix | Delete
return begin.toString ();
[171] Fix | Delete
else
[172] Fix | Delete
return begin.toString () + "-" + end.toString ();
[173] Fix | Delete
}
[174] Fix | Delete
}
[175] Fix | Delete
[176] Fix | Delete
]])
[177] Fix | Delete
[178] Fix | Delete
b4_locations_if([[
[179] Fix | Delete
private ]b4_location_type[ yylloc (YYStack rhs, int n)
[180] Fix | Delete
{
[181] Fix | Delete
if (n > 0)
[182] Fix | Delete
return new ]b4_location_type[ (rhs.locationAt (n-1).begin, rhs.locationAt (0).end);
[183] Fix | Delete
else
[184] Fix | Delete
return new ]b4_location_type[ (rhs.locationAt (0).end);
[185] Fix | Delete
}]])[
[186] Fix | Delete
[187] Fix | Delete
/**
[188] Fix | Delete
* Communication interface between the scanner and the Bison-generated
[189] Fix | Delete
* parser <tt>]b4_parser_class_name[</tt>.
[190] Fix | Delete
*/
[191] Fix | Delete
public interface Lexer {
[192] Fix | Delete
/** Token returned by the scanner to signal the end of its input. */
[193] Fix | Delete
public static final int EOF = 0;
[194] Fix | Delete
[195] Fix | Delete
]b4_token_enums[
[196] Fix | Delete
[197] Fix | Delete
]b4_locations_if([[/**
[198] Fix | Delete
* Method to retrieve the beginning position of the last scanned token.
[199] Fix | Delete
* @@return the position at which the last scanned token starts.
[200] Fix | Delete
*/
[201] Fix | Delete
]b4_position_type[ getStartPos ();
[202] Fix | Delete
[203] Fix | Delete
/**
[204] Fix | Delete
* Method to retrieve the ending position of the last scanned token.
[205] Fix | Delete
* @@return the first position beyond the last scanned token.
[206] Fix | Delete
*/
[207] Fix | Delete
]b4_position_type[ getEndPos ();]])[
[208] Fix | Delete
[209] Fix | Delete
/**
[210] Fix | Delete
* Method to retrieve the semantic value of the last scanned token.
[211] Fix | Delete
* @@return the semantic value of the last scanned token.
[212] Fix | Delete
*/
[213] Fix | Delete
]b4_yystype[ getLVal ();
[214] Fix | Delete
[215] Fix | Delete
/**
[216] Fix | Delete
* Entry point for the scanner. Returns the token identifier corresponding
[217] Fix | Delete
* to the next token and prepares to return the semantic value
[218] Fix | Delete
* ]b4_locations_if([and beginning/ending positions ])[of the token.
[219] Fix | Delete
* @@return the token identifier corresponding to the next token.
[220] Fix | Delete
*/
[221] Fix | Delete
int yylex () ]b4_maybe_throws([b4_lex_throws])[;
[222] Fix | Delete
[223] Fix | Delete
/**
[224] Fix | Delete
* Entry point for error reporting. Emits an error
[225] Fix | Delete
* ]b4_locations_if([referring to the given location ])[in a user-defined way.
[226] Fix | Delete
*
[227] Fix | Delete
* ]b4_locations_if([[@@param loc The location of the element to which the
[228] Fix | Delete
* error message is related]])[
[229] Fix | Delete
* @@param msg The string for the error message.
[230] Fix | Delete
*/
[231] Fix | Delete
void yyerror (]b4_locations_if([b4_location_type[ loc, ]])[String msg);]
[232] Fix | Delete
}
[233] Fix | Delete
[234] Fix | Delete
b4_lexer_if([[private class YYLexer implements Lexer {
[235] Fix | Delete
]b4_percent_code_get([[lexer]])[
[236] Fix | Delete
}
[237] Fix | Delete
[238] Fix | Delete
]])[/**
[239] Fix | Delete
* The object doing lexical analysis for us.
[240] Fix | Delete
*/
[241] Fix | Delete
private Lexer yylexer;
[242] Fix | Delete
]
[243] Fix | Delete
b4_parse_param_vars
[244] Fix | Delete
[245] Fix | Delete
b4_lexer_if([[
[246] Fix | Delete
/**
[247] Fix | Delete
* Instantiates the Bison-generated parser.
[248] Fix | Delete
*/
[249] Fix | Delete
public ]b4_parser_class_name (b4_parse_param_decl([b4_lex_param_decl])[) ]b4_maybe_throws([b4_init_throws])[
[250] Fix | Delete
{
[251] Fix | Delete
]b4_percent_code_get([[init]])[
[252] Fix | Delete
this.yylexer = new YYLexer(]b4_lex_param_call[);
[253] Fix | Delete
]b4_parse_param_cons[
[254] Fix | Delete
}
[255] Fix | Delete
]])
[256] Fix | Delete
[257] Fix | Delete
/**
[258] Fix | Delete
* Instantiates the Bison-generated parser.
[259] Fix | Delete
* @@param yylexer The scanner that will supply tokens to the parser.
[260] Fix | Delete
*/
[261] Fix | Delete
b4_lexer_if([[protected]], [[public]]) b4_parser_class_name[ (]b4_parse_param_decl([[Lexer yylexer]])[) ]b4_maybe_throws([b4_init_throws])[
[262] Fix | Delete
{
[263] Fix | Delete
]b4_percent_code_get([[init]])[
[264] Fix | Delete
this.yylexer = yylexer;
[265] Fix | Delete
]b4_parse_param_cons[
[266] Fix | Delete
}
[267] Fix | Delete
[268] Fix | Delete
private java.io.PrintStream yyDebugStream = System.err;
[269] Fix | Delete
[270] Fix | Delete
/**
[271] Fix | Delete
* Return the <tt>PrintStream</tt> on which the debugging output is
[272] Fix | Delete
* printed.
[273] Fix | Delete
*/
[274] Fix | Delete
public final java.io.PrintStream getDebugStream () { return yyDebugStream; }
[275] Fix | Delete
[276] Fix | Delete
/**
[277] Fix | Delete
* Set the <tt>PrintStream</tt> on which the debug output is printed.
[278] Fix | Delete
* @@param s The stream that is used for debugging output.
[279] Fix | Delete
*/
[280] Fix | Delete
public final void setDebugStream(java.io.PrintStream s) { yyDebugStream = s; }
[281] Fix | Delete
[282] Fix | Delete
private int yydebug = 0;
[283] Fix | Delete
[284] Fix | Delete
/**
[285] Fix | Delete
* Answer the verbosity of the debugging output; 0 means that all kinds of
[286] Fix | Delete
* output from the parser are suppressed.
[287] Fix | Delete
*/
[288] Fix | Delete
public final int getDebugLevel() { return yydebug; }
[289] Fix | Delete
[290] Fix | Delete
/**
[291] Fix | Delete
* Set the verbosity of the debugging output; 0 means that all kinds of
[292] Fix | Delete
* output from the parser are suppressed.
[293] Fix | Delete
* @@param level The verbosity level for debugging output.
[294] Fix | Delete
*/
[295] Fix | Delete
public final void setDebugLevel(int level) { yydebug = level; }
[296] Fix | Delete
[297] Fix | Delete
/**
[298] Fix | Delete
* Print an error message via the lexer.
[299] Fix | Delete
*]b4_locations_if([[ Use a <code>null</code> location.]])[
[300] Fix | Delete
* @@param msg The error message.
[301] Fix | Delete
*/
[302] Fix | Delete
public final void yyerror (String msg)
[303] Fix | Delete
{
[304] Fix | Delete
yylexer.yyerror (]b4_locations_if([[(]b4_location_type[)null, ]])[msg);
[305] Fix | Delete
}
[306] Fix | Delete
]b4_locations_if([[
[307] Fix | Delete
/**
[308] Fix | Delete
* Print an error message via the lexer.
[309] Fix | Delete
* @@param loc The location associated with the message.
[310] Fix | Delete
* @@param msg The error message.
[311] Fix | Delete
*/
[312] Fix | Delete
public final void yyerror (]b4_location_type[ loc, String msg)
[313] Fix | Delete
{
[314] Fix | Delete
yylexer.yyerror (loc, msg);
[315] Fix | Delete
}
[316] Fix | Delete
[317] Fix | Delete
/**
[318] Fix | Delete
* Print an error message via the lexer.
[319] Fix | Delete
* @@param pos The position associated with the message.
[320] Fix | Delete
* @@param msg The error message.
[321] Fix | Delete
*/
[322] Fix | Delete
public final void yyerror (]b4_position_type[ pos, String msg)
[323] Fix | Delete
{
[324] Fix | Delete
yylexer.yyerror (new ]b4_location_type[ (pos), msg);
[325] Fix | Delete
}]])
[326] Fix | Delete
[327] Fix | Delete
[protected final void yycdebug (String s) {
[328] Fix | Delete
if (yydebug > 0)
[329] Fix | Delete
yyDebugStream.println (s);
[330] Fix | Delete
}
[331] Fix | Delete
[332] Fix | Delete
private final class YYStack {
[333] Fix | Delete
private int[] stateStack = new int[16];
[334] Fix | Delete
]b4_locations_if([[private ]b4_location_type[[] locStack = new ]b4_location_type[[16];]])[
[335] Fix | Delete
private ]b4_yystype[[] valueStack = new ]b4_yystype[[16];
[336] Fix | Delete
[337] Fix | Delete
public int size = 16;
[338] Fix | Delete
public int height = -1;
[339] Fix | Delete
[340] Fix | Delete
public final void push (int state, ]b4_yystype[ value]dnl
[341] Fix | Delete
b4_locations_if([, ]b4_location_type[ loc])[) {
[342] Fix | Delete
height++;
[343] Fix | Delete
if (size == height)
[344] Fix | Delete
{
[345] Fix | Delete
int[] newStateStack = new int[size * 2];
[346] Fix | Delete
System.arraycopy (stateStack, 0, newStateStack, 0, height);
[347] Fix | Delete
stateStack = newStateStack;
[348] Fix | Delete
]b4_locations_if([[
[349] Fix | Delete
]b4_location_type[[] newLocStack = new ]b4_location_type[[size * 2];
[350] Fix | Delete
System.arraycopy (locStack, 0, newLocStack, 0, height);
[351] Fix | Delete
locStack = newLocStack;]])
[352] Fix | Delete
[353] Fix | Delete
b4_yystype[[] newValueStack = new ]b4_yystype[[size * 2];
[354] Fix | Delete
System.arraycopy (valueStack, 0, newValueStack, 0, height);
[355] Fix | Delete
valueStack = newValueStack;
[356] Fix | Delete
[357] Fix | Delete
size *= 2;
[358] Fix | Delete
}
[359] Fix | Delete
[360] Fix | Delete
stateStack[height] = state;
[361] Fix | Delete
]b4_locations_if([[locStack[height] = loc;]])[
[362] Fix | Delete
valueStack[height] = value;
[363] Fix | Delete
}
[364] Fix | Delete
[365] Fix | Delete
public final void pop () {
[366] Fix | Delete
pop (1);
[367] Fix | Delete
}
[368] Fix | Delete
[369] Fix | Delete
public final void pop (int num) {
[370] Fix | Delete
// Avoid memory leaks... garbage collection is a white lie!
[371] Fix | Delete
if (num > 0) {
[372] Fix | Delete
java.util.Arrays.fill (valueStack, height - num + 1, height + 1, null);
[373] Fix | Delete
]b4_locations_if([[java.util.Arrays.fill (locStack, height - num + 1, height + 1, null);]])[
[374] Fix | Delete
}
[375] Fix | Delete
height -= num;
[376] Fix | Delete
}
[377] Fix | Delete
[378] Fix | Delete
public final int stateAt (int i) {
[379] Fix | Delete
return stateStack[height - i];
[380] Fix | Delete
}
[381] Fix | Delete
[382] Fix | Delete
]b4_locations_if([[public final ]b4_location_type[ locationAt (int i) {
[383] Fix | Delete
return locStack[height - i];
[384] Fix | Delete
}
[385] Fix | Delete
[386] Fix | Delete
]])[public final ]b4_yystype[ valueAt (int i) {
[387] Fix | Delete
return valueStack[height - i];
[388] Fix | Delete
}
[389] Fix | Delete
[390] Fix | Delete
// Print the state stack on the debug stream.
[391] Fix | Delete
public void print (java.io.PrintStream out)
[392] Fix | Delete
{
[393] Fix | Delete
out.print ("Stack now");
[394] Fix | Delete
[395] Fix | Delete
for (int i = 0; i <= height; i++)
[396] Fix | Delete
{
[397] Fix | Delete
out.print (' ');
[398] Fix | Delete
out.print (stateStack[i]);
[399] Fix | Delete
}
[400] Fix | Delete
out.println ();
[401] Fix | Delete
}
[402] Fix | Delete
}
[403] Fix | Delete
[404] Fix | Delete
/**
[405] Fix | Delete
* Returned by a Bison action in order to stop the parsing process and
[406] Fix | Delete
* return success (<tt>true</tt>).
[407] Fix | Delete
*/
[408] Fix | Delete
public static final int YYACCEPT = 0;
[409] Fix | Delete
[410] Fix | Delete
/**
[411] Fix | Delete
* Returned by a Bison action in order to stop the parsing process and
[412] Fix | Delete
* return failure (<tt>false</tt>).
[413] Fix | Delete
*/
[414] Fix | Delete
public static final int YYABORT = 1;
[415] Fix | Delete
[416] Fix | Delete
]b4_push_if([
[417] Fix | Delete
/**
[418] Fix | Delete
* Returned by a Bison action in order to request a new token.
[419] Fix | Delete
*/
[420] Fix | Delete
public static final int YYPUSH_MORE = 4;])[
[421] Fix | Delete
[422] Fix | Delete
/**
[423] Fix | Delete
* Returned by a Bison action in order to start error recovery without
[424] Fix | Delete
* printing an error message.
[425] Fix | Delete
*/
[426] Fix | Delete
public static final int YYERROR = 2;
[427] Fix | Delete
[428] Fix | Delete
/**
[429] Fix | Delete
* Internal return codes that are not supported for user semantic
[430] Fix | Delete
* actions.
[431] Fix | Delete
*/
[432] Fix | Delete
private static final int YYERRLAB = 3;
[433] Fix | Delete
private static final int YYNEWSTATE = 4;
[434] Fix | Delete
private static final int YYDEFAULT = 5;
[435] Fix | Delete
private static final int YYREDUCE = 6;
[436] Fix | Delete
private static final int YYERRLAB1 = 7;
[437] Fix | Delete
private static final int YYRETURN = 8;
[438] Fix | Delete
]b4_push_if([[ private static final int YYGETTOKEN = 9; /* Signify that a new token is expected when doing push-parsing. */]])[
[439] Fix | Delete
[440] Fix | Delete
private int yyerrstatus_ = 0;
[441] Fix | Delete
[442] Fix | Delete
]b4_push_if([dnl
[443] Fix | Delete
b4_define_state])[
[444] Fix | Delete
/**
[445] Fix | Delete
* Return whether error recovery is being done. In this state, the parser
[446] Fix | Delete
* reads token until it reaches a known state, and then restarts normal
[447] Fix | Delete
* operation.
[448] Fix | Delete
*/
[449] Fix | Delete
public final boolean recovering ()
[450] Fix | Delete
{
[451] Fix | Delete
return yyerrstatus_ == 0;
[452] Fix | Delete
}
[453] Fix | Delete
[454] Fix | Delete
/** Compute post-reduction state.
[455] Fix | Delete
* @@param yystate the current state
[456] Fix | Delete
* @@param yysym the nonterminal to push on the stack
[457] Fix | Delete
*/
[458] Fix | Delete
private int yy_lr_goto_state_ (int yystate, int yysym)
[459] Fix | Delete
{
[460] Fix | Delete
int yyr = yypgoto_[yysym - yyntokens_] + yystate;
[461] Fix | Delete
if (0 <= yyr && yyr <= yylast_ && yycheck_[yyr] == yystate)
[462] Fix | Delete
return yytable_[yyr];
[463] Fix | Delete
else
[464] Fix | Delete
return yydefgoto_[yysym - yyntokens_];
[465] Fix | Delete
}
[466] Fix | Delete
[467] Fix | Delete
private int yyaction (int yyn, YYStack yystack, int yylen) ]b4_maybe_throws([b4_throws])[
[468] Fix | Delete
{
[469] Fix | Delete
]b4_yystype[ yyval;
[470] Fix | Delete
]b4_locations_if([b4_location_type[ yyloc = yylloc (yystack, yylen);]])[
[471] Fix | Delete
[472] Fix | Delete
/* If YYLEN is nonzero, implement the default value of the action:
[473] Fix | Delete
'$$ = $1'. Otherwise, use the top of the stack.
[474] Fix | Delete
[475] Fix | Delete
Otherwise, the following line sets YYVAL to garbage.
[476] Fix | Delete
This behavior is undocumented and Bison
[477] Fix | Delete
users should not rely upon it. */
[478] Fix | Delete
if (yylen > 0)
[479] Fix | Delete
yyval = yystack.valueAt (yylen - 1);
[480] Fix | Delete
else
[481] Fix | Delete
yyval = yystack.valueAt (0);
[482] Fix | Delete
[483] Fix | Delete
yy_reduce_print (yyn, yystack);
[484] Fix | Delete
[485] Fix | Delete
switch (yyn)
[486] Fix | Delete
{
[487] Fix | Delete
]b4_user_actions[
[488] Fix | Delete
default: break;
[489] Fix | Delete
}
[490] Fix | Delete
[491] Fix | Delete
yy_symbol_print ("-> $$ =", yyr1_[yyn], yyval]b4_locations_if([, yyloc])[);
[492] Fix | Delete
[493] Fix | Delete
yystack.pop (yylen);
[494] Fix | Delete
yylen = 0;
[495] Fix | Delete
[496] Fix | Delete
/* Shift the result of the reduction. */
[497] Fix | Delete
int yystate = yy_lr_goto_state_ (yystack.stateAt (0), yyr1_[yyn]);
[498] Fix | Delete
yystack.push (yystate, yyval]b4_locations_if([, yyloc])[);
[499] Fix | Delete
It is recommended that you Edit text format, this type of Fix handles quite a lot in one request
Function