mirror of
https://git.savannah.gnu.org/git/bison.git
synced 2026-03-18 08:43:03 +00:00
muscle: factor the handling of used variables
* src/muscle-tab.c (muscle_percent_define_use): New, corresponding to b4_percent_define_use. Use it where appropriate.
This commit is contained in:
@@ -550,16 +550,21 @@ muscle_percent_define_ensure (char const *variable, location loc,
|
|||||||
MUSCLE_PERCENT_DEFINE_GRAMMAR_FILE);
|
MUSCLE_PERCENT_DEFINE_GRAMMAR_FILE);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/* Mark %define VARIABLE as used. */
|
||||||
|
static void
|
||||||
|
muscle_percent_define_use (char const *variable)
|
||||||
|
{
|
||||||
|
muscle_insert (muscle_name (variable, "bison_variables"), "");
|
||||||
|
}
|
||||||
|
|
||||||
char *
|
char *
|
||||||
muscle_percent_define_get (char const *variable)
|
muscle_percent_define_get (char const *variable)
|
||||||
{
|
{
|
||||||
uniqstr name = muscle_name (variable, NULL);
|
uniqstr name = muscle_name (variable, NULL);
|
||||||
uniqstr usage_name = muscle_name (variable, "bison_variables");
|
|
||||||
char *value = string_decode (name);
|
char *value = string_decode (name);
|
||||||
if (!value)
|
if (!value)
|
||||||
value = xstrdup ("");
|
value = xstrdup ("");
|
||||||
|
muscle_percent_define_use (variable);
|
||||||
muscle_insert (usage_name, "");
|
|
||||||
return value;
|
return value;
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -587,15 +592,13 @@ muscle_percent_define_get_syncline (char const *variable)
|
|||||||
bool
|
bool
|
||||||
muscle_percent_define_ifdef (char const *variable)
|
muscle_percent_define_ifdef (char const *variable)
|
||||||
{
|
{
|
||||||
char const *value = muscle_find_const (muscle_name (variable, NULL));
|
if (muscle_find_const (muscle_name (variable, NULL)))
|
||||||
if (value)
|
|
||||||
{
|
{
|
||||||
uniqstr usage_name = muscle_name (variable, "bison_variables");
|
muscle_percent_define_use (variable);
|
||||||
muscle_insert (usage_name, "");
|
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
|
else
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
|
||||||
bool
|
bool
|
||||||
|
|||||||
Reference in New Issue
Block a user