mirror of
https://git.savannah.gnu.org/git/bison.git
synced 2026-03-13 06:13:02 +00:00
Add i18n support to the GLR skeleton. Partially fix the C++
skeleton; a C++ expert needs to finish this. Remove debugging msgids; there's little point to having them translated, since they can be understood only by someone who can read the (English-language) source code. Generate runtime-po/bison-runtime.pot automatically, so that we don't have to worry about garbage getting in that file. We'll make sure after the next official release that old msgids don't get lost. See <http://lists.gnu.org/archive/html/bison-patches/2005-07/msg00119.html>. * runtime-po/Makefile.in.in, runtime-po/bison-runtime.pot: Remove. Now auto-generated. * PACKAGING: Don't claim that Gawk, GCC, Perl use this method yet. Fix typos in explanations of the runtime file. * bootstrap: Change gettext keyword from YYI18N to YY_. Use standard Makefile.in.in in runtime-po, since we'll arrange for backward-compatible bison-runtime.po files in a different way. * data/glr.c (YY_): New macro, from yacc.c. (yyuserAction, yyreportAmbiguity, yyreportSyntaxError, yyparse): Translate messages intended for users. (yyreportSyntaxError): Change "virtual memory" to "memory" to match the wording in the other skeletons. We don't know that the memory is virtual. * data/lalr1.cc (YY_): Renamed from _. All uses changed. Use same method that yacc.c uses. Don't translate debugging messages. (yy::yyreport_syntax_error): Put in a FIXME for the i18n stuff; it doesn't work (yet), and requires C++ expertise to fix. * data/yacc.c (YY_): Renamed from YY18N. All uses changed. Move defn to a more logical place, to be consistent with other skeletons. Don't translate debugging messages. Don't assume line numbers fit in unsigned int; use unsigned long fmts. * doc/bison.texinfo: Mention <libintl.h>. Change glibc cross reference to gettext cross reference. Add indexing terms. Mention YYENABLE_NLS. * runtime-po/POTFILES.in: Add data/glr.c, data/lalr1.cc.
This commit is contained in:
@@ -403,7 +403,7 @@ b4_location_if([ (void) yylocationp;
|
||||
YYFPRINTF (yyoutput, "nterm %s (", yytname[yytype]);
|
||||
|
||||
]b4_location_if([ YY_LOCATION_PRINT (yyoutput, *yylocationp);
|
||||
fprintf (yyoutput, ": ");
|
||||
YYFPRINTF (yyoutput, ": ");
|
||||
])dnl
|
||||
[
|
||||
# ifdef YYPRINT
|
||||
|
||||
28
data/glr.c
28
data/glr.c
@@ -218,6 +218,18 @@ b4_syncline([@oline@], [@ofile@])
|
||||
#include <stdarg.h>
|
||||
#include <setjmp.h>
|
||||
|
||||
#ifndef YY_
|
||||
# if YYENABLE_NLS
|
||||
# if ENABLE_NLS
|
||||
# include <libintl.h> /* INFRINGES ON USER NAME SPACE */
|
||||
# define YY_(msgid) dgettext ("bison-runtime", msgid)
|
||||
# endif
|
||||
# endif
|
||||
# ifndef YY_
|
||||
# define YY_(msgid) msgid
|
||||
# endif
|
||||
#endif
|
||||
|
||||
#ifndef YYFREE
|
||||
# define YYFREE free
|
||||
#endif
|
||||
@@ -771,7 +783,7 @@ yyuserAction (yyRuleNum yyn, int yyrhslen, yyGLRStackItem* yyvsp,
|
||||
# define YYFILL(N) yyfill (yyvsp, &yylow, N, yynormal)
|
||||
# undef YYBACKUP
|
||||
# define YYBACKUP(Token, Value) \
|
||||
return yyerror (]b4_yyerror_args["syntax error: cannot back up"), \
|
||||
return yyerror (]b4_yyerror_args[YY_("syntax error: cannot back up")), \
|
||||
yyerrok, yyerr
|
||||
|
||||
yylow = 1;
|
||||
@@ -1524,7 +1536,7 @@ yyreportAmbiguity (yySemanticOption* yyx0, yySemanticOption* yyx1,
|
||||
yyreportTree (yyx1, 2);
|
||||
YYFPRINTF (stderr, "\n");
|
||||
#endif
|
||||
yyFail (yystack][]b4_pure_args[, "ambiguity detected");
|
||||
yyFail (yystack][]b4_pure_args[, YY_("ambiguity detected"));
|
||||
}
|
||||
|
||||
|
||||
@@ -1774,8 +1786,8 @@ yyreportSyntaxError (yyGLRStack* yystack,
|
||||
yyprefix = yyor;
|
||||
}
|
||||
|
||||
yyf = yyformat;
|
||||
yysize1 = yysize + (yyfmt - yyformat);
|
||||
yyf = YY_(yyformat);
|
||||
yysize1 = yysize + strlen (yyf);
|
||||
yysize_overflow |= yysize1 < yysize;
|
||||
yysize = yysize1;
|
||||
|
||||
@@ -1803,11 +1815,11 @@ yyreportSyntaxError (yyGLRStack* yystack,
|
||||
YYFREE (yymsg);
|
||||
}
|
||||
else
|
||||
yyerror (]b4_lyyerror_args["syntax error; also virtual memory exhausted");
|
||||
yyerror (]b4_lyyerror_args[YY_("syntax error; also memory exhausted"));
|
||||
}
|
||||
else
|
||||
#endif /* YYERROR_VERBOSE */
|
||||
yyerror (]b4_lyyerror_args["syntax error");
|
||||
yyerror (]b4_lyyerror_args[YY_("syntax error"));
|
||||
yynerrs += 1;
|
||||
}
|
||||
}
|
||||
@@ -2068,7 +2080,7 @@ b4_syncline([@oline@], [@ofile@])])dnl
|
||||
{
|
||||
yyundeleteLastStack (&yystack);
|
||||
if (yystack.yytops.yysize == 0)
|
||||
yyFail (&yystack][]b4_lpure_args[, "syntax error");
|
||||
yyFail (&yystack][]b4_lpure_args[, YY_("syntax error"));
|
||||
YYCHK1 (yyresolveStack (&yystack]b4_user_args[));
|
||||
YYDPRINTF ((stderr, "Returning to deterministic operation.\n"));
|
||||
]b4_location_if([[ yystack.yyerror_range[1].yystate.yyloc = *yyllocp;]])[
|
||||
@@ -2098,7 +2110,7 @@ b4_syncline([@oline@], [@ofile@])])dnl
|
||||
goto yyreturn;
|
||||
|
||||
yyoverflowlab:
|
||||
yyerror (]b4_lyyerror_args["parser stack overflow");
|
||||
yyerror (]b4_lyyerror_args[YY_("parser stack overflow"));
|
||||
yyresult = 2;
|
||||
/* Fall through. */
|
||||
|
||||
|
||||
@@ -417,9 +417,16 @@ m4_if(b4_defines_flag, 0, [],
|
||||
[
|
||||
#include @output_header_name@])[
|
||||
|
||||
/* INFRINGES ON USER NAME SPACE */
|
||||
#ifndef _
|
||||
# define _(msgid) msgid
|
||||
#ifndef YY_
|
||||
# if YYENABLE_NLS
|
||||
# if ENABLE_NLS
|
||||
# include <libintl.h> /* FIXME: INFRINGES ON USER NAME SPACE */
|
||||
# define YY_(msgid) dgettext ("bison-runtime", msgid)
|
||||
# endif
|
||||
# endif
|
||||
# ifndef YY_
|
||||
# define YY_(msgid) msgid
|
||||
# endif
|
||||
#endif
|
||||
|
||||
/* A pseudo ostream that takes yydebug_ into account. */
|
||||
@@ -551,7 +558,7 @@ yy::]b4_parser_class_name[::parse ()
|
||||
{
|
||||
int yyresult_;
|
||||
|
||||
YYCDEBUG << _("Starting parse") << std::endl;
|
||||
YYCDEBUG << "Starting parse" << std::endl;
|
||||
|
||||
yynerrs_ = 0;
|
||||
yyerrstatus_ = 0;
|
||||
@@ -583,7 +590,7 @@ b4_syncline([@oline@], [@ofile@])])dnl
|
||||
/* New state. */
|
||||
yynewstate:
|
||||
yystate_stack_.push (yystate_);
|
||||
YYCDEBUG << _("Entering state ") << yystate_ << std::endl;
|
||||
YYCDEBUG << "Entering state " << yystate_ << std::endl;
|
||||
goto yybackup;
|
||||
|
||||
/* Backup. */
|
||||
@@ -602,12 +609,12 @@ yybackup:
|
||||
if (yylooka_ <= yyeof_)
|
||||
{
|
||||
yylooka_ = yyilooka_ = yyeof_;
|
||||
YYCDEBUG << _("Now at end of input.") << std::endl;
|
||||
YYCDEBUG << "Now at end of input." << std::endl;
|
||||
}
|
||||
else
|
||||
{
|
||||
yyilooka_ = yytranslate_ (yylooka_);
|
||||
YY_SYMBOL_PRINT (_("Next token is"), yyilooka_, &yylval, &yylloc);
|
||||
YY_SYMBOL_PRINT ("Next token is", yyilooka_, &yylval, &yylloc);
|
||||
}
|
||||
|
||||
/* If the proper action on seeing token ILOOKA_ is to reduce or to
|
||||
@@ -636,7 +643,7 @@ yybackup:
|
||||
goto yyacceptlab;
|
||||
|
||||
/* Shift the look-ahead token. */
|
||||
YY_SYMBOL_PRINT (_("Shifting"), yyilooka_, &yylval, &yylloc);
|
||||
YY_SYMBOL_PRINT ("Shifting", yyilooka_, &yylval, &yylloc);
|
||||
|
||||
/* Discard the token being shifted unless it is eof. */
|
||||
if (yylooka_ != yyeof_)
|
||||
@@ -734,7 +741,7 @@ yyerrlab:
|
||||
yypop_ ();
|
||||
if (yystate_stack_.height () == 1)
|
||||
YYABORT;
|
||||
yydestruct_ (_("Error: popping"),
|
||||
yydestruct_ ("Error: popping",
|
||||
yystos_[yystate_stack_[0]],
|
||||
&yysemantic_stack_[0],
|
||||
&yylocation_stack_[0]);
|
||||
@@ -742,7 +749,7 @@ yyerrlab:
|
||||
}
|
||||
else
|
||||
{
|
||||
yydestruct_ (_("Error: discarding"), yyilooka_, &yylval, &yylloc);
|
||||
yydestruct_ ("Error: discarding", yyilooka_, &yylval, &yylloc);
|
||||
yylooka_ = yyempty_;
|
||||
}
|
||||
}
|
||||
@@ -793,7 +800,7 @@ yyerrlab1:
|
||||
YYABORT;
|
||||
|
||||
yyerror_range_[0] = yylocation_stack_[0];
|
||||
yydestruct_ (_("Error: popping"),
|
||||
yydestruct_ ("Error: popping",
|
||||
yystos_[yystate_],
|
||||
&yysemantic_stack_[0], &yylocation_stack_[0]);
|
||||
yypop_ ();
|
||||
@@ -812,7 +819,7 @@ yyerrlab1:
|
||||
yylocation_stack_.push (yyloc);
|
||||
|
||||
/* Shift the error token. */
|
||||
YY_SYMBOL_PRINT (_("Shifting"), yystos_[yyn_],
|
||||
YY_SYMBOL_PRINT ("Shifting", yystos_[yyn_],
|
||||
&yysemantic_stack_[0], &yylocation_stack_[0]);
|
||||
|
||||
yystate_ = yyn_;
|
||||
@@ -830,14 +837,14 @@ yyabortlab:
|
||||
|
||||
yyreturn:
|
||||
if (yylooka_ != yyeof_ && yylooka_ != yyempty_)
|
||||
yydestruct_ (_("Error: discarding lookahead"), yyilooka_, &yylval, &yylloc);
|
||||
yydestruct_ ("Error: discarding lookahead", yyilooka_, &yylval, &yylloc);
|
||||
return yyresult_;
|
||||
}
|
||||
|
||||
void
|
||||
yy::]b4_parser_class_name[::yylex_ ()
|
||||
{
|
||||
YYCDEBUG << _("Reading a token: ");
|
||||
YYCDEBUG << "Reading a token: ";
|
||||
yylooka_ = ]b4_c_function_call([yylex], [int],
|
||||
[[YYSTYPE*], [&yylval]][]dnl
|
||||
b4_location_if([, [[location*], [&yylloc]]])dnl
|
||||
@@ -869,7 +876,15 @@ yy::]b4_parser_class_name[::yyreport_syntax_error_ ()
|
||||
if (yycheck_[x + yyn_] == x && x != yyterror_)
|
||||
++count;
|
||||
|
||||
message = _("syntax error, unexpected ");
|
||||
// FIXME: This method of building the message is not compatible
|
||||
// with internationalization. It should work like yacc.c does it.
|
||||
// That is, first build a string that looks like this:
|
||||
// "syntax error, unexpected %s or %s or %s"
|
||||
// Then, invoke YY_ on this string.
|
||||
// Finally, use the string as a format to output
|
||||
// yyname_[yyilooka_], etc.
|
||||
// Until this gets fixed, this message appears in English only.
|
||||
message = "syntax error, unexpected ";
|
||||
message += yyname_[yyilooka_];
|
||||
if (count < 5)
|
||||
{
|
||||
@@ -877,14 +892,14 @@ yy::]b4_parser_class_name[::yyreport_syntax_error_ ()
|
||||
for (int x = yyxbegin; x < yyxend; ++x)
|
||||
if (yycheck_[x + yyn_] == x && x != yyterror_)
|
||||
{
|
||||
message += (!count++) ? _(", expecting ") : _(" or ");
|
||||
message += (!count++) ? ", expecting " : " or ";
|
||||
message += yyname_[x];
|
||||
}
|
||||
}
|
||||
}
|
||||
else
|
||||
#endif
|
||||
message = _("syntax error");
|
||||
message = YY_("syntax error");
|
||||
error (yylloc, message);
|
||||
}
|
||||
}
|
||||
@@ -1008,7 +1023,7 @@ yy::]b4_parser_class_name[::yyrline_[] =
|
||||
void
|
||||
yy::]b4_parser_class_name[::yystack_print_ ()
|
||||
{
|
||||
*yycdebug_ << _("Stack now");
|
||||
*yycdebug_ << "Stack now";
|
||||
for (state_stack_type::const_iterator i = yystate_stack_.begin ();
|
||||
i != yystate_stack_.end (); ++i)
|
||||
*yycdebug_ << ' ' << *i;
|
||||
@@ -1021,8 +1036,8 @@ yy::]b4_parser_class_name[::yyreduce_print_ (int yyrule)
|
||||
{
|
||||
unsigned int yylno = yyrline_[yyrule];
|
||||
/* Print the symbols being reduced, and their result. */
|
||||
*yycdebug_ << _("Reducing stack by rule ") << yyn_ - 1
|
||||
<< " (" << _("line") << ' ' << yylno << "), ";
|
||||
*yycdebug_ << "Reducing stack by rule " << yyn_ - 1
|
||||
<< " (line " << yylno << "), ";
|
||||
for (]b4_int_type_for([b4_prhs])[ i = yyprhs_[yyn_];
|
||||
0 <= yyrhs_[i]; ++i)
|
||||
*yycdebug_ << yyname_[yyrhs_[i]] << ' ';
|
||||
|
||||
74
data/yacc.c
74
data/yacc.c
@@ -228,6 +228,18 @@ b4_syncline([@oline@], [@ofile@])[
|
||||
# define YYSIZE_T unsigned int
|
||||
#endif
|
||||
|
||||
#ifndef YY_
|
||||
# if YYENABLE_NLS
|
||||
# if ENABLE_NLS
|
||||
# include <libintl.h> /* INFRINGES ON USER NAME SPACE */
|
||||
# define YY_(msgid) dgettext ("bison-runtime", msgid)
|
||||
# endif
|
||||
# endif
|
||||
# ifndef YY_
|
||||
# define YY_(msgid) msgid
|
||||
# endif
|
||||
#endif
|
||||
|
||||
#if ! defined (yyoverflow) || YYERROR_VERBOSE
|
||||
|
||||
/* The parser invokes alloca or malloc; define the necessary symbols. */
|
||||
@@ -412,18 +424,6 @@ static const char *const yytname[] =
|
||||
};
|
||||
#endif
|
||||
|
||||
#ifndef YYI18N
|
||||
# if YYENABLE_NLS
|
||||
# if ENABLE_NLS
|
||||
# include <libintl.h> /* INFRINGES ON USER NAME SPACE */
|
||||
# define YYI18N(msgid) dgettext ("bison-runtime", msgid)
|
||||
# endif
|
||||
# endif
|
||||
# ifndef YYI18N
|
||||
# define YYI18N(msgid) msgid
|
||||
# endif
|
||||
#endif
|
||||
|
||||
# ifdef YYPRINT
|
||||
/* YYTOKNUM[YYLEX-NUM] -- Internal token number corresponding to
|
||||
token YYLEX-NUM. */
|
||||
@@ -525,7 +525,7 @@ do \
|
||||
} \
|
||||
else \
|
||||
{ \
|
||||
yyerror (]b4_yyerror_args[YYI18N ("syntax error: cannot back up")); \
|
||||
yyerror (]b4_yyerror_args[YY_("syntax error: cannot back up")); \
|
||||
YYERROR; \
|
||||
} \
|
||||
while (0)
|
||||
@@ -619,7 +619,7 @@ do { \
|
||||
[[short int *bottom], [bottom]],
|
||||
[[short int *top], [top]])[
|
||||
{
|
||||
YYFPRINTF (stderr, YYI18N ("Stack now"));
|
||||
YYFPRINTF (stderr, "Stack now");
|
||||
for (/* Nothing. */; bottom <= top; ++bottom)
|
||||
YYFPRINTF (stderr, " %d", *bottom);
|
||||
YYFPRINTF (stderr, "\n");
|
||||
@@ -640,8 +640,8 @@ do { \
|
||||
[[int yyrule], [yyrule]])[
|
||||
{
|
||||
int yyi;
|
||||
unsigned int yylno = yyrline[yyrule];
|
||||
YYFPRINTF (stderr, YYI18N ("Reducing stack by rule %d (line %u), "),
|
||||
unsigned long int yylno = yyrline[yyrule];
|
||||
YYFPRINTF (stderr, "Reducing stack by rule %d (line %lu), ",
|
||||
yyrule - 1, yylno);
|
||||
/* Print the symbols being reduced, and their result. */
|
||||
for (yyi = yyprhs[yyrule]; 0 <= yyrhs[yyi]; yyi++)
|
||||
@@ -911,7 +911,7 @@ m4_ifdef([b4_at_dollar_used], [[ yylsp[0] = yylloc;
|
||||
data in use in that stack, in bytes. This used to be a
|
||||
conditional around just the two extra args, but that might
|
||||
be undefined if yyoverflow is a macro. */
|
||||
yyoverflow (YYI18N ("parser stack overflow"),
|
||||
yyoverflow (YY_("parser stack overflow"),
|
||||
&yyss1, yysize * sizeof (*yyssp),
|
||||
&yyvs1, yysize * sizeof (*yyvsp),
|
||||
]b4_location_if([ &yyls1, yysize * sizeof (*yylsp),])[
|
||||
@@ -951,14 +951,14 @@ m4_ifdef([b4_at_dollar_used], [[ yylsp[0] = yylloc;
|
||||
yyvsp = yyvs + yysize - 1;
|
||||
]b4_location_if([ yylsp = yyls + yysize - 1;])[
|
||||
|
||||
YYDPRINTF ((stderr, YYI18N ("Stack size increased to %lu\n"),
|
||||
YYDPRINTF ((stderr, "Stack size increased to %lu\n",
|
||||
(unsigned long int) yystacksize));
|
||||
|
||||
if (yyss + yystacksize - 1 <= yyssp)
|
||||
YYABORT;
|
||||
}
|
||||
|
||||
YYDPRINTF ((stderr, YYI18N ("Entering state %d\n"), yystate));
|
||||
YYDPRINTF ((stderr, "Entering state %d\n", yystate));
|
||||
|
||||
goto yybackup;
|
||||
|
||||
@@ -982,19 +982,19 @@ yybackup:
|
||||
/* YYCHAR is either YYEMPTY or YYEOF or a valid look-ahead symbol. */
|
||||
if (yychar == YYEMPTY)
|
||||
{
|
||||
YYDPRINTF ((stderr, YYI18N ("Reading a token: ")));
|
||||
YYDPRINTF ((stderr, "Reading a token: "));
|
||||
yychar = YYLEX;
|
||||
}
|
||||
|
||||
if (yychar <= YYEOF)
|
||||
{
|
||||
yychar = yytoken = YYEOF;
|
||||
YYDPRINTF ((stderr, YYI18N ("Now at end of input.\n")));
|
||||
YYDPRINTF ((stderr, "Now at end of input.\n"));
|
||||
}
|
||||
else
|
||||
{
|
||||
yytoken = YYTRANSLATE (yychar);
|
||||
YY_SYMBOL_PRINT (YYI18N ("Next token is"), yytoken, &yylval, &yylloc);
|
||||
YY_SYMBOL_PRINT ("Next token is", yytoken, &yylval, &yylloc);
|
||||
}
|
||||
|
||||
/* If the proper action on seeing token YYTOKEN is to reduce or to
|
||||
@@ -1015,7 +1015,7 @@ yybackup:
|
||||
YYACCEPT;
|
||||
|
||||
/* Shift the look-ahead token. */
|
||||
YY_SYMBOL_PRINT (YYI18N ("Shifting"), yytoken, &yylval, &yylloc);
|
||||
YY_SYMBOL_PRINT ("Shifting", yytoken, &yylval, &yylloc);
|
||||
|
||||
/* Discard the token being shifted unless it is eof. */
|
||||
if (yychar != YYEOF)
|
||||
@@ -1123,11 +1123,11 @@ yyerrlab:
|
||||
#if 0
|
||||
/* This is so xgettext sees the translatable formats that are
|
||||
constructed on the fly. */
|
||||
YYI18N ("syntax error, unexpected %s");
|
||||
YYI18N ("syntax error, unexpected %s, expecting %s");
|
||||
YYI18N ("syntax error, unexpected %s, expecting %s or %s");
|
||||
YYI18N ("syntax error, unexpected %s, expecting %s or %s or %s");
|
||||
YYI18N ("syntax error, unexpected %s, expecting %s or %s or %s or %s");
|
||||
YY_("syntax error, unexpected %s");
|
||||
YY_("syntax error, unexpected %s, expecting %s");
|
||||
YY_("syntax error, unexpected %s, expecting %s or %s");
|
||||
YY_("syntax error, unexpected %s, expecting %s or %s or %s");
|
||||
YY_("syntax error, unexpected %s, expecting %s or %s or %s or %s");
|
||||
#endif
|
||||
char *yyfmt;
|
||||
char const *yyf;
|
||||
@@ -1170,7 +1170,7 @@ yyerrlab:
|
||||
yyprefix = yyor;
|
||||
}
|
||||
|
||||
yyf = YYI18N (yyformat);
|
||||
yyf = YY_(yyformat);
|
||||
yysize1 = yysize + yystrlen (yyf);
|
||||
yysize_overflow |= yysize1 < yysize;
|
||||
yysize = yysize1;
|
||||
@@ -1201,11 +1201,11 @@ yyerrlab:
|
||||
YYSTACK_FREE (yymsg);
|
||||
}
|
||||
else
|
||||
yyerror (]b4_yyerror_args[YYI18N ("syntax error; also memory exhausted"));
|
||||
yyerror (]b4_yyerror_args[YY_("syntax error; also memory exhausted"));
|
||||
}
|
||||
else
|
||||
#endif /* YYERROR_VERBOSE */
|
||||
yyerror (]b4_yyerror_args[YYI18N ("syntax error"));
|
||||
yyerror (]b4_yyerror_args[YY_("syntax error"));
|
||||
}
|
||||
|
||||
]b4_location_if([[ yyerror_range[0] = yylloc;]])[
|
||||
@@ -1224,7 +1224,7 @@ yyerrlab:
|
||||
}
|
||||
else
|
||||
{
|
||||
yydestruct (YYI18N ("Error: discarding"), yytoken, &yylval]b4_location_if([, &yylloc])[);
|
||||
yydestruct ("Error: discarding", yytoken, &yylval]b4_location_if([, &yylloc])[);
|
||||
yychar = YYEMPTY;
|
||||
}
|
||||
}
|
||||
@@ -1278,7 +1278,7 @@ yyerrlab1:
|
||||
YYABORT;
|
||||
|
||||
]b4_location_if([[ yyerror_range[0] = *yylsp;]])[
|
||||
yydestruct (YYI18N ("Error: popping"), yystos[yystate], yyvsp]b4_location_if([, yylsp])[);
|
||||
yydestruct ("Error: popping", yystos[yystate], yyvsp]b4_location_if([, yylsp])[);
|
||||
YYPOPSTACK;
|
||||
yystate = *yyssp;
|
||||
YY_STACK_PRINT (yyss, yyssp);
|
||||
@@ -1296,7 +1296,7 @@ yyerrlab1:
|
||||
*++yylsp = yyloc;]])[
|
||||
|
||||
/* Shift the error token. */
|
||||
YY_SYMBOL_PRINT (YYI18N ("Shifting"), yystos[yyn], yyvsp, yylsp);
|
||||
YY_SYMBOL_PRINT ("Shifting", yystos[yyn], yyvsp, yylsp);
|
||||
|
||||
yystate = yyn;
|
||||
goto yynewstate;
|
||||
@@ -1321,14 +1321,14 @@ yyabortlab:
|
||||
| yyoverflowlab -- parser overflow comes here. |
|
||||
`----------------------------------------------*/
|
||||
yyoverflowlab:
|
||||
yyerror (]b4_yyerror_args[YYI18N ("parser stack overflow"));
|
||||
yyerror (]b4_yyerror_args[YY_("parser stack overflow"));
|
||||
yyresult = 2;
|
||||
/* Fall through. */
|
||||
#endif
|
||||
|
||||
yyreturn:
|
||||
if (yychar != YYEOF && yychar != YYEMPTY)
|
||||
yydestruct (YYI18N ("Error: discarding lookahead"),
|
||||
yydestruct ("Error: discarding lookahead",
|
||||
yytoken, &yylval]b4_location_if([, &yylloc])[);
|
||||
if (yyssp != yyss)
|
||||
for (;;)
|
||||
@@ -1337,7 +1337,7 @@ yyreturn:
|
||||
YYPOPSTACK;
|
||||
if (yyssp == yyss)
|
||||
break;
|
||||
yydestruct (YYI18N ("Error: popping"),
|
||||
yydestruct ("Error: popping",
|
||||
yystos[*yyssp], yyvsp]b4_location_if([, yylsp])[);
|
||||
}
|
||||
#ifndef yyoverflow
|
||||
|
||||
Reference in New Issue
Block a user