+state_reductions_set (state *s, int num, rule **reds)
+{
+ if (s->reductions)
+ abort ();
+ s->reductions = reductions_new (num, reds);
+}
+
+
+int
+state_reduction_find (state *s, rule *r)
+{
+ int i;
+ reductions *reds = s->reductions;
+ for (i = 0; i < reds->num; ++i)
+ if (reds->rules[i] == r)
+ return i;
+ return -1;
+}
+
+
+/*--------------------.
+| Set the errs of S. |
+`--------------------*/
+
+void
+state_errs_set (state *s, int num, symbol **tokens)