X-Git-Url: https://git.saurik.com/bison.git/blobdiff_plain/613d8952e3d720e8a4d626de441d87b45548b10b..4517da37570b39a3d4b3f523dd373abe7c622bb0:/data/c.m4 diff --git a/data/c.m4 b/data/c.m4 index cef534b2..d8465107 100644 --- a/data/c.m4 +++ b/data/c.m4 @@ -111,7 +111,6 @@ m4_popdef([$1])dnl # b4_parse_param_use # ------------------ # `YYUSE' all the parse-params. -# WARNING: Ends with a dnl, there must be nothing behind it. m4_define([b4_parse_param_use], [b4_parse_param_for([Decl], [Formal], [ YYUSE (Formal); ])dnl @@ -402,6 +401,7 @@ m4_define_default([b4_yydestruct_generate], | Release the memory associated to this symbol. | `-----------------------------------------------*/ +/*ARGSUSED*/ ]$1([yydestruct], [static void], [[const char *yymsg], [yymsg]], @@ -429,17 +429,19 @@ b4_parse_param_use[]dnl ]) -# b4_yysymprint_generate(FUNCTION-DECLARATOR) -# ------------------------------------------- -# Generate the "yysymprint" function, which declaration is issued using +# b4_yy_symbol_print_generate(FUNCTION-DECLARATOR) +# ------------------------------------------------ +# Generate the "yy_symbol_print" function, which declaration is issued using # FUNCTION-DECLARATOR, which may be "b4_c_ansi_function_def" for ISO C # or "b4_c_function_def" for K&R. -m4_define_default([b4_yysymprint_generate], -[[/*--------------------------------. +m4_define_default([b4_yy_symbol_print_generate], +[[ +/*--------------------------------. | Print this symbol on YYOUTPUT. | `--------------------------------*/ -]$1([yysymprint], +/*ARGSUSED*/ +]$1([yy_symbol_value_print], [static void], [[FILE *yyoutput], [yyoutput]], [[int yytype], [yytype]], @@ -451,16 +453,7 @@ m4_ifset([b4_parse_param], [, b4_parse_param]))[ ]b4_location_if([ YYUSE (yylocationp); ])dnl b4_parse_param_use[]dnl -[ if (yytype < YYNTOKENS) - YYFPRINTF (yyoutput, "token %s (", yytname[yytype]); - else - YYFPRINTF (yyoutput, "nterm %s (", yytname[yytype]); - -]b4_location_if([ YY_LOCATION_PRINT (yyoutput, *yylocationp); - YYFPRINTF (yyoutput, ": "); -])dnl -[ -# ifdef YYPRINT +[# ifdef YYPRINT if (yytype < YYNTOKENS) YYPRINT (yyoutput, yytoknum[yytype], *yyvaluep); # endif @@ -470,6 +463,31 @@ b4_parse_param_use[]dnl [ default: break; } +} + + +/*--------------------------------. +| Print this symbol on YYOUTPUT. | +`--------------------------------*/ + +]$1([yy_symbol_print], + [static void], + [[FILE *yyoutput], [yyoutput]], + [[int yytype], [yytype]], + [[const YYSTYPE * const yyvaluep], [yyvaluep]][]dnl +b4_location_if([, [[const YYLTYPE * const yylocationp], [yylocationp]]])[]dnl +m4_ifset([b4_parse_param], [, b4_parse_param]))[ +{ + if (yytype < YYNTOKENS) + YYFPRINTF (yyoutput, "token %s (", yytname[yytype]); + else + YYFPRINTF (yyoutput, "nterm %s (", yytname[yytype]); + +]b4_location_if([ YY_LOCATION_PRINT (yyoutput, *yylocationp); + YYFPRINTF (yyoutput, ": "); +])dnl +[ yy_symbol_value_print (yyoutput, yytype, yyvaluep]dnl +b4_location_if([, yylocationp])[]b4_user_args[); YYFPRINTF (yyoutput, ")"); }]dnl ])