mirror of
https://git.savannah.gnu.org/git/bison.git
synced 2026-03-13 14:23:04 +00:00
deprecate %defines in favor of %header
This is consistent with --defines being deprecated in favor of --header. The directive %defines is also too similar to %define. And %header matches nicely with api.header.name. * src/scan-gram.l (%defines): Deprecate to %header. (%header): Scan it. * src/parse-gram.y (PERCENT_DEFINES): Replace with... (PERCENT_HEADER): this. * data/skeletons/lalr1.java * doc/bison.texi * tests/actions.at, tests/c++.at, tests/calc.at, tests/conflicts.at, * tests/input.at, tests/java.at, tests/local.at, tests/output.at, * tests/synclines.at, tests/types.at: Convert most tests to check %header instead of %defines.
This commit is contained in:
@@ -96,8 +96,8 @@
|
||||
string from the scanner (should be CODE). */
|
||||
static char const *translate_code_braceless (char *code, location loc);
|
||||
|
||||
/* Handle a %defines directive. */
|
||||
static void handle_defines (char const *value);
|
||||
/* Handle a %header directive. */
|
||||
static void handle_header (char const *value);
|
||||
|
||||
/* Handle a %error-verbose directive. */
|
||||
static void handle_error_verbose (location const *loc, char const *directive);
|
||||
@@ -153,7 +153,7 @@
|
||||
%define parse.error custom
|
||||
%define parse.lac full
|
||||
%define parse.trace
|
||||
%defines
|
||||
%header
|
||||
%expect 0
|
||||
%verbose
|
||||
|
||||
@@ -188,20 +188,19 @@
|
||||
PERCENT_CODE "%code"
|
||||
PERCENT_DEFAULT_PREC "%default-prec"
|
||||
PERCENT_DEFINE "%define"
|
||||
PERCENT_DEFINES "%defines"
|
||||
PERCENT_ERROR_VERBOSE "%error-verbose"
|
||||
PERCENT_EXPECT "%expect"
|
||||
PERCENT_EXPECT_RR "%expect-rr"
|
||||
PERCENT_FLAG "%<flag>"
|
||||
PERCENT_FILE_PREFIX "%file-prefix"
|
||||
PERCENT_FLAG "%<flag>"
|
||||
PERCENT_GLR_PARSER "%glr-parser"
|
||||
PERCENT_HEADER "%header"
|
||||
PERCENT_INITIAL_ACTION "%initial-action"
|
||||
PERCENT_LANGUAGE "%language"
|
||||
PERCENT_NAME_PREFIX "%name-prefix"
|
||||
PERCENT_NO_DEFAULT_PREC "%no-default-prec"
|
||||
PERCENT_NO_LINES "%no-lines"
|
||||
PERCENT_NONDETERMINISTIC_PARSER
|
||||
"%nondeterministic-parser"
|
||||
PERCENT_NONDETERMINISTIC_PARSER "%nondeterministic-parser"
|
||||
PERCENT_OUTPUT "%output"
|
||||
PERCENT_PURE_PARSER "%pure-parser"
|
||||
PERCENT_REQUIRE "%require"
|
||||
@@ -339,8 +338,7 @@ prologue_declaration:
|
||||
muscle_percent_define_insert ($2, @$, $3.kind, $3.chars,
|
||||
MUSCLE_PERCENT_DEFINE_GRAMMAR_FILE);
|
||||
}
|
||||
| "%defines" { header_flag = true; }
|
||||
| "%defines" STRING { handle_defines ($2); }
|
||||
| "%header" string.opt { handle_header ($2); }
|
||||
| "%error-verbose" { handle_error_verbose (&@$, $1); }
|
||||
| "%expect" INT_LITERAL { expected_sr_conflicts = $2; }
|
||||
| "%expect-rr" INT_LITERAL { expected_rr_conflicts = $2; }
|
||||
@@ -485,6 +483,12 @@ precedence_declarator:
|
||||
| "%precedence" { $$ = precedence_assoc; }
|
||||
;
|
||||
|
||||
%type <char*> string.opt;
|
||||
string.opt:
|
||||
%empty { $$ = NULL; }
|
||||
| STRING { $$ = $1; }
|
||||
;
|
||||
|
||||
tag.opt:
|
||||
%empty { $$ = NULL; }
|
||||
| TAG { $$ = $1; }
|
||||
@@ -947,13 +951,16 @@ add_param (param_type type, char *decl, location loc)
|
||||
|
||||
|
||||
static void
|
||||
handle_defines (char const *value)
|
||||
handle_header (char const *value)
|
||||
{
|
||||
header_flag = true;
|
||||
char *file = unquote (value);
|
||||
spec_header_file = xstrdup (file);
|
||||
gram_scanner_last_string_free ();
|
||||
unquote_free (file);
|
||||
if (value)
|
||||
{
|
||||
char *file = unquote (value);
|
||||
spec_header_file = xstrdup (file);
|
||||
gram_scanner_last_string_free ();
|
||||
unquote_free (file);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
|
||||
@@ -245,15 +245,16 @@ eqopt ({sp}=)?
|
||||
"%debug" RETURN_PERCENT_FLAG ("parse.trace");
|
||||
"%default-prec" return BISON_DIRECTIVE (DEFAULT_PREC);
|
||||
"%define" return BISON_DIRECTIVE (DEFINE);
|
||||
"%defines" return BISON_DIRECTIVE (DEFINES);
|
||||
"%defines" return BISON_DIRECTIVE (HEADER); // Deprecated in 3.8.
|
||||
"%destructor" return BISON_DIRECTIVE (DESTRUCTOR);
|
||||
"%dprec" return BISON_DIRECTIVE (DPREC);
|
||||
"%empty" return BISON_DIRECTIVE (EMPTY);
|
||||
"%expect" return BISON_DIRECTIVE (EXPECT);
|
||||
"%expect-rr" return BISON_DIRECTIVE (EXPECT_RR);
|
||||
"%file-prefix" RETURN_VALUE (PERCENT_FILE_PREFIX, uniqstr_new (yytext));
|
||||
"%initial-action" return BISON_DIRECTIVE (INITIAL_ACTION);
|
||||
"%glr-parser" return BISON_DIRECTIVE (GLR_PARSER);
|
||||
"%header" return BISON_DIRECTIVE (HEADER);
|
||||
"%initial-action" return BISON_DIRECTIVE (INITIAL_ACTION);
|
||||
"%language" return BISON_DIRECTIVE (LANGUAGE);
|
||||
"%left" return PERCENT_LEFT;
|
||||
"%lex-param" RETURN_PERCENT_PARAM (lex);
|
||||
|
||||
Reference in New Issue
Block a user