Support a file name argument to %defines. Deprecate `=' in

%file-prefix, %name-prefix, and %output.  Discussed at
<http://lists.gnu.org/archive/html/help-bison/2006-09/msg00001.html>.
* NEWS (2.3a+): Mention.
* doc/bison.texinfo (Decl Summary, Bison Symbols): Add entry for new
form of %defines, and remove `=' from entries for %file-prefix,
%name-prefix, and %output.
* src/parse-gram.y (prologue_declaration): Implement.
* tests/calc.at (Simple LALR Calculator, Simple GLR Calculator, Simple
LALR1 C++ Calculator, Simple GLR C++ Calculator): Remove the `=' from
all but one occurrence of %name-prefix.
* tests/headers.at (export YYLTYPE): Remove the `=' from %name-prefix.
* tests/local.at (_AT_BISON_OPTION_PUSHDEFS): Likewise.
* tests/output.at (AT_CHECK_OUTPUT): Remove the `=' from all but one
occurrence of each of %file-prefix and %output.  Add check for %defines
with argument.
* tests/reduce.at (Useless Terminals, Useless Nonterminals,
Useless Rules, Reduced Automaton, Underivable Rules, Empty Language):
Remove the `=' from %output.
This commit is contained in:
Joel E. Denny
2006-12-02 01:52:16 +00:00
parent 287b314eef
commit 02975b9aad
10 changed files with 535 additions and 445 deletions

File diff suppressed because it is too large Load Diff

View File

@@ -226,10 +226,16 @@ prologue_declaration:
| "%debug" { debug_flag = true; }
| "%define" STRING content.opt { muscle_insert ($2, $3); }
| "%defines" { defines_flag = true; }
| "%defines" STRING
{
defines_flag = true;
spec_defines_file = xstrdup ($2);
}
| "%error-verbose" { error_verbose = true; }
| "%expect" INT { expected_sr_conflicts = $2; }
| "%expect-rr" INT { expected_rr_conflicts = $2; }
| "%file-prefix" "=" STRING { spec_file_prefix = $3; }
| "%file-prefix" STRING { spec_file_prefix = $2; }
| "%file-prefix" "=" STRING { spec_file_prefix = $3; } /* deprecated */
| "%glr-parser"
{
nondeterministic_parser = true;
@@ -241,10 +247,12 @@ prologue_declaration:
}
| "%lex-param" "{...}" { add_param ("lex_param", $2, @2); }
| "%locations" { locations_flag = true; }
| "%name-prefix" "=" STRING { spec_name_prefix = $3; }
| "%name-prefix" STRING { spec_name_prefix = $2; }
| "%name-prefix" "=" STRING { spec_name_prefix = $3; } /* deprecated */
| "%no-lines" { no_lines_flag = true; }
| "%nondeterministic-parser" { nondeterministic_parser = true; }
| "%output" "=" STRING { spec_outfile = $3; }
| "%output" STRING { spec_outfile = $2; }
| "%output" "=" STRING { spec_outfile = $3; } /* deprecated */
| "%parse-param" "{...}" { add_param ("parse_param", $2, @2); }
| "%pure-parser" { pure_parser = true; }
| "%push-parser" { push_parser = true; }