X-Git-Url: https://git.saurik.com/bison.git/blobdiff_plain/cfc3acf24202b6fd01d893e3cf7ba0b21bfd2843..e89a22bfab22e4d2ee73be49dcb66b51f8d0e892:/src/lalr.h diff --git a/src/lalr.h b/src/lalr.h index c3d719fd..55e01d8f 100644 --- a/src/lalr.h +++ b/src/lalr.h @@ -49,12 +49,6 @@ extern short *goto_map; extern short *from_state; extern short *to_state; -/* CONSISTENT[S] is nonzero if no lookahead is needed to decide what - to do in state S. */ - -extern char *consistent; - - /* LARULENO is a vector which records the rules that need lookahead in various states. The elements of LARULENO that apply to state S are those from LOOKAHEADS[S] through LOOKAHEADS[S+1]-1. Each element @@ -72,6 +66,7 @@ extern short *LAruleno; it is a conflict. */ extern unsigned *LA; +#define LA(Rule) (LA + (Rule) * tokensetsize) /* A structure decorating a state, with additional information. */ @@ -83,8 +78,15 @@ typedef struct state_s /* Its accessing symbol. */ short accessing_symbol; - shifts *shift_table; - reductions *reduction_table; + shifts *shifts; + reductions *reductions; + errs *errs; + + /* Nonzero if no lookahead is needed to decide what to do in state + S. */ + char consistent; + + short lookaheads; } state_t; /* All the decorated states, indexed by the state number. Warning: @@ -93,9 +95,7 @@ typedef struct state_s extern state_t *state_table; extern int tokensetsize; -extern short *lookaheads; - - - +/* The number of lookaheads. */ +extern size_t nlookaheads; #endif /* !LALR_H_ */