]> git.saurik.com Git - bison.git/commitdiff
Prefer M4 to CPP.
authorAkim Demaille <demaille@gostai.com>
Thu, 21 Aug 2008 20:04:27 +0000 (22:04 +0200)
committerJoel E. Denny <jdenny@clemson.edu>
Tue, 29 Dec 2009 21:01:46 +0000 (16:01 -0500)
* data/lalr1.cc: Use b4_error_verbose_if instead of #if
YYERROR_VERBOSE.
(cherry picked from commit 422c18f48d3d545c538c61dbb7471cfa7b9e920c)

ChangeLog
data/lalr1.cc

index f4d480662226257ecb4c3438351401ebe292ad0b..97e3e9b90fa6b41316c7dc313c44315e0807f60f 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,9 @@
+2008-11-11  Akim Demaille  <demaille@gostai.com>
+
+       Prefer M4 to CPP.
+       * data/lalr1.cc: Use b4_error_verbose_if instead of #if
+       YYERROR_VERBOSE.
+
 2008-11-11  Akim Demaille  <demaille@gostai.com>
 
        Support i18n of the parse error messages.
index f4cadc0effa4bfa24a8c5bf3cebd8cbf8331d45e..e7620a2307daa9452f2f7eeff34e15ad30db1793 100644 (file)
@@ -233,12 +233,10 @@ b4_user_stype
 #if YYDEBUG || YYERROR_VERBOSE || YYTOKEN_TABLE
     /// For a symbol, its name in clear.
     static const char* const yytname_[];
-#endif
+#endif]b4_error_verbose_if([
 
-#if YYERROR_VERBOSE
     /// Convert the symbol name \a n to a form suitable for a diagnostic.
-    virtual std::string yytnamerr_ (const char *n);
-#endif
+    static std::string yytnamerr_ (const char *n);])[
 
 #if YYDEBUG
     /// A type to store symbol numbers and -1.
@@ -384,8 +382,7 @@ do {                                        \
 #define YYERROR                goto yyerrorlab
 #define YYRECOVERING()  (!!yyerrstatus_)
 
-]b4_namespace_open[
-#if YYERROR_VERBOSE
+]b4_namespace_open[]b4_error_verbose_if([[
 
   /* Return YYSTR after stripping away unnecessary quotes and
      backslashes, so that it's suitable for yyerror.  The heuristic is
@@ -423,8 +420,7 @@ do {                                        \
 
     return yystr;
   }
-
-#endif
+]])[
 
   /// Build a parser object.
   ]b4_parser_class_name::b4_parser_class_name[ (]b4_parse_param_decl[)]m4_ifset([b4_parse_param], [
@@ -849,12 +845,11 @@ m4_ifdef([b4_lex_param], [, ]b4_lex_param))[;
 
   // Generate an error message.
   std::string
-  ]b4_parser_class_name[::yysyntax_error_ (int yystate, int]dnl
-b4_error_verbose_if([ yytoken])[)
+  ]b4_parser_class_name[::yysyntax_error_ (]dnl
+b4_error_verbose_if([int yystate, int yytoken],
+                    [int, int])[)
   {
-    std::string yyres;
-    YYUSE (yystate);
-#if YYERROR_VERBOSE
+    std::string yyres;]b4_error_verbose_if([[
     int yyn = yypact_[yystate];
     if (yypact_ninf_ < yyn && yyn <= yylast_)
       {
@@ -913,8 +908,8 @@ b4_error_verbose_if([ yytoken])[)
             yyres += *yyp;
       }
     else
-#endif
-      yyres = YY_("syntax error");
+  ]])dnl
+[    yyres = YY_("syntax error");
     return yyres;
   }