mirror of
https://git.savannah.gnu.org/git/bison.git
synced 2026-03-22 18:53:04 +00:00
api.prefix: also rename YYDEBUG.
The testsuite in master has shown weird errors for the "Mulitple Parsers" tests: the caller of p5.parse() received some apparently random value, while tracing p5.parse() showed that the function was consistently returning 0. It happens when mixing several parser headers, some generated without %debug, others with. In particular the C++ parser was generated with %debug, i.e., with: #ifndef YYDEBUG # define YYDEBUG 1 #endif and compiled separatedly. Yet, its header was included after the one of another parser, this time without %debug, i.e., with #ifndef YYDEBUG # define YYDEBUG 0 #endif in its header. As a result, the parser was compiled with YYDEBUG set, but its header was used without. Since the layout of the objects are then completely different, boom. Therefore, do not change the value of YYDEBUG. Rather, use it as a default value for <API.PREFIX>DEBUG. * data/c.m4 (b4_YYDEBUG_define): New. (b4_declare_yydebug): Rename as... (b4_yydebug_declare): this, for consistency. * data/glr.c, data/glr.cc, data/lalr1.cc, data/yacc.c: Use it. * NEWS: Document it.
This commit is contained in:
17
NEWS
17
NEWS
@@ -94,10 +94,19 @@ GNU Bison NEWS
|
|||||||
# define BAR_FOO_H # define BAR_FOO_H
|
# define BAR_FOO_H # define BAR_FOO_H
|
||||||
|
|
||||||
/* Enabling traces. */ /* Enabling traces. */
|
/* Enabling traces. */ /* Enabling traces. */
|
||||||
# ifndef YYDEBUG # ifndef YYDEBUG
|
# ifndef YYDEBUG | # ifndef BAR_DEBUG
|
||||||
# define YYDEBUG 0 # define YYDEBUG 0
|
> # if defined YYDEBUG
|
||||||
# endif # endif
|
> # if YYDEBUG
|
||||||
# if YYDEBUG # if YYDEBUG
|
> # define BAR_DEBUG 1
|
||||||
|
> # else
|
||||||
|
> # define BAR_DEBUG 0
|
||||||
|
> # endif
|
||||||
|
> # else
|
||||||
|
# define YYDEBUG 0 | # define BAR_DEBUG 0
|
||||||
|
> # endif
|
||||||
|
# endif | # endif
|
||||||
|
|
||||||
|
# if YYDEBUG | # if BAR_DEBUG
|
||||||
extern int bar_debug; extern int bar_debug;
|
extern int bar_debug; extern int bar_debug;
|
||||||
# endif # endif
|
# endif # endif
|
||||||
|
|
||||||
|
|||||||
28
data/c.m4
28
data/c.m4
@@ -581,14 +581,32 @@ b4_pure_if([], [[extern ]b4_api_PREFIX[STYPE ]b4_prefix[lval;
|
|||||||
]b4_locations_if([[extern ]b4_api_PREFIX[LTYPE ]b4_prefix[lloc;]])])[]dnl
|
]b4_locations_if([[extern ]b4_api_PREFIX[LTYPE ]b4_prefix[lloc;]])])[]dnl
|
||||||
])
|
])
|
||||||
|
|
||||||
|
# b4_YYDEBUG_define
|
||||||
|
# ------------------
|
||||||
|
m4_define([b4_YYDEBUG_define],
|
||||||
|
[[/* Enabling traces. */
|
||||||
|
]m4_if(b4_api_prefix, [yy],
|
||||||
|
[[#ifndef YYDEBUG
|
||||||
|
# define YYDEBUG ]b4_debug_flag[
|
||||||
|
#endif]],
|
||||||
|
[[#ifndef ]b4_api_PREFIX[DEBUG
|
||||||
|
# if defined YYDEBUG
|
||||||
|
# if YYDEBUG
|
||||||
|
# define ]b4_api_PREFIX[DEBUG 1
|
||||||
|
# else
|
||||||
|
# define ]b4_api_PREFIX[DEBUG 0
|
||||||
|
# endif
|
||||||
|
# else /* ! defined YYDEBUG */
|
||||||
|
# define ]b4_api_PREFIX[DEBUG ]b4_debug_flag[
|
||||||
|
# endif /* ! defined ]b4_api_PREFIX[DEBUG */
|
||||||
|
#endif /* ! defined ]b4_api_PREFIX[DEBUG */]])[]dnl
|
||||||
|
])
|
||||||
|
|
||||||
# b4_declare_yydebug
|
# b4_declare_yydebug
|
||||||
# ------------------
|
# ------------------
|
||||||
m4_define([b4_declare_yydebug],
|
m4_define([b4_declare_yydebug],
|
||||||
[[/* Enabling traces. */
|
[b4_YYDEBUG_define[
|
||||||
#ifndef YYDEBUG
|
#if ]b4_api_PREFIX[DEBUG
|
||||||
# define YYDEBUG ]b4_debug_flag[
|
|
||||||
#endif
|
|
||||||
#if YYDEBUG
|
|
||||||
extern int ]b4_prefix[debug;
|
extern int ]b4_prefix[debug;
|
||||||
#endif][]dnl
|
#endif][]dnl
|
||||||
])
|
])
|
||||||
|
|||||||
22
data/glr.c
22
data/glr.c
@@ -349,7 +349,7 @@ static const ]b4_int_type_for([b4_translate])[ yytranslate[] =
|
|||||||
]b4_translate[
|
]b4_translate[
|
||||||
};
|
};
|
||||||
|
|
||||||
#if YYDEBUG
|
#if ]b4_api_PREFIX[DEBUG
|
||||||
/* YYPRHS[YYN] -- Index of the first RHS symbol of rule number YYN in
|
/* YYPRHS[YYN] -- Index of the first RHS symbol of rule number YYN in
|
||||||
YYRHS. */
|
YYRHS. */
|
||||||
static const ]b4_int_type_for([b4_prhs])[ yyprhs[] =
|
static const ]b4_int_type_for([b4_prhs])[ yyprhs[] =
|
||||||
@@ -370,7 +370,7 @@ static const ]b4_int_type_for([b4_rline])[ yyrline[] =
|
|||||||
};
|
};
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
#if YYDEBUG || YYERROR_VERBOSE || ]b4_token_table_flag[
|
#if ]b4_api_PREFIX[DEBUG || YYERROR_VERBOSE || ]b4_token_table_flag[
|
||||||
/* YYTNAME[SYMBOL-NUM] -- String name of the symbol SYMBOL-NUM.
|
/* YYTNAME[SYMBOL-NUM] -- String name of the symbol SYMBOL-NUM.
|
||||||
First, the terminals, then, starting at YYNTOKENS, nonterminals. */
|
First, the terminals, then, starting at YYNTOKENS, nonterminals. */
|
||||||
static const char *const yytname[] =
|
static const char *const yytname[] =
|
||||||
@@ -553,7 +553,7 @@ typedef enum { yyok, yyaccept, yyabort, yyerr } YYRESULTTAG;
|
|||||||
do { YYRESULTTAG yyflag = YYE; if (yyflag != yyok) return yyflag; } \
|
do { YYRESULTTAG yyflag = YYE; if (yyflag != yyok) return yyflag; } \
|
||||||
while (YYID (0))
|
while (YYID (0))
|
||||||
|
|
||||||
#if YYDEBUG
|
#if ]b4_api_PREFIX[DEBUG
|
||||||
|
|
||||||
# ifndef YYFPRINTF
|
# ifndef YYFPRINTF
|
||||||
# define YYFPRINTF fprintf
|
# define YYFPRINTF fprintf
|
||||||
@@ -581,12 +581,12 @@ do { \
|
|||||||
multiple parsers can coexist. */
|
multiple parsers can coexist. */
|
||||||
int yydebug;
|
int yydebug;
|
||||||
|
|
||||||
#else /* !YYDEBUG */
|
#else /* !]b4_api_PREFIX[DEBUG */
|
||||||
|
|
||||||
# define YYDPRINTF(Args)
|
# define YYDPRINTF(Args)
|
||||||
# define YY_SYMBOL_PRINT(Title, Type, Value, Location)
|
# define YY_SYMBOL_PRINT(Title, Type, Value, Location)
|
||||||
|
|
||||||
#endif /* !YYDEBUG */
|
#endif /* !]b4_api_PREFIX[DEBUG */
|
||||||
|
|
||||||
/* YYINITDEPTH -- initial size of the parser's stacks. */
|
/* YYINITDEPTH -- initial size of the parser's stacks. */
|
||||||
#ifndef YYINITDEPTH
|
#ifndef YYINITDEPTH
|
||||||
@@ -825,7 +825,7 @@ yyMemoryExhausted (yyGLRStack* yystackp)
|
|||||||
YYLONGJMP (yystackp->yyexception_buffer, 2);
|
YYLONGJMP (yystackp->yyexception_buffer, 2);
|
||||||
}
|
}
|
||||||
|
|
||||||
#if YYDEBUG || YYERROR_VERBOSE
|
#if ]b4_api_PREFIX[DEBUG || YYERROR_VERBOSE
|
||||||
/** A printable representation of TOKEN. */
|
/** A printable representation of TOKEN. */
|
||||||
static inline const char*
|
static inline const char*
|
||||||
yytokenName (yySymbol yytoken)
|
yytokenName (yySymbol yytoken)
|
||||||
@@ -962,7 +962,7 @@ yydestroyGLRState (char const *yymsg, yyGLRState *yys]b4_user_formals[)
|
|||||||
&yys->yysemantics.yysval]b4_locuser_args([&yys->yyloc])[);
|
&yys->yysemantics.yysval]b4_locuser_args([&yys->yyloc])[);
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
#if YYDEBUG
|
#if ]b4_api_PREFIX[DEBUG
|
||||||
if (yydebug)
|
if (yydebug)
|
||||||
{
|
{
|
||||||
if (yys->yysemantics.yyfirstVal)
|
if (yys->yysemantics.yyfirstVal)
|
||||||
@@ -1391,7 +1391,7 @@ yydoAction (yyGLRStack* yystackp, size_t yyk, yyRuleNum yyrule,
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
#if !YYDEBUG
|
#if !]b4_api_PREFIX[DEBUG
|
||||||
# define YY_REDUCE_PRINT(Args)
|
# define YY_REDUCE_PRINT(Args)
|
||||||
#else
|
#else
|
||||||
# define YY_REDUCE_PRINT(Args) \
|
# define YY_REDUCE_PRINT(Args) \
|
||||||
@@ -1712,7 +1712,7 @@ yyresolveAction (yySemanticOption* yyopt, yyGLRStack* yystackp,
|
|||||||
return yyflag;
|
return yyflag;
|
||||||
}
|
}
|
||||||
|
|
||||||
#if YYDEBUG
|
#if ]b4_api_PREFIX[DEBUG
|
||||||
static void
|
static void
|
||||||
yyreportTree (yySemanticOption* yyx, int yyindent)
|
yyreportTree (yySemanticOption* yyx, int yyindent)
|
||||||
{
|
{
|
||||||
@@ -1767,7 +1767,7 @@ yyreportAmbiguity (yySemanticOption* yyx0,
|
|||||||
YYUSE (yyx0);
|
YYUSE (yyx0);
|
||||||
YYUSE (yyx1);
|
YYUSE (yyx1);
|
||||||
|
|
||||||
#if YYDEBUG
|
#if ]b4_api_PREFIX[DEBUG
|
||||||
YYFPRINTF (stderr, "Ambiguity detected.\n");
|
YYFPRINTF (stderr, "Ambiguity detected.\n");
|
||||||
YYFPRINTF (stderr, "Option 1,\n");
|
YYFPRINTF (stderr, "Option 1,\n");
|
||||||
yyreportTree (yyx0, 2);
|
yyreportTree (yyx0, 2);
|
||||||
@@ -2551,7 +2551,7 @@ m4_popdef([b4_at_dollar])])dnl
|
|||||||
}
|
}
|
||||||
|
|
||||||
/* DEBUGGING ONLY */
|
/* DEBUGGING ONLY */
|
||||||
#if YYDEBUG
|
#if ]b4_api_PREFIX[DEBUG
|
||||||
static void yypstack (yyGLRStack* yystackp, size_t yyk)
|
static void yypstack (yyGLRStack* yystackp, size_t yyk)
|
||||||
__attribute__ ((__unused__));
|
__attribute__ ((__unused__));
|
||||||
static void yypdumpstack (yyGLRStack* yystackp) __attribute__ ((__unused__));
|
static void yypdumpstack (yyGLRStack* yystackp) __attribute__ ((__unused__));
|
||||||
|
|||||||
13
data/glr.cc
13
data/glr.cc
@@ -127,7 +127,7 @@ m4_pushdef([b4_parse_param], m4_defn([b4_parse_param_orig]))dnl
|
|||||||
[ /// Build a parser object.
|
[ /// Build a parser object.
|
||||||
]b4_parser_class_name::b4_parser_class_name[ (]b4_parse_param_decl[)]m4_ifset([b4_parse_param], [
|
]b4_parser_class_name::b4_parser_class_name[ (]b4_parse_param_decl[)]m4_ifset([b4_parse_param], [
|
||||||
:])[
|
:])[
|
||||||
#if YYDEBUG
|
#if ]b4_api_PREFIX[DEBUG
|
||||||
]m4_ifset([b4_parse_param], [ ], [ :])[yydebug_ (false),
|
]m4_ifset([b4_parse_param], [ ], [ :])[yydebug_ (false),
|
||||||
yycdebug_ (&std::cerr)]m4_ifset([b4_parse_param], [,])[
|
yycdebug_ (&std::cerr)]m4_ifset([b4_parse_param], [,])[
|
||||||
#endif]b4_parse_param_cons[
|
#endif]b4_parse_param_cons[
|
||||||
@@ -144,7 +144,7 @@ m4_pushdef([b4_parse_param], m4_defn([b4_parse_param_orig]))dnl
|
|||||||
return ::yyparse (*this]b4_user_args[);
|
return ::yyparse (*this]b4_user_args[);
|
||||||
}
|
}
|
||||||
|
|
||||||
#if YYDEBUG
|
#if ]b4_api_PREFIX[DEBUG
|
||||||
/*--------------------.
|
/*--------------------.
|
||||||
| Print this symbol. |
|
| Print this symbol. |
|
||||||
`--------------------*/
|
`--------------------*/
|
||||||
@@ -239,10 +239,7 @@ b4_copyright([Skeleton interface for Bison GLR parsers in C++],
|
|||||||
]b4_percent_define_ifdef([[location_type]], [],
|
]b4_percent_define_ifdef([[location_type]], [],
|
||||||
[[#include "location.hh"]])[
|
[[#include "location.hh"]])[
|
||||||
|
|
||||||
/* Enabling traces. */
|
]b4_YYDEBUG_define[
|
||||||
#ifndef YYDEBUG
|
|
||||||
# define YYDEBUG ]b4_debug_flag[
|
|
||||||
#endif
|
|
||||||
|
|
||||||
/* YYLLOC_DEFAULT -- Set CURRENT to span from RHS[1] to RHS[N].
|
/* YYLLOC_DEFAULT -- Set CURRENT to span from RHS[1] to RHS[N].
|
||||||
If N is 0, then set CURRENT to the empty location which ends
|
If N is 0, then set CURRENT to the empty location which ends
|
||||||
@@ -321,7 +318,7 @@ b4_user_stype
|
|||||||
virtual void error (const location_type& loc, const std::string& msg);
|
virtual void error (const location_type& loc, const std::string& msg);
|
||||||
private:
|
private:
|
||||||
|
|
||||||
#if YYDEBUG
|
# if ]b4_api_PREFIX[DEBUG
|
||||||
public:
|
public:
|
||||||
/// \brief Report a symbol value on the debug stream.
|
/// \brief Report a symbol value on the debug stream.
|
||||||
/// \param yytype The token type.
|
/// \param yytype The token type.
|
||||||
@@ -341,7 +338,7 @@ b4_user_stype
|
|||||||
/* Debugging. */
|
/* Debugging. */
|
||||||
int yydebug_;
|
int yydebug_;
|
||||||
std::ostream* yycdebug_;
|
std::ostream* yycdebug_;
|
||||||
#endif
|
# endif
|
||||||
|
|
||||||
]b4_parse_param_vars[
|
]b4_parse_param_vars[
|
||||||
};
|
};
|
||||||
|
|||||||
@@ -57,10 +57,7 @@ b4_copyright([Skeleton interface for Bison LALR(1) parsers in C++],
|
|||||||
|
|
||||||
]b4_null_define[
|
]b4_null_define[
|
||||||
|
|
||||||
/* Enabling traces. */
|
]b4_YYDEBUG_define[
|
||||||
#ifndef YYDEBUG
|
|
||||||
# define YYDEBUG ]b4_debug_flag[
|
|
||||||
#endif
|
|
||||||
|
|
||||||
]b4_namespace_open[
|
]b4_namespace_open[
|
||||||
|
|
||||||
@@ -100,7 +97,7 @@ b4_user_stype
|
|||||||
/// \returns 0 iff parsing succeeded.
|
/// \returns 0 iff parsing succeeded.
|
||||||
virtual int parse ();
|
virtual int parse ();
|
||||||
|
|
||||||
#if YYDEBUG
|
#if ]b4_api_PREFIX[DEBUG
|
||||||
/// The current debugging stream.
|
/// The current debugging stream.
|
||||||
std::ostream& debug_stream () const;
|
std::ostream& debug_stream () const;
|
||||||
/// Set the current debugging stream.
|
/// Set the current debugging stream.
|
||||||
@@ -125,7 +122,7 @@ b4_user_stype
|
|||||||
/// \param tok the lookahead token.
|
/// \param tok the lookahead token.
|
||||||
virtual std::string yysyntax_error_ (int yystate, int tok);
|
virtual std::string yysyntax_error_ (int yystate, int tok);
|
||||||
|
|
||||||
#if YYDEBUG
|
#if ]b4_api_PREFIX[DEBUG
|
||||||
/// \brief Report a symbol value on the debug stream.
|
/// \brief Report a symbol value on the debug stream.
|
||||||
/// \param yytype The token type.
|
/// \param yytype The token type.
|
||||||
/// \param yyvaluep Its semantic value.
|
/// \param yyvaluep Its semantic value.
|
||||||
@@ -203,10 +200,10 @@ b4_user_stype
|
|||||||
/// Convert the symbol name \a n to a form suitable for a diagnostic.
|
/// Convert the symbol name \a n to a form suitable for a diagnostic.
|
||||||
static std::string yytnamerr_ (const char *n);])[
|
static std::string yytnamerr_ (const char *n);])[
|
||||||
|
|
||||||
]b4_token_table_if([], [[#if YYDEBUG]])[
|
]b4_token_table_if([], [[#if ]b4_api_PREFIX[DEBUG]])[
|
||||||
/// For a symbol, its name in clear.
|
/// For a symbol, its name in clear.
|
||||||
static const char* const yytname_[];
|
static const char* const yytname_[];
|
||||||
]b4_token_table_if([[#if YYDEBUG]])[
|
]b4_token_table_if([[#if ]b4_api_PREFIX[DEBUG]])[
|
||||||
/// A type to store symbol numbers and -1.
|
/// A type to store symbol numbers and -1.
|
||||||
typedef ]b4_int_type_for([b4_rhs])[ rhs_number_type;
|
typedef ]b4_int_type_for([b4_rhs])[ rhs_number_type;
|
||||||
/// A `-1'-separated list of the rules' RHS.
|
/// A `-1'-separated list of the rules' RHS.
|
||||||
@@ -325,7 +322,7 @@ b4_percent_code_get[]dnl
|
|||||||
#define YYUSE(e) ((void) (e))
|
#define YYUSE(e) ((void) (e))
|
||||||
|
|
||||||
/* Enable debugging if requested. */
|
/* Enable debugging if requested. */
|
||||||
#if YYDEBUG
|
#if ]b4_api_PREFIX[DEBUG
|
||||||
|
|
||||||
/* A pseudo ostream that takes yydebug_ into account. */
|
/* A pseudo ostream that takes yydebug_ into account. */
|
||||||
# define YYCDEBUG if (yydebug_) (*yycdebug_)
|
# define YYCDEBUG if (yydebug_) (*yycdebug_)
|
||||||
@@ -352,14 +349,14 @@ do { \
|
|||||||
yystack_print_ (); \
|
yystack_print_ (); \
|
||||||
} while (false)
|
} while (false)
|
||||||
|
|
||||||
#else /* !YYDEBUG */
|
#else /* !]b4_api_PREFIX[DEBUG */
|
||||||
|
|
||||||
# define YYCDEBUG if (false) std::cerr
|
# define YYCDEBUG if (false) std::cerr
|
||||||
# define YY_SYMBOL_PRINT(Title, Type, Value, Location)
|
# define YY_SYMBOL_PRINT(Title, Type, Value, Location)
|
||||||
# define YY_REDUCE_PRINT(Rule)
|
# define YY_REDUCE_PRINT(Rule)
|
||||||
# define YY_STACK_PRINT()
|
# define YY_STACK_PRINT()
|
||||||
|
|
||||||
#endif /* !YYDEBUG */
|
#endif /* !]b4_api_PREFIX[DEBUG */
|
||||||
|
|
||||||
#define yyerrok (yyerrstatus_ = 0)
|
#define yyerrok (yyerrstatus_ = 0)
|
||||||
#define yyclearin (yychar = yyempty_)
|
#define yyclearin (yychar = yyempty_)
|
||||||
@@ -412,7 +409,7 @@ do { \
|
|||||||
/// Build a parser object.
|
/// Build a parser object.
|
||||||
]b4_parser_class_name::b4_parser_class_name[ (]b4_parse_param_decl[)]m4_ifset([b4_parse_param], [
|
]b4_parser_class_name::b4_parser_class_name[ (]b4_parse_param_decl[)]m4_ifset([b4_parse_param], [
|
||||||
:])[
|
:])[
|
||||||
#if YYDEBUG
|
#if ]b4_api_PREFIX[DEBUG
|
||||||
]m4_ifset([b4_parse_param], [ ], [ :])[yydebug_ (false),
|
]m4_ifset([b4_parse_param], [ ], [ :])[yydebug_ (false),
|
||||||
yycdebug_ (&std::cerr)]m4_ifset([b4_parse_param], [,])[
|
yycdebug_ (&std::cerr)]m4_ifset([b4_parse_param], [,])[
|
||||||
#endif]b4_parse_param_cons[
|
#endif]b4_parse_param_cons[
|
||||||
@@ -423,7 +420,7 @@ do { \
|
|||||||
{
|
{
|
||||||
}
|
}
|
||||||
|
|
||||||
#if YYDEBUG
|
#if ]b4_api_PREFIX[DEBUG
|
||||||
/*--------------------------------.
|
/*--------------------------------.
|
||||||
| Print this symbol on YYOUTPUT. |
|
| Print this symbol on YYOUTPUT. |
|
||||||
`--------------------------------*/
|
`--------------------------------*/
|
||||||
@@ -484,7 +481,7 @@ do { \
|
|||||||
yylocation_stack_.pop (n);
|
yylocation_stack_.pop (n);
|
||||||
}
|
}
|
||||||
|
|
||||||
#if YYDEBUG
|
#if ]b4_api_PREFIX[DEBUG
|
||||||
std::ostream&
|
std::ostream&
|
||||||
]b4_parser_class_name[::debug_stream () const
|
]b4_parser_class_name[::debug_stream () const
|
||||||
{
|
{
|
||||||
@@ -1012,7 +1009,7 @@ b4_error_verbose_if([int yystate, int yytoken],
|
|||||||
]b4_stos[
|
]b4_stos[
|
||||||
};
|
};
|
||||||
|
|
||||||
#if YYDEBUG
|
#if ]b4_api_PREFIX[DEBUG
|
||||||
/* TOKEN_NUMBER_[YYLEX-NUM] -- Internal symbol number corresponding
|
/* TOKEN_NUMBER_[YYLEX-NUM] -- Internal symbol number corresponding
|
||||||
to YYLEX-NUM. */
|
to YYLEX-NUM. */
|
||||||
const ]b4_int_type_for([b4_toknum])[
|
const ]b4_int_type_for([b4_toknum])[
|
||||||
@@ -1036,7 +1033,7 @@ b4_error_verbose_if([int yystate, int yytoken],
|
|||||||
]b4_r2[
|
]b4_r2[
|
||||||
};
|
};
|
||||||
|
|
||||||
]b4_token_table_if([], [[#if YYDEBUG]])[
|
]b4_token_table_if([], [[#if ]b4_api_PREFIX[DEBUG]])[
|
||||||
/* YYTNAME[SYMBOL-NUM] -- String name of the symbol SYMBOL-NUM.
|
/* YYTNAME[SYMBOL-NUM] -- String name of the symbol SYMBOL-NUM.
|
||||||
First, the terminals, then, starting at \a yyntokens_, nonterminals. */
|
First, the terminals, then, starting at \a yyntokens_, nonterminals. */
|
||||||
const char*
|
const char*
|
||||||
@@ -1045,7 +1042,7 @@ b4_error_verbose_if([int yystate, int yytoken],
|
|||||||
]b4_tname[
|
]b4_tname[
|
||||||
};
|
};
|
||||||
|
|
||||||
]b4_token_table_if([[#if YYDEBUG]])[
|
]b4_token_table_if([[#if ]b4_api_PREFIX[DEBUG]])[
|
||||||
/* YYRHS -- A `-1'-separated list of the rules' RHS. */
|
/* YYRHS -- A `-1'-separated list of the rules' RHS. */
|
||||||
const ]b4_parser_class_name[::rhs_number_type
|
const ]b4_parser_class_name[::rhs_number_type
|
||||||
]b4_parser_class_name[::yyrhs_[] =
|
]b4_parser_class_name[::yyrhs_[] =
|
||||||
@@ -1095,7 +1092,7 @@ b4_error_verbose_if([int yystate, int yytoken],
|
|||||||
&]b4_rhs_value(yynrhs, yyi + 1)[,
|
&]b4_rhs_value(yynrhs, yyi + 1)[,
|
||||||
&]b4_rhs_location(yynrhs, yyi + 1)[);
|
&]b4_rhs_location(yynrhs, yyi + 1)[);
|
||||||
}
|
}
|
||||||
#endif // YYDEBUG
|
#endif // ]b4_api_PREFIX[DEBUG
|
||||||
|
|
||||||
/* YYTRANSLATE(YYLEX) -- Bison symbol number corresponding to YYLEX. */
|
/* YYTRANSLATE(YYLEX) -- Bison symbol number corresponding to YYLEX. */
|
||||||
]b4_parser_class_name[::token_number_type
|
]b4_parser_class_name[::token_number_type
|
||||||
|
|||||||
18
data/yacc.c
18
data/yacc.c
@@ -589,7 +589,7 @@ static const ]b4_int_type_for([b4_translate])[ yytranslate[] =
|
|||||||
]b4_translate[
|
]b4_translate[
|
||||||
};
|
};
|
||||||
|
|
||||||
#if YYDEBUG
|
#if ]b4_api_PREFIX[DEBUG
|
||||||
/* YYPRHS[YYN] -- Index of the first RHS symbol of rule number YYN in
|
/* YYPRHS[YYN] -- Index of the first RHS symbol of rule number YYN in
|
||||||
YYRHS. */
|
YYRHS. */
|
||||||
static const ]b4_int_type_for([b4_prhs])[ yyprhs[] =
|
static const ]b4_int_type_for([b4_prhs])[ yyprhs[] =
|
||||||
@@ -610,7 +610,7 @@ static const ]b4_int_type_for([b4_rline])[ yyrline[] =
|
|||||||
};
|
};
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
#if YYDEBUG || YYERROR_VERBOSE || ]b4_token_table_flag[
|
#if ]b4_api_PREFIX[DEBUG || YYERROR_VERBOSE || ]b4_token_table_flag[
|
||||||
/* YYTNAME[SYMBOL-NUM] -- String name of the symbol SYMBOL-NUM.
|
/* YYTNAME[SYMBOL-NUM] -- String name of the symbol SYMBOL-NUM.
|
||||||
First, the terminals, then, starting at YYNTOKENS, nonterminals. */
|
First, the terminals, then, starting at YYNTOKENS, nonterminals. */
|
||||||
static const char *const yytname[] =
|
static const char *const yytname[] =
|
||||||
@@ -803,7 +803,7 @@ while (YYID (0))
|
|||||||
#endif
|
#endif
|
||||||
|
|
||||||
/* Enable debugging if requested. */
|
/* Enable debugging if requested. */
|
||||||
#if YYDEBUG
|
#if ]b4_api_PREFIX[DEBUG
|
||||||
|
|
||||||
# ifndef YYFPRINTF
|
# ifndef YYFPRINTF
|
||||||
# include <stdio.h> /* INFRINGES ON USER NAME SPACE */
|
# include <stdio.h> /* INFRINGES ON USER NAME SPACE */
|
||||||
@@ -890,12 +890,12 @@ do { \
|
|||||||
/* Nonzero means print parse trace. It is left uninitialized so that
|
/* Nonzero means print parse trace. It is left uninitialized so that
|
||||||
multiple parsers can coexist. */
|
multiple parsers can coexist. */
|
||||||
int yydebug;
|
int yydebug;
|
||||||
#else /* !YYDEBUG */
|
#else /* !]b4_api_PREFIX[DEBUG */
|
||||||
# define YYDPRINTF(Args)
|
# define YYDPRINTF(Args)
|
||||||
# define YY_SYMBOL_PRINT(Title, Type, Value, Location)
|
# define YY_SYMBOL_PRINT(Title, Type, Value, Location)
|
||||||
# define YY_STACK_PRINT(Bottom, Top)
|
# define YY_STACK_PRINT(Bottom, Top)
|
||||||
# define YY_REDUCE_PRINT(Rule)
|
# define YY_REDUCE_PRINT(Rule)
|
||||||
#endif /* !YYDEBUG */
|
#endif /* !]b4_api_PREFIX[DEBUG */
|
||||||
|
|
||||||
|
|
||||||
/* YYINITDEPTH -- initial size of the parser's stacks. */
|
/* YYINITDEPTH -- initial size of the parser's stacks. */
|
||||||
@@ -926,7 +926,7 @@ int yydebug;
|
|||||||
required. Return 1 if memory is exhausted. */
|
required. Return 1 if memory is exhausted. */
|
||||||
static int
|
static int
|
||||||
yy_lac_stack_realloc (YYSIZE_T *yycapacity, YYSIZE_T yyadd,
|
yy_lac_stack_realloc (YYSIZE_T *yycapacity, YYSIZE_T yyadd,
|
||||||
#if YYDEBUG
|
#if ]b4_api_PREFIX[DEBUG
|
||||||
char const *yydebug_prefix,
|
char const *yydebug_prefix,
|
||||||
char const *yydebug_suffix,
|
char const *yydebug_suffix,
|
||||||
#endif
|
#endif
|
||||||
@@ -1032,7 +1032,7 @@ do { \
|
|||||||
the parser stacks to try to find a new initial context in which the
|
the parser stacks to try to find a new initial context in which the
|
||||||
current lookahead is syntactically acceptable. If it fails to find
|
current lookahead is syntactically acceptable. If it fails to find
|
||||||
such a context, it discards the lookahead. */
|
such a context, it discards the lookahead. */
|
||||||
#if YYDEBUG
|
#if ]b4_api_PREFIX[DEBUG
|
||||||
# define YY_LAC_DISCARD(Event) \
|
# define YY_LAC_DISCARD(Event) \
|
||||||
do { \
|
do { \
|
||||||
if (yy_lac_established) \
|
if (yy_lac_established) \
|
||||||
@@ -1135,7 +1135,7 @@ yy_lac (yytype_int16 *yyesa, yytype_int16 **yyes,
|
|||||||
else
|
else
|
||||||
{
|
{
|
||||||
if (yy_lac_stack_realloc (yyes_capacity, 1,
|
if (yy_lac_stack_realloc (yyes_capacity, 1,
|
||||||
#if YYDEBUG
|
#if ]b4_api_PREFIX[DEBUG
|
||||||
" (", ")",
|
" (", ")",
|
||||||
#endif
|
#endif
|
||||||
yyes, yyesa, &yyesp, yyes_prev))
|
yyes, yyesa, &yyesp, yyes_prev))
|
||||||
@@ -1342,7 +1342,7 @@ yysyntax_error (YYSIZE_T *yymsg_alloc, char **yymsg,
|
|||||||
yysize = yysize1;
|
yysize = yysize1;
|
||||||
}
|
}
|
||||||
}]b4_lac_if([[
|
}]b4_lac_if([[
|
||||||
# if YYDEBUG
|
# if ]b4_api_PREFIX[DEBUG
|
||||||
else if (yydebug)
|
else if (yydebug)
|
||||||
YYFPRINTF (stderr, "No expected tokens.\n");
|
YYFPRINTF (stderr, "No expected tokens.\n");
|
||||||
# endif]])[
|
# endif]])[
|
||||||
|
|||||||
Reference in New Issue
Block a user