2007-01-23 Paolo Bonzini <bonzini@gnu.org>

Simplify implementation of unqualified %code, implement macros for
	uniform treatment of boolean %define flags.  Document %define.
	* data/bison.m4 (b4_percent_define_ifdef, b4_percent_define_flag_if,
	b4_percent_code_ifdef): New.
	(b4_percent_code_get): Map unqualified %code to b4_percent_code().
	* data/c++.m4: Define default value for global_tokens_and_yystype.
	* data/glr.cc: Likewise.
	* data/location.cc: Use b4_percent_define_flag_if.

	* doc/bison.texinfo (Directives): Document %define.

	* src/parse-gram.y (Unqualified %code): Change muscle name to
	b4_percent_code().
	(content.opt): Default to empty.
This commit is contained in:
Paolo Bonzini
2007-01-23 12:24:27 +00:00
parent 5f340b4884
commit 592d0b1eb5
10 changed files with 203 additions and 144 deletions

View File

@@ -347,7 +347,7 @@ grammar_declaration:
}
| "%code" braceless
{
muscle_code_grow ("percent_code_unqualified", $2, @2);
muscle_code_grow ("percent_code()", $2, @2);
code_scanner_last_string_free ();
}
| "%code" ID braceless
@@ -551,12 +551,11 @@ variable:
| STRING { $$ = uniqstr_new ($1); } /* deprecated and not M4-friendly */
;
/* Some content or "1" by default. */
/* Some content or empty by default. */
content.opt:
/* Nothing. */
{
static char one[] = "1";
$$ = one;
$$ = "";
}
| STRING
;