Implement --trace=m4.

* src/getargs.c (trace_types, trace_args): Accept trace_m4.
* src/output.c (output_skeleton): When set, pass -dV to m4.
Factor the handling of flags in m4.
* src/output.c (prepare): Rename the muscle names debug, defines,
error_verbose to debug_flag, defines_flag, error_verbose_flag.
* data/c.m4: Adjust.
(_b4_define_flag_if, b4_define_flag_if, b4_defines_if): New.
Use b4_define_flag_if to define other b4_FLAG_if macros.
(b4_location_if): As a consequence, rename as...
(b4_locations_if): this, for consistency.
Adjust all the skeletons.
This commit is contained in:
Akim Demaille
2006-05-14 20:40:35 +00:00
parent ba9ecd1910
commit 327afc7c84
9 changed files with 153 additions and 126 deletions

View File

@@ -27,7 +27,7 @@ m4_include(b4_pkgdatadir/[location.cc])
# We do want M4 expansion after # for CPP macros.
m4_changecom()
m4_divert(0)dnl
m4_if(b4_defines_flag, 0, [],
b4_defines_if(
[@output @output_header_name@
b4_copyright([Skeleton interface for Bison LALR(1) parsers in C++],
[2002, 2003, 2004, 2005, 2006])
@@ -59,7 +59,7 @@ b4_syncline([@oline@], [@ofile@])[
/* Enabling traces. */
#ifndef YYDEBUG
# define YYDEBUG ]b4_debug[
# define YYDEBUG ]b4_debug_flag[
#endif
/* Enabling verbose error messages. */
@@ -67,7 +67,7 @@ b4_syncline([@oline@], [@ofile@])[
# undef YYERROR_VERBOSE
# define YYERROR_VERBOSE 1
#else
# define YYERROR_VERBOSE ]b4_error_verbose[
# define YYERROR_VERBOSE ]b4_error_verbose_flag[
#endif
/* Enabling the token table. */
@@ -303,8 +303,7 @@ m4_if(b4_prefix, [yy], [],
[
// Take the name prefix into account.
#define yylex b4_prefix[]lex])
m4_if(b4_defines_flag, 0, [],
[
b4_defines_if([
#include @output_header_name@])[
/* User implementation prologue. */
@@ -580,7 +579,7 @@ b4_syncline([@oline@], [@ofile@])])dnl
YYCDEBUG << "Reading a token: ";
yychar = ]b4_c_function_call([yylex], [int],
[[YYSTYPE*], [&yylval]][]dnl
b4_location_if([, [[location*], [&yylloc]]])dnl
b4_locations_if([, [[location*], [&yylloc]]])dnl
m4_ifdef([b4_lex_param], [, ]b4_lex_param))[;
}