mirror of
https://git.savannah.gnu.org/git/bison.git
synced 2026-03-13 14:23:04 +00:00
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:
839
src/parse-gram.c
839
src/parse-gram.c
File diff suppressed because it is too large
Load Diff
@@ -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; }
|
||||
|
||||
Reference in New Issue
Block a user