bison-patches
[Top][All Lists]
Advanced

[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)




reply via email to

[Prev in Thread] Current Thread [Next in Thread]