X-Git-Url: https://git.saurik.com/bison.git/blobdiff_plain/a70083a3ed3fc3f69e0bed00220614f9d8263994..80a697503460fcf0d52bed9fb3b86e4c276fb37e:/src/state.h?ds=sidebyside diff --git a/src/state.h b/src/state.h index 43e6809b..4c60a271 100644 --- a/src/state.h +++ b/src/state.h @@ -1,5 +1,5 @@ /* Type definitions for nondeterministic finite state machine for bison, - Copyright (C) 1984, 1989, 2000 Free Software Foundation, Inc. + Copyright 1984, 1989, 2000 Free Software Foundation, Inc. This file is part of Bison, the GNU Compiler Compiler. @@ -99,7 +99,9 @@ typedef struct core } core; - +#define CORE_ALLOC(Nitems) \ + (core *) xcalloc ((unsigned) (sizeof (core) \ + + (Nitems - 1) * sizeof (short)), 1) typedef struct shifts { @@ -110,6 +112,9 @@ typedef struct shifts } shifts; +#define SHIFTS_ALLOC(Nshifts) \ + (shifts *) xcalloc ((unsigned) (sizeof (shifts) \ + + (Nshifts - 1) * sizeof (short)), 1) typedef struct errs @@ -119,6 +124,10 @@ typedef struct errs } errs; +#define ERRS_ALLOC(Nerrs) \ + (errs *) xcalloc ((unsigned) (sizeof (errs) \ + + (Nerrs - 1) * sizeof (short)), 1) + typedef struct reductions @@ -130,9 +139,8 @@ typedef struct reductions } reductions; -extern int nstates; -extern core *first_state; -extern shifts *first_shift; -extern reductions *first_reduction; +#define REDUCTIONS_ALLOC(Nreductions) \ + (reductions *) xcalloc ((unsigned) (sizeof (reductions) \ + + (Nreductions - 1) * sizeof (short)), 1) #endif /* !STATE_H_ */