-void grammar_current_rule_prec_set (symbol_t *precsym, location_t l);
-void grammar_current_rule_dprec_set (int dprec, location_t l);
-void grammar_current_rule_merge_set (const char* name, location_t l);
-
-void grammar_current_rule_symbol_append (symbol_t *symbol, location_t l);
-void grammar_current_rule_action_append (const char *action, location_t l);
-extern symbol_list_t *current_rule;
+void grammar_current_rule_prec_set (symbol *precsym, location loc);
+void grammar_current_rule_dprec_set (int dprec, location loc);
+void grammar_current_rule_merge_set (uniqstr name, location loc);
+void grammar_current_rule_symbol_append (symbol *sym, location loc,
+ named_ref *named_ref);
+void grammar_current_rule_action_append (const char *action, location loc,
+ named_ref *named_ref, bool);