-/* Type definitions for nondeterministic finite state machine for bison,
+/* 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.
You should have received a copy of the GNU General Public License
along with Bison; see the file COPYING. If not, write to
- the Free Software Foundation, Inc., 59 Temple Place - Suite 330,
- Boston, MA 02111-1307, USA. */
+ the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
+ Boston, MA 02110-1301, USA. */
/* These type definitions are used to represent a nondeterministic
| Numbering states. |
`-------------------*/
-typedef short state_number;
-# define STATE_NUMBER_MAXIMUM SHRT_MAX
+typedef int state_number;
+# define STATE_NUMBER_MAXIMUM INT_MAX
/* Be ready to map a state_number to an int. */
-# define state_number_as_int(Tok) ((int) (Tok))
+static inline int
+state_number_as_int (state_number s)
+{
+ return s;
+}
typedef struct state state;
typedef struct
{
- short num;
+ 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;
+ int num;
symbol *symbols[1];
} errs;
typedef struct
{
- short num;
- bitset *lookaheads;
+ int num;
+ bitset *lookahead_tokens;
rule *rules[1];
} reductions;
/* Its items. Must be last, since ITEMS can be arbitrarily large.
*/
- unsigned short nitems;
+ size_t 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 lookahead tokens such that this STATE wants to
reduce R. */
-void state_rule_lookaheads_print (state *s, rule *r, FILE *out);
+void state_rule_lookahead_tokens_print (state *s, rule *r, FILE *out);
/* Create/destroy the states hash table. */
void state_hash_new (void);