X-Git-Url: https://git.saurik.com/bison.git/blobdiff_plain/6b5a748937ae95af26d78e9e5e7a335351a2970d..e36ec1f41ffbe9f00db405c775201dbbc384c45c:/src/muscle-tab.c diff --git a/src/muscle-tab.c b/src/muscle-tab.c index 8e569812..f3933c3f 100644 --- a/src/muscle-tab.c +++ b/src/muscle-tab.c @@ -398,7 +398,11 @@ muscle_percent_variable_update (char const *variable, location variable_loc) const conversion_type conversion[] = { { "api.push_pull", "api.push-pull", }, - { "lr.keep_unreachable_states", "lr.keep-unreachable-states", }, + { "api.tokens.prefix", "api.token.prefix", }, + { "location_type", "api.location.type", }, + { "lr.default-reductions", "lr.default-reduction", }, + { "lr.keep-unreachable-states", "lr.keep-unreachable-state", }, + { "lr.keep_unreachable_states", "lr.keep-unreachable-state", }, { "namespace", "api.namespace", }, }; char const *res = variable; @@ -407,44 +411,41 @@ muscle_percent_variable_update (char const *variable, location variable_loc) if (STREQ (conversion[i].obsolete, variable)) { res = conversion[i].updated; - complain_at (variable_loc, Wdeprecated, - _("deprecated %%define variable name: %s, use %s"), - quote (variable), quote_n (1, res)); + complain (&variable_loc, Wdeprecated, + _("deprecated %%define variable name: %s, use %s"), + quote (variable), quote_n (1, res)); break; } return res; } void -muscle_percent_define_insert (char const *variable, location variable_loc, +muscle_percent_define_insert (char const *var, location variable_loc, char const *value, muscle_percent_define_how how) { - char const *name; - char const *loc_name; - char const *syncline_name; - char const *how_name; - - /* Permit certain names with underscores for backward compatibility. */ - variable = muscle_percent_variable_update (variable, variable_loc); - - name = UNIQSTR_CONCAT ("percent_define(", variable, ")"); - loc_name = UNIQSTR_CONCAT ("percent_define_loc(", variable, ")"); - syncline_name = + /* Backward compatibility. */ + char const *variable = muscle_percent_variable_update (var, variable_loc); + char const *name = UNIQSTR_CONCAT ("percent_define(", variable, ")"); + char const *loc_name = UNIQSTR_CONCAT ("percent_define_loc(", variable, ")"); + char const *syncline_name = UNIQSTR_CONCAT ("percent_define_syncline(", variable, ")"); - how_name = UNIQSTR_CONCAT ("percent_define_how(", variable, ")"); + char const *how_name = UNIQSTR_CONCAT ("percent_define_how(", variable, ")"); /* Command-line options are processed before the grammar file. */ if (how == MUSCLE_PERCENT_DEFINE_GRAMMAR_FILE && muscle_find_const (name)) { muscle_percent_define_how how_old = atoi (muscle_find_const (how_name)); + unsigned i = 0; if (how_old == MUSCLE_PERCENT_DEFINE_F) return; - complain_at (variable_loc, complaint, _("%%define variable %s redefined"), - quote (variable)); + complain_indent (&variable_loc, complaint, &i, + _("%%define variable %s redefined"), + quote (variable)); + i += SUB_INDENT; location loc = muscle_percent_define_get_loc (variable); - complain_at (loc, complaint, _("previous definition")); + complain_indent (&loc, complaint, &i, _("previous definition")); } MUSCLE_INSERT_STRING (name, value); @@ -499,7 +500,7 @@ muscle_percent_define_get_loc (char const *variable) { char const *loc_name = UNIQSTR_CONCAT ("percent_define_loc(", variable, ")"); if (!muscle_find_const (loc_name)) - complain (fatal, _("%s: undefined %%define variable %s"), + complain (NULL, fatal, _("%s: undefined %%define variable %s"), "muscle_percent_define_get_loc", quote (variable)); return location_decode (loc_name); } @@ -511,7 +512,7 @@ muscle_percent_define_get_syncline (char const *variable) UNIQSTR_CONCAT ("percent_define_syncline(", variable, ")"); char const *syncline = muscle_find_const (syncline_name); if (!syncline) - complain (fatal, _("%s: undefined %%define variable %s"), + complain (NULL, fatal, _("%s: undefined %%define variable %s"), "muscle_percent_define_get_syncline", quote (variable)); return syncline; } @@ -550,14 +551,14 @@ muscle_percent_define_flag_if (char const *variable) { muscle_insert (invalid_boolean_name, ""); location loc = muscle_percent_define_get_loc (variable); - complain_at (loc, complaint, - _("invalid value for %%define Boolean variable %s"), - quote (variable)); + complain (&loc, complaint, + _("invalid value for %%define Boolean variable %s"), + quote (variable)); } free (value); } else - complain (fatal, _("%s: undefined %%define variable %s"), + complain (NULL, fatal, _("%s: undefined %%define variable %s"), "muscle_percent_define_flag", quote (variable)); return result; @@ -600,13 +601,15 @@ muscle_percent_define_check_values (char const * const *values) } if (!*values) { + unsigned i = 0; location loc = muscle_percent_define_get_loc (*variablep); - complain_at (loc, complaint, - _("invalid value for %%define variable %s: %s"), - quote (*variablep), quote_n (1, value)); + complain_indent (&loc, complaint, &i, + _("invalid value for %%define variable %s: %s"), + quote (*variablep), quote_n (1, value)); + i += SUB_INDENT; for (values = variablep + 1; *values; ++values) - complain_at (loc, complaint, _("accepted value: %s"), - quote (*values)); + complain_indent (&loc, complaint, &i, _("accepted value: %s"), + quote (*values)); } else { @@ -616,7 +619,7 @@ muscle_percent_define_check_values (char const * const *values) free (value); } else - complain (fatal, _("%s: undefined %%define variable %s"), + complain (NULL, fatal, _("%s: undefined %%define variable %s"), "muscle_percent_define_check_values", quote (*variablep)); } }