/* Type definitions for nondeterministic finite state machine for Bison.
- Copyright (C) 1984, 1989, 2000, 2001, 2002 Free Software
- Foundation, Inc.
+ Copyright (C) 1984, 1989, 2000, 2001, 2002, 2003, 2004 Free
+ Software Foundation, Inc.
This file is part of Bison, the GNU Compiler Compiler.
Each core contains a vector of NITEMS items which are the indices
in the RITEMS vector of the items that are selected in this state.
- The two types of actions are shifts/gotos (push the lookahead token
+ The two types of actions are shifts/gotos (push the look-ahead token
and read another/goto to the state designated by a nterm) and
reductions (combine the last n things on the stack via a rule,
replace them with the symbol that the rule derives, and leave the
- lookahead token alone). When the states are generated, these
+ look-ahead token alone). When the states are generated, these
actions are represented in two other lists.
Each transition structure describes the possible transitions out
| Numbering states. |
`-------------------*/
-typedef short state_number;
+typedef short int state_number;
# define STATE_NUMBER_MAXIMUM SHRT_MAX
/* Be ready to map a state_number to an int. */
typedef struct
{
- short num;
+ short int num;
state *states[1];
} transitions;
if (!TRANSITION_IS_DISABLED (Transitions, Iter))
-/* Return the state such SHIFTS contain a shift/goto to it on S.
+/* Return the state such SHIFTS contain a shift/goto to it on SYM.
Abort if none found. */
-struct state *transitions_to (transitions *shifts, symbol_number s);
+struct state *transitions_to (transitions *shifts, symbol_number sym);
/*-------.
typedef struct
{
- short num;
+ short int num;
symbol *symbols[1];
} errs;
typedef struct
{
- short num;
- bitset *lookaheads;
+ short int num;
+ bitset *look_ahead_tokens;
rule *rules[1];
} reductions;
reductions *reductions;
errs *errs;
- /* Nonzero if no lookahead is needed to decide what to do in state S. */
+ /* Nonzero if no look-ahead is needed to decide what to do in state S. */
char consistent;
/* If some conflicts were solved thanks to precedence/associativity,
/* Its items. Must be last, since ITEMS can be arbitrarily large.
*/
- unsigned short nitems;
+ unsigned short int nitems;
item_number items[1];
};
/* Set the errs of STATE. */
void state_errs_set (state *s, int num, symbol **errors);
-/* Print on OUT all the lookaheads such that this STATE wants to
+/* Print on OUT all the look-ahead tokens such that this STATE wants to
reduce R. */
-void state_rule_lookaheads_print (state *s, rule *r, FILE *out);
+void state_rule_look_ahead_tokens_print (state *s, rule *r, FILE *out);
/* Create/destroy the states hash table. */
void state_hash_new (void);