+} reductions;
+
+reductions *reductions_new PARAMS ((int n));
+
+
+/*----------.
+| State_t. |
+`----------*/
+
+typedef struct state_s
+{
+ struct state_s *next;
+ struct state_s *link;
+
+ short number;
+ symbol_number_t accessing_symbol;
+ shifts *shifts;
+ reductions *reductions;
+ errs *errs;
+
+ /* Nonzero if no lookahead is needed to decide what to do in state S. */
+ char consistent;
+
+ /* Used in LALR, not LR(0). */
+ /* Pseudo pointer into LA. */
+ short lookaheadsp;
+ int nlookaheads;
+
+ /* If some conflicts were solved thanks to precedence/associativity,
+ a human readable description of the resolution. */
+ const char *solved_conflicts;
+
+ /* Its items. Must be last, since ITEMS can be arbitrarily large.
+ */
+ unsigned short nitems;
+ item_number_t items[1];
+} state_t;
+
+#define STATE_ALLOC(Nitems) \
+ (state_t *) xcalloc ((unsigned) (sizeof (state_t) \
+ + (Nitems - 1) * sizeof (item_number_t)), 1)