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

@@ -4615,6 +4615,15 @@ header also contains their code.
@xref{Table of Symbols, ,%code}.
@end deffn
@deffn {Directive} %define @var{define-variable}
@deffnx {Directive} %define @var{define-variable} @var{value}
Define a variable to be used by the skeleton in order to adjust its
behavior. The @var{value} can be omitted for boolean variables; for
boolean variables, the skeletons will treat a @var{value} of @samp{0}
or @samp{false} as the boolean variable being false, and anything else
as true.
@end deffn
@deffn {Directive} %defines @var{defines-file}
Same as above, but save in the file @var{defines-file}.
@end deffn