From: Akim Demaille Date: Thu, 21 Aug 2008 20:04:27 +0000 (+0200) Subject: Prefer M4 to CPP. X-Git-Tag: v2.7.90~1070 X-Git-Url: https://git.saurik.com/bison.git/commitdiff_plain/422c18f48d3d545c538c61dbb7471cfa7b9e920c Prefer M4 to CPP. * data/lalr1.cc: Use b4_error_verbose_if instead of #if YYERROR_VERBOSE. --- diff --git a/ChangeLog b/ChangeLog index fad6f317..242957ed 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,9 @@ +2008-11-11 Akim Demaille + + Prefer M4 to CPP. + * data/lalr1.cc: Use b4_error_verbose_if instead of #if + YYERROR_VERBOSE. + 2008-11-11 Akim Demaille Support i18n of the parse error messages. diff --git a/data/lalr1.cc b/data/lalr1.cc index bacdf37c..e6e11c35 100644 --- a/data/lalr1.cc +++ b/data/lalr1.cc @@ -583,12 +583,10 @@ m4_ifdef([b4_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 /// For each rule, its source line number. @@ -829,8 +827,7 @@ b4_percent_code_get[]dnl #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 @@ -868,8 +865,7 @@ b4_percent_code_get[]dnl return yystr; } - -#endif +]])[ /// Build a parser object. ]b4_parser_class_name::b4_parser_class_name[ (]b4_parse_param_decl[)]m4_ifset([b4_parse_param], [ @@ -1384,12 +1380,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_) { @@ -1446,8 +1441,8 @@ b4_error_verbose_if([ yytoken])[) yyres += *yyp; } else -#endif - yyres = YY_("syntax error"); + ]])dnl +[ yyres = YY_("syntax error"); return yyres; }