327 |
# SYMBOL-ACTION, SYMBOL-TYPENAME) |
# SYMBOL-ACTION, SYMBOL-TYPENAME) |
328 |
# ------------------------------------------------- |
# ------------------------------------------------- |
329 |
m4_define([b4_symbol_actions], |
m4_define([b4_symbol_actions], |
330 |
[m4_pushdef([b4_dollar_dollar], [yyvalue.$6])dnl |
[m4_pushdef([b4_dollar_dollar], [yyvaluep->$6])dnl |
331 |
m4_pushdef([b4_at_dollar], [yylocation])dnl |
m4_pushdef([b4_at_dollar], [(*yylocationp)])dnl |
332 |
case $4: /* $3 */ |
case $4: /* $3 */ |
333 |
b4_syncline([$2], [$1]) |
b4_syncline([$2], [$1]) |
334 |
$5; |
$5; |
351 |
|
|
352 |
]$1([yydestruct], |
]$1([yydestruct], |
353 |
[static void], |
[static void], |
354 |
[[int yytype], [yytype]], |
[[int yytype], [yytype]], |
355 |
[[YYSTYPE yyvalue], [yyvalue]]b4_location_if([, |
[[YYSTYPE *yyvaluep], [yyvaluep]]b4_location_if([, |
356 |
[[YYLTYPE yylocation], [yylocation]]]))[ |
[[YYLTYPE *yylocationp], [yylocationp]]]))[ |
357 |
{ |
{ |
358 |
/* Pacify ``unused variable'' warnings. */ |
/* Pacify ``unused variable'' warnings. */ |
359 |
(void) yyvalue; |
(void) yyvaluep; |
360 |
]b4_location_if([ (void) yylocation; |
]b4_location_if([ (void) yylocationp; |
361 |
])[ |
])[ |
362 |
switch (yytype) |
switch (yytype) |
363 |
{ |
{ |
367 |
} |
} |
368 |
}]dnl |
}]dnl |
369 |
]) |
]) |
370 |
|
|
371 |
|
|
372 |
|
# b4_yysymprint_generate(FUNTION-DECLARATOR) |
373 |
|
# ------------------------------------------ |
374 |
|
# Generate the "yysymprint" function, which declaration is issued using |
375 |
|
# FUNTION-DECLARATOR, which may be "b4_c_ansi_function_def" for ISO C |
376 |
|
# or "b4_c_function_def" for K&R. |
377 |
|
m4_define([b4_yysymprint_generate], |
378 |
|
[[/*-----------------------------. |
379 |
|
| Print this symbol on YYOUT. | |
380 |
|
`-----------------------------*/ |
381 |
|
|
382 |
|
]$1([yysymprint], |
383 |
|
[static void], |
384 |
|
[[FILE *yyout], [yyout]], |
385 |
|
[[int yytype], [yytype]], |
386 |
|
[[YYSTYPE *yyvaluep], [yyvaluep]]b4_location_if([, |
387 |
|
[[YYLTYPE *yylocationp], [yylocationp]]])) |
388 |
|
{ |
389 |
|
/* Pacify ``unused variable'' warnings. */ |
390 |
|
(void) yyvaluep; |
391 |
|
b4_location_if([ (void) yylocationp; |
392 |
|
])dnl |
393 |
|
|
394 |
|
if (yytype < YYNTOKENS) |
395 |
|
{ |
396 |
|
YYFPRINTF (yyout, "token %s (", yytname[[yytype]]); |
397 |
|
# ifdef YYPRINT |
398 |
|
YYPRINT (yyout, yytoknum[[yytype]], yyvalue); |
399 |
|
# endif |
400 |
|
} |
401 |
|
else |
402 |
|
YYFPRINTF (yyout, "nterm %s (", yytname[[yytype]]); |
403 |
|
|
404 |
|
switch (yytype) |
405 |
|
{ |
406 |
|
m4_map([b4_symbol_actions], m4_defn([b4_symbol_printers]))dnl |
407 |
|
default: |
408 |
|
break; |
409 |
|
} |
410 |
|
YYFPRINTF (yyout, ")"); |
411 |
|
} |
412 |
|
]) |