mirror of
https://git.savannah.gnu.org/git/bison.git
synced 2026-03-10 04:43:03 +00:00
Support %define "KEY" {VALUE}.
* src/scan-code.h, src/scan-code.l (translate_action) (translate_rule_action, translate_symbol_action, translate_code): Return char *, not const char *. * src/parse-gram.y (declaration): Rename as... (prologue_declaration): this. (string_content): Remove this nonterminal, use STRING. (braceless, content, content.opt): New nonterminal. Use them. (%define): Now accept content.opt, i.e., accept also BRACED_CODE as value. * src/scan-gram.l (getargs.h): Don't include it.
This commit is contained in:
@@ -45,7 +45,7 @@
|
||||
|
||||
/* The current calling start condition: SC_RULE_ACTION or
|
||||
SC_SYMBOL_ACTION. */
|
||||
# define YY_DECL const char *code_lex (int sc_context, symbol_list *rule)
|
||||
# define YY_DECL char *code_lex (int sc_context, symbol_list *rule)
|
||||
YY_DECL;
|
||||
|
||||
#define YY_USER_ACTION location_compute (loc, &loc->end, yytext, yyleng);
|
||||
@@ -376,10 +376,10 @@ handle_action_at (symbol_list *rule, char *text, location at_loc)
|
||||
translation is for \a rule, in the context \a sc_context
|
||||
(SC_RULE_ACTION, SC_SYMBOL_ACTION, INITIAL). */
|
||||
|
||||
static const char *
|
||||
static char *
|
||||
translate_action (int sc_context, symbol_list *rule, const char *a, location l)
|
||||
{
|
||||
const char *res;
|
||||
char *res;
|
||||
static bool initialized = false;
|
||||
if (!initialized)
|
||||
{
|
||||
@@ -398,20 +398,20 @@ translate_action (int sc_context, symbol_list *rule, const char *a, location l)
|
||||
return res;
|
||||
}
|
||||
|
||||
const char *
|
||||
char *
|
||||
translate_rule_action (symbol_list *rule)
|
||||
{
|
||||
return translate_action (SC_RULE_ACTION, rule, rule->action,
|
||||
rule->action_location);
|
||||
}
|
||||
|
||||
const char *
|
||||
char *
|
||||
translate_symbol_action (const char *a, location l)
|
||||
{
|
||||
return translate_action (SC_SYMBOL_ACTION, NULL, a, l);
|
||||
}
|
||||
|
||||
const char *
|
||||
char *
|
||||
translate_code (const char *a, location l)
|
||||
{
|
||||
return translate_action (INITIAL, NULL, a, l);
|
||||
|
||||
Reference in New Issue
Block a user