/* Bison Action Scanner -*- C -*-
- Copyright (C) 2006 Free Software Foundation, Inc.
+ Copyright (C) 2006, 2007 Free Software Foundation, Inc.
This file is part of Bison, the GNU Compiler Compiler.
/* End of processing. */
<*><<EOF>> {
STRING_FINISH;
- return last_string;
+ return last_string;
}
%%
obstack_fgrow1 (&obstack_for_string,
"]b4_lhs_value([%s])[", type_name);
- rule->action_props.is_value_used = true;
+ rule->used = true;
}
else
{
obstack_fgrow3 (&obstack_for_string,
"]b4_rhs_value(%d, %d, [%s])[",
effective_rule_length, n, type_name);
- if (n > 0)
- symbol_list_n_get (effective_rule, n)->action_props.is_value_used =
- true;
+ if (n > 0)
+ symbol_list_n_get (effective_rule, n)->used = true;
}
else
complain_at (dollar_loc, _("integer out of range: %s"), quote (text));
}
}
-char const *
-code_props_code_get (code_props const self)
-{
- return self.code;
-}
-
-location
-code_props_location_get (code_props const self)
-{
- aver (self.code != NULL);
- return self.location;
-}
-
-bool
-code_props_is_value_used (code_props const self)
-{
- aver (self.kind != CODE_PROPS_PLAIN);
- return self.is_value_used;
-}
-
void
code_scanner_last_string_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;
+}