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:
Akim Demaille
2013-04-14 10:12:36 +02:00
parent c98b5143b0
commit 0f9583b69b

View File

@@ -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