Use the new code_props interface for rule actions.

* src/symlist.h (symbol_list): Replace action, action_location, and
used members with a code_props action_props member.
* src/reader.c (symbol_should_be_used, grammar_rule_check,
grammar_midrule_action, grammar_current_rule_merge_set,
grammar_current_rule_symbol_append, packgram): Update.
* src/scan-code.h (translate_rule_action): Remove, no longer used.
* src/scan-code.l (handle_action_dollar): Update.
(translate_rule_action): Remove, no longer used.
* src/symlist.c (symbol_list_sym_new, symbol_list_syms_print): Update.
This commit is contained in:
Joel E. Denny
2007-01-04 03:21:08 +00:00
parent 7c0c61812d
commit f6857bbf8c
6 changed files with 47 additions and 50 deletions

View File

@@ -304,7 +304,7 @@ handle_action_dollar (symbol_list *rule, char *text, location dollar_loc)
obstack_fgrow1 (&obstack_for_string,
"]b4_lhs_value([%s])[", type_name);
rule->used = true;
rule->action_props.is_value_used = true;
}
else
{
@@ -333,7 +333,8 @@ handle_action_dollar (symbol_list *rule, char *text, location dollar_loc)
"]b4_rhs_value(%d, %d, [%s])[",
effective_rule_length, n, type_name);
if (n > 0)
symbol_list_n_get (effective_rule, n)->used = true;
symbol_list_n_get (effective_rule, n)->action_props.is_value_used =
true;
}
else
complain_at (dollar_loc, _("integer out of range: %s"), quote (text));
@@ -479,12 +480,3 @@ code_scanner_free (void)
/* Reclaim Flex's buffers. */
yylex_destroy ();
}
char const *
translate_rule_action (symbol_list *rule)
{
code_props cp;
code_props_rule_action_init (&cp, rule->action, rule->action_location, rule);
code_props_translate_code (&cp);
return cp.code;
}