[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
skeletons: introduce api.symbol.prefix
From: |
Akim Demaille |
Subject: |
skeletons: introduce api.symbol.prefix |
Date: |
Tue, 7 Apr 2020 08:42:49 +0200 |
In Java, it's quite useless to have all the symbols prefixed with YYSYMBOL_.
I'll check what to do about C++ and D. For C, it's important, since
enumerators are not scoped.
commit 1ac80969b7eee4df0fa03b6671b8cdbd5af5bd8a
Author: Akim Demaille <address@hidden>
Date: Tue Apr 7 08:09:29 2020 +0200
skeletons: introduce api.symbol.prefix
* data/skeletons/bison.m4 (b4_symbol_prefix): New.
(b4_symbol_kind): Use it.
* data/skeletons/c++.m4, data/skeletons/c.m4, data/skeletons/d.m4
* data/skeletons/java.m4 (api.symbol.prefix): Provide a default value.
* data/skeletons/glr.c, data/skeletons/glr.cc, data/skeletons/lalr1.cc,
* data/skeletons/lalr1.d, data/skeletons/lalr1.java, data/skeletons/yacc.c:
Adjust: use b4_symbol_prefix instead of YYSYMBOL_.
diff --git a/data/skeletons/bison.m4 b/data/skeletons/bison.m4
index ce68e184..23561373 100644
--- a/data/skeletons/bison.m4
+++ b/data/skeletons/bison.m4
@@ -411,17 +411,18 @@ m4_define([_b4_symbol],
# otherwise some symbols might not be represented in the enum, which
# might be compiled into too small a type to contain all the symbol
# numbers.
+m4_define([b4_symbol_prefix], [b4_percent_define_get([api.symbol.prefix])])
m4_define([b4_symbol_kind],
-[m4_case([$1],
- [-2], [[YYSYMBOL_YYEMPTY]],
- [0], [[YYSYMBOL_YYEOF]],
+[b4_percent_define_get([api.symbol.prefix])dnl
+m4_case([$1],
+ [-2], [[YYEMPTY]],
+ [0], [[YYEOF]],
[m4_case(m4_quote(b4_symbol([$1], [tag])),
- [$accept], [[YYSYMBOL_YYACCEPT]],
- [error], [[YYSYMBOL_YYERROR]],
- [$undefined], [[YYSYMBOL_YYUNDEF]],
- [b4_symbol_if([$1], [has_id],
- [[YYSYMBOL_]]m4_quote(_b4_symbol([$1],
[id])),
-
[[YYSYMBOL_$1_][]m4_bpatsubst(m4_quote(_b4_symbol([$1], [tag])),
[[^a-zA-Z_0-9]], [_])])])])])
+ [$accept], [[YYACCEPT]],
+ [error], [[YYERROR]],
+ [$undefined], [[YYUNDEF]],
+ [b4_symbol_if([$1], [has_id], m4_expand(_b4_symbol([$1], [id])),
+
[[$1_][]m4_bpatsubst(m4_quote(_b4_symbol([$1], [tag])), [[^a-zA-Z_0-9]],
[_])])])])])
# b4_symbol(NUM, FIELD)
diff --git a/data/skeletons/c++.m4 b/data/skeletons/c++.m4
index ffe0c91f..eb273214 100644
--- a/data/skeletons/c++.m4
+++ b/data/skeletons/c++.m4
@@ -383,7 +383,7 @@ m4_define([b4_symbol_type_define],
symbol_kind_type type_get () const YY_NOEXCEPT;
/// The symbol type.
- /// \a YYSYMBOL_YYEMPTY when empty.
+ /// \a ]b4_symbol_prefix[YYEMPTY when empty.
symbol_kind_type type;
};
@@ -456,7 +456,7 @@ m4_define([b4_public_types_define],
bool
]b4_parser_class[::basic_symbol<Base>::empty () const YY_NOEXCEPT
{
- return Base::type_get () == YYSYMBOL_YYEMPTY;
+ return Base::type_get () == ]b4_symbol_prefix[YYEMPTY;
}
template <typename Base>
@@ -472,7 +472,7 @@ m4_define([b4_public_types_define],
// by_type.
]b4_inline([$1])b4_parser_class[::by_type::by_type ()
- : type (YYSYMBOL_YYEMPTY)
+ : type (]b4_symbol_prefix[YYEMPTY)
{}
#if 201103L <= YY_CPLUSPLUS
@@ -494,7 +494,7 @@ m4_define([b4_public_types_define],
]b4_inline([$1])[void
]b4_parser_class[::by_type::clear ()
{
- type = YYSYMBOL_YYEMPTY;
+ type = ]b4_symbol_prefix[YYEMPTY;
}
]b4_inline([$1])[void
@@ -540,11 +540,11 @@ m4_define([b4_yytranslate_define],
const int user_token_number_max_ = ]b4_user_token_number_max[;
if (t <= 0)
- return YYSYMBOL_YYEOF;
+ return ]b4_symbol_prefix[YYEOF;
else if (t <= user_token_number_max_)
return YY_CAST (symbol_kind_type, translate_table[t]);
else
- return YYSYMBOL_YYUNDEF;]])[
+ return ]b4_symbol_prefix[YYUNDEF;]])[
}
]])
diff --git a/data/skeletons/c.m4 b/data/skeletons/c.m4
index 787ca000..09962123 100644
--- a/data/skeletons/c.m4
+++ b/data/skeletons/c.m4
@@ -101,6 +101,7 @@ m4_define_default([b4_prefix], [b4_api_prefix])
b4_percent_define_default([[api.value.union.name]],
[b4_api_PREFIX[][STYPE]])
+b4_percent_define_default([[api.symbol.prefix]], [[YYSYMBOL_]])
## ------------------------ ##
## Pure/impure interfaces. ##
diff --git a/data/skeletons/d.m4 b/data/skeletons/d.m4
index fefe74a1..7d1672d5 100644
--- a/data/skeletons/d.m4
+++ b/data/skeletons/d.m4
@@ -152,6 +152,8 @@ private static immutable b4_int_type_for([$2])[[]] yy$1_ =
## (External) token numbers. ##
## -------------------------- ##
+b4_percent_define_default([[api.symbol.prefix]], [[YYSYMBOL_]])
+
# b4_token_enum(TOKEN-NAME, TOKEN-NUMBER)
# ---------------------------------------
# Output the definition of this token as an enum.
diff --git a/data/skeletons/glr.c b/data/skeletons/glr.c
index c17e7208..9f7619d3 100644
--- a/data/skeletons/glr.c
+++ b/data/skeletons/glr.c
@@ -341,7 +341,7 @@ static YYLTYPE yyloc_default][]b4_yyloc_default;])[
[[#define YYTRANSLATE(YYX) \
(0 <= (YYX) && (YYX) <= YYMAXUTOK \
? YY_CAST (yysymbol_kind_t, yytranslate[YYX]) \
- : YYSYMBOL_YYUNDEF)
+ : ]b4_symbol_prefix[YYUNDEF)
/* YYTRANSLATE[TOKEN-NUM] -- Symbol number corresponding to TOKEN-NUM
as returned by yylex. */
@@ -836,7 +836,7 @@ yygetToken (int *yycharp][]b4_pure_if([, yyGLRStack*
yystackp])[]b4_user_formals
if (*yycharp <= YYEOF)
{
*yycharp = YYEOF;
- yytoken = YYSYMBOL_YYEOF;
+ yytoken = ]b4_symbol_prefix[YYEOF;
YY_DPRINTF ((stderr, "Now at end of input.\n"));
}
else
@@ -2106,7 +2106,7 @@ yyexpected_tokens (const yyGLRStack* yystackp,
int yyxend = yychecklim < YYNTOKENS ? yychecklim : YYNTOKENS;
int yyx;
for (yyx = yyxbegin; yyx < yyxend; ++yyx)
- if (yycheck[yyx + yyn] == yyx && yyx != YYSYMBOL_YYERROR
+ if (yycheck[yyx + yyn] == yyx && yyx != ]b4_symbol_prefix[YYERROR
&& !yytable_value_is_error (yytable[yyx + yyn]))
{
if (!yyarg)
@@ -2135,7 +2135,7 @@ static yysymbol_kind_t
yypcontext_token (const yyGLRStack *yystackp)
{
YYUSE (yystackp);
- yysymbol_kind_t yytoken = yychar == YYEMPTY ? YYSYMBOL_YYEMPTY : YYTRANSLATE
(yychar);
+ yysymbol_kind_t yytoken = yychar == YYEMPTY ? ]b4_symbol_prefix[YYEMPTY :
YYTRANSLATE (yychar);
return yytoken;
}
@@ -2154,7 +2154,7 @@ yypcontext_location (const yyGLRStack *yystackp)
yy_syntax_error_arguments (const yyGLRStack* yystackp,
yysymbol_kind_t yyarg[], int yyargn)
{
- yysymbol_kind_t yytoken = yychar == YYEMPTY ? YYSYMBOL_YYEMPTY : YYTRANSLATE
(yychar);
+ yysymbol_kind_t yytoken = yychar == YYEMPTY ? ]b4_symbol_prefix[YYEMPTY :
YYTRANSLATE (yychar);
/* Actual size of YYARG. */
int yycount = 0;
/* There are many possibilities here to consider:
@@ -2185,7 +2185,7 @@ yy_syntax_error_arguments (const yyGLRStack* yystackp,
one exception: it will still contain any token that will not be
accepted due to an error action in a later state.]])[
*/
- if (yytoken != YYSYMBOL_YYEMPTY)
+ if (yytoken != ]b4_symbol_prefix[YYEMPTY)
{
int yyn;
if (yyarg)
@@ -2363,8 +2363,8 @@ yyrecoverSyntaxError (yyGLRStack*
yystackp]b4_user_formals[)
int yyj = yypact[yys->yylrState];
if (! yypact_value_is_default (yyj))
{
- yyj += YYSYMBOL_YYERROR;
- if (0 <= yyj && yyj <= YYLAST && yycheck[yyj] == YYSYMBOL_YYERROR
+ yyj += ]b4_symbol_prefix[YYERROR;
+ if (0 <= yyj && yyj <= YYLAST && yycheck[yyj] ==
]b4_symbol_prefix[YYERROR
&& yyisShiftAction (yytable[yyj]))
{
/* Shift the error token. */
diff --git a/data/skeletons/glr.cc b/data/skeletons/glr.cc
index b1bddef8..3e7e56c3 100644
--- a/data/skeletons/glr.cc
+++ b/data/skeletons/glr.cc
@@ -357,10 +357,10 @@ b4_percent_define_flag_if([[global_tokens_and_yystype]],
]b4_namespace_close[
]m4_define([b4_declare_symbol_enum],
[[typedef ]b4_namespace_ref[::]b4_parser_class[::symbol_kind_type
yysymbol_kind_t;
-#define YYSYMBOL_YYEMPTY
]b4_namespace_ref[::]b4_parser_class[::YYSYMBOL_YYEMPTY
-#define YYSYMBOL_YYERROR
]b4_namespace_ref[::]b4_parser_class[::YYSYMBOL_YYERROR
-#define YYSYMBOL_YYEOF ]b4_namespace_ref[::]b4_parser_class[::YYSYMBOL_YYEOF
-#define YYSYMBOL_YYUNDEF
]b4_namespace_ref[::]b4_parser_class[::YYSYMBOL_YYUNDEF
+#define ]b4_symbol_prefix[YYEMPTY
]b4_namespace_ref[::]b4_parser_class[::]b4_symbol_prefix[YYEMPTY
+#define ]b4_symbol_prefix[YYERROR
]b4_namespace_ref[::]b4_parser_class[::]b4_symbol_prefix[YYERROR
+#define ]b4_symbol_prefix[YYEOF
]b4_namespace_ref[::]b4_parser_class[::]b4_symbol_prefix[YYEOF
+#define ]b4_symbol_prefix[YYUNDEF
]b4_namespace_ref[::]b4_parser_class[::]b4_symbol_prefix[YYUNDEF
]])[
]b4_percent_code_get([[provides]])[
]m4_popdef([b4_parse_param])dnl
diff --git a/data/skeletons/java.m4 b/data/skeletons/java.m4
index a5615f5d..ed294484 100644
--- a/data/skeletons/java.m4
+++ b/data/skeletons/java.m4
@@ -238,6 +238,7 @@ b4_percent_define_check_kind([[throws]], [code],
[deprecated])
m4_define([b4_yystype], [b4_percent_define_get([[api.value.type]])])
b4_percent_define_default([[api.value.type]], [[Object]])
+b4_percent_define_default([[api.symbol.prefix]], [[S_]])
# b4_api_prefix, b4_api_PREFIX
# ----------------------------
diff --git a/data/skeletons/lalr1.cc b/data/skeletons/lalr1.cc
index 7dfb63f7..e67ecc03 100644
--- a/data/skeletons/lalr1.cc
+++ b/data/skeletons/lalr1.cc
@@ -377,7 +377,7 @@ m4_define([b4_shared_declarations],
void move (by_state& that);
/// The symbol kind (corresponding to \a state).
- /// \a YYSYMBOL_YYEMPTY when empty.
+ /// \a ]b4_symbol_prefix[YYEMPTY when empty.
symbol_kind_type type_get () const YY_NOEXCEPT;
/// The state number used to denote an empty symbol.
@@ -700,7 +700,7 @@ b4_parse_error_case([verbose], [[
]b4_parser_class[::by_state::type_get () const YY_NOEXCEPT
{
if (state == empty_state)
- return YYSYMBOL_YYEMPTY;
+ return ]b4_symbol_prefix[YYEMPTY;
else
return YY_CAST (symbol_kind_type, yystos_[+state]);
}
@@ -725,7 +725,7 @@ b4_parse_error_case([verbose], [[
b4_symbol_variant([that.type_get ()],
[value], [move], [YY_MOVE (that.value)])])[
// that is emptied.
- that.type = YYSYMBOL_YYEMPTY;
+ that.type = ]b4_symbol_prefix[YYEMPTY;
}
#if YY_CPLUSPLUS < 201103L
@@ -1089,7 +1089,7 @@ b4_dollar_popdef])[]dnl
error, discard it. */
// Return failure if at end of input.
- if (yyla.type_get () == YYSYMBOL_YYEOF)
+ if (yyla.type_get () == ]b4_symbol_prefix[YYEOF)
YYABORT;
else if (!yyla.empty ())
{
@@ -1131,8 +1131,8 @@ b4_dollar_popdef])[]dnl
yyn = yypact_[+yystack_[0].state];
if (!yy_pact_value_is_default_ (yyn))
{
- yyn += YYSYMBOL_YYERROR;
- if (0 <= yyn && yyn <= yylast_ && yycheck_[yyn] ==
YYSYMBOL_YYERROR)
+ yyn += ]b4_symbol_prefix[YYERROR;
+ if (0 <= yyn && yyn <= yylast_ && yycheck_[yyn] ==
]b4_symbol_prefix[YYERROR)
{
yyn = yytable_[yyn];
if (0 < yyn)
@@ -1244,7 +1244,7 @@ b4_dollar_popdef])[]dnl
for (int yyx = 0; yyx < YYNTOKENS; ++yyx)
{
symbol_kind_type yysym = YY_CAST (symbol_kind_type, yyx);
- if (yysym != YYSYMBOL_YYERROR && yysym != YYSYMBOL_YYUNDEF
+ if (yysym != ]b4_symbol_prefix[YYERROR && yysym !=
]b4_symbol_prefix[YYUNDEF
&& yyparser_.yy_lac_check_ (yysym))
{
if (!yyarg)
@@ -1266,7 +1266,7 @@ b4_dollar_popdef])[]dnl
int yychecklim = yylast_ - yyn + 1;
int yyxend = yychecklim < YYNTOKENS ? yychecklim : YYNTOKENS;
for (int yyx = yyxbegin; yyx < yyxend; ++yyx)
- if (yycheck_[yyx + yyn] == yyx && yyx != YYSYMBOL_YYERROR
+ if (yycheck_[yyx + yyn] == yyx && yyx != ]b4_symbol_prefix[YYERROR
&& !yy_table_value_is_error_ (yytable_[yyx + yyn]))
{
if (!yyarg)
diff --git a/data/skeletons/lalr1.d b/data/skeletons/lalr1.d
index cec130c5..150f1540 100644
--- a/data/skeletons/lalr1.d
+++ b/data/skeletons/lalr1.d
@@ -430,7 +430,7 @@ b4_locations_if([, ref ]b4_location_type[ yylocationp])[)
{
/// Lookahead and lookahead in internal form.
int yychar = yyempty_;
- SymbolKind yytoken = SymbolKind.YYSYMBOL_YYEMPTY;
+ SymbolKind yytoken = SymbolKind.]b4_symbol_prefix[YYEMPTY;
/* State. */
int yyn = 0;
@@ -574,7 +574,7 @@ m4_popdef([b4_at_dollar])])dnl
{
++yynerrs_;
if (yychar == yyempty_)
- yytoken = SymbolKind.YYSYMBOL_YYEMPTY;
+ yytoken = SymbolKind.]b4_symbol_prefix[YYEMPTY;
yyerror (]b4_locations_if([yylloc, ])[yysyntax_error (yystate,
yytoken));
}
@@ -623,8 +623,8 @@ m4_popdef([b4_at_dollar])])dnl
yyn = yypact_[yystate];
if (!yy_pact_value_is_default_ (yyn))
{
- yyn += SymbolKind.YYSYMBOL_YYERROR;
- if (0 <= yyn && yyn <= yylast_ && yycheck_[yyn] ==
SymbolKind.YYSYMBOL_YYERROR)
+ yyn += SymbolKind.]b4_symbol_prefix[YYERROR;
+ if (0 <= yyn && yyn <= yylast_ && yycheck_[yyn] ==
SymbolKind.]b4_symbol_prefix[YYERROR)
{
yyn = yytable_[yyn];
if (0 < yyn)
@@ -711,7 +711,7 @@ m4_popdef([b4_at_dollar])])dnl
will still contain any token that will not be accepted due
to an error action in a later state.
*/
- if (tok != SymbolKind.YYSYMBOL_YYEMPTY)
+ if (tok != SymbolKind.]b4_symbol_prefix[YYEMPTY)
{
// FIXME: This method of building the message is not compatible
// with internationalization.
@@ -730,14 +730,14 @@ m4_popdef([b4_at_dollar])])dnl
int yyxend = yychecklim < yyntokens_ ? yychecklim : yyntokens_;
int count = 0;
for (int x = yyxbegin; x < yyxend; ++x)
- if (yycheck_[x + yyn] == x && x != SymbolKind.YYSYMBOL_YYERROR
+ if (yycheck_[x + yyn] == x && x !=
SymbolKind.]b4_symbol_prefix[YYERROR
&& !yy_table_value_is_error_ (yytable_[x + yyn]))
++count;
if (count < 5)
{
count = 0;
for (int x = yyxbegin; x < yyxend; ++x)
- if (yycheck_[x + yyn] == x && x != SymbolKind.YYSYMBOL_YYERROR
+ if (yycheck_[x + yyn] == x && x !=
SymbolKind.]b4_symbol_prefix[YYERROR
&& !yy_table_value_is_error_ (yytable_[x + yyn]))
{
res ~= count++ == 0 ? ", expecting " : " or ";
@@ -829,14 +829,14 @@ m4_popdef([b4_at_dollar])])dnl
immutable int user_token_number_max_ = ]b4_user_token_number_max[;
if (t <= 0)
- return SymbolKind.YYSYMBOL_YYEOF;
+ return SymbolKind.]b4_symbol_prefix[YYEOF;
else if (t <= user_token_number_max_)
{
import std.conv : to;
return to!SymbolKind (translate_table[t]);
}
else
- return SymbolKind.YYSYMBOL_YYUNDEF;]])[
+ return SymbolKind.]b4_symbol_prefix[YYUNDEF;]])[
}
private static immutable int yylast_ = ]b4_last[;
diff --git a/data/skeletons/lalr1.java b/data/skeletons/lalr1.java
index 529da270..f3fc9066 100644
--- a/data/skeletons/lalr1.java
+++ b/data/skeletons/lalr1.java
@@ -731,9 +731,9 @@ b4_dollar_popdef[]dnl
yyn = yypact_[yystate];
if (!yyPactValueIsDefault (yyn))
{
- yyn += SymbolKind.YYSYMBOL_YYERROR.getCode ();
+ yyn += SymbolKind.]b4_symbol_prefix[YYERROR.getCode ();
if (0 <= yyn && yyn <= YYLAST_
- && yycheck_[yyn] == SymbolKind.YYSYMBOL_YYERROR.getCode ())
+ && yycheck_[yyn] ==
SymbolKind.]b4_symbol_prefix[YYERROR.getCode ())
{
yyn = yytable_[yyn];
if (0 < yyn)
@@ -924,7 +924,7 @@ b4_dollar_popdef[]dnl
int yychecklim = YYLAST_ - yyn + 1;
int yyxend = yychecklim < NTOKENS ? yychecklim : NTOKENS;
for (int yyx = yyxbegin; yyx < yyxend; ++yyx)
- if (yycheck_[yyx + yyn] == yyx && yyx !=
SymbolKind.YYSYMBOL_YYERROR.getCode ()
+ if (yycheck_[yyx + yyn] == yyx && yyx !=
SymbolKind.]b4_symbol_prefix[YYERROR.getCode ()
&& !yyTableValueIsError (yytable_[yyx + yyn]))
{
if (yyarg == null)
@@ -1145,11 +1145,11 @@ b4_dollar_popdef[]dnl
[[ {
int user_token_number_max_ = ]b4_user_token_number_max[;
if (t <= 0)
- return SymbolKind.YYSYMBOL_YYEOF;
+ return SymbolKind.]b4_symbol_prefix[YYEOF;
else if (t <= user_token_number_max_)
return SymbolKind.get (yytranslate_table_[t]);
else
- return SymbolKind.YYSYMBOL_YYUNDEF;
+ return SymbolKind.]b4_symbol_prefix[YYUNDEF;
}
]b4_integral_parser_table_define([translate_table], [b4_translate])[
]])[
diff --git a/data/skeletons/yacc.c b/data/skeletons/yacc.c
index 98612a73..a8d524bf 100644
--- a/data/skeletons/yacc.c
+++ b/data/skeletons/yacc.c
@@ -635,7 +635,7 @@ union yyalloc
[[#define YYTRANSLATE(YYX) \
(0 <= (YYX) && (YYX) <= YYMAXUTOK \
? YY_CAST (yysymbol_kind_t, yytranslate[YYX]) \
- : YYSYMBOL_YYUNDEF)
+ : ]b4_symbol_prefix[YYUNDEF)
/* YYTRANSLATE[TOKEN-NUM] -- Symbol number corresponding to TOKEN-NUM
as returned by yylex. */
@@ -1024,7 +1024,7 @@ yy_lac (yy_state_t *yyesa, yy_state_t **yyes,
yy_state_t *yyesp = yyes_prev;
/* Reduce until we encounter a shift and thereby accept the token. */
YYDPRINTF ((stderr, "LAC: checking lookahead %s:", yysymbol_name (yytoken)));
- if (yytoken == YYSYMBOL_YYUNDEF)
+ if (yytoken == ]b4_symbol_prefix[YYUNDEF)
{
YYDPRINTF ((stderr, " Always Err\n"));
return 1;
@@ -1154,7 +1154,7 @@ yyexpected_tokens (const yypcontext_t *yyctx,
for (yyx = 0; yyx < YYNTOKENS; ++yyx)
{
yysymbol_kind_t yysym = YY_CAST (yysymbol_kind_t, yyx);
- if (yysym != YYSYMBOL_YYERROR && yysym != YYSYMBOL_YYUNDEF)
+ if (yysym != ]b4_symbol_prefix[YYERROR && yysym !=
]b4_symbol_prefix[YYUNDEF)
switch (yy_lac (]b4_push_if([[yyps->yyesa, &yyps->yyes,
&yyps->yyes_capacity, yyps->yyssp, yysym]],
[[yyctx->yyesa, yyctx->yyes,
yyctx->yyes_capacity, yyctx->yyssp, yysym]])[))
{
@@ -1183,7 +1183,7 @@ yyexpected_tokens (const yypcontext_t *yyctx,
int yyxend = yychecklim < YYNTOKENS ? yychecklim : YYNTOKENS;
int yyx;
for (yyx = yyxbegin; yyx < yyxend; ++yyx)
- if (yycheck[yyx + yyn] == yyx && yyx != YYSYMBOL_YYERROR
+ if (yycheck[yyx + yyn] == yyx && yyx != ]b4_symbol_prefix[YYERROR
&& !yytable_value_is_error (yytable[yyx + yyn]))
{
if (!yyarg)
@@ -1356,7 +1356,7 @@ yy_syntax_error_arguments (const yypcontext_t *yyctx,
one exception: it will still contain any token that will not be
accepted due to an error action in a later state.]])[
*/
- if (yyctx->yytoken != YYSYMBOL_YYEMPTY)
+ if (yyctx->yytoken != ]b4_symbol_prefix[YYEMPTY)
{
int yyn;]b4_lac_if([[
YYDPRINTF ((stderr, "Constructing syntax error message\n"));]])[
@@ -1586,7 +1586,7 @@ yyparse (]m4_ifset([b4_parse_param],
[b4_formals(b4_parse_param)], [void])[)]])[
/* The return value of yyparse. */
int yyresult;
/* Lookahead token as an internal (translated) token number. */
- yysymbol_kind_t yytoken = YYSYMBOL_YYEMPTY;
+ yysymbol_kind_t yytoken = ]b4_symbol_prefix[YYEMPTY;
/* The variables used to return semantic value and location from the
action routines. */
YYSTYPE yyval;]b4_locations_if([[
@@ -1766,7 +1766,7 @@ yyread_pushed_token:]])[
if (yychar <= YYEOF)
{
yychar = YYEOF;
- yytoken = YYSYMBOL_YYEOF;
+ yytoken = ]b4_symbol_prefix[YYEOF;
YYDPRINTF ((stderr, "Now at end of input.\n"));
}
else
@@ -1899,7 +1899,7 @@ yyreduce:
yyerrlab:
/* Make sure we have latest lookahead translation. See comments at
user semantic actions for why this is necessary. */
- yytoken = yychar == YYEMPTY ? YYSYMBOL_YYEMPTY : YYTRANSLATE (yychar);
+ yytoken = yychar == YYEMPTY ? ]b4_symbol_prefix[YYEMPTY : YYTRANSLATE
(yychar);
/* If not already recovering from an error, report this error. */
if (!yyerrstatus)
@@ -2008,8 +2008,8 @@ yyerrlab1:
yyn = yypact[yystate];
if (!yypact_value_is_default (yyn))
{
- yyn += YYSYMBOL_YYERROR;
- if (0 <= yyn && yyn <= YYLAST && yycheck[yyn] == YYSYMBOL_YYERROR)
+ yyn += ]b4_symbol_prefix[YYERROR;
+ if (0 <= yyn && yyn <= YYLAST && yycheck[yyn] ==
]b4_symbol_prefix[YYERROR)
{
yyn = yytable[yyn];
if (0 < yyn)
[Prev in Thread] |
Current Thread |
[Next in Thread] |
- skeletons: introduce api.symbol.prefix,
Akim Demaille <=