52 |
static state_t *last_state = NULL; |
static state_t *last_state = NULL; |
53 |
|
|
54 |
static int nshifts; |
static int nshifts; |
55 |
static token_number_t *shift_symbol = NULL; |
static symbol_number_t *shift_symbol = NULL; |
56 |
|
|
57 |
static short *redset = NULL; |
static short *redset = NULL; |
58 |
static short *shiftset = NULL; |
static short *shiftset = NULL; |
117 |
shiftset = XCALLOC (short, nsyms); |
shiftset = XCALLOC (short, nsyms); |
118 |
redset = XCALLOC (short, nrules + 1); |
redset = XCALLOC (short, nrules + 1); |
119 |
state_hash = XCALLOC (state_t *, STATE_HASH_SIZE); |
state_hash = XCALLOC (state_t *, STATE_HASH_SIZE); |
120 |
shift_symbol = XCALLOC (token_number_t, nsyms); |
shift_symbol = XCALLOC (symbol_number_t, nsyms); |
121 |
} |
} |
122 |
|
|
123 |
|
|
164 |
for (i = 0; i < nritemset; ++i) |
for (i = 0; i < nritemset; ++i) |
165 |
if (ritem[itemset[i]] >= 0) |
if (ritem[itemset[i]] >= 0) |
166 |
{ |
{ |
167 |
token_number_t symbol |
symbol_number_t symbol |
168 |
= item_number_as_token_number (ritem[itemset[i]]); |
= item_number_as_symbol_number (ritem[itemset[i]]); |
169 |
if (!kernel_size[symbol]) |
if (!kernel_size[symbol]) |
170 |
{ |
{ |
171 |
shift_symbol[nshifts] = symbol; |
shift_symbol[nshifts] = symbol; |
185 |
`-----------------------------------------------------------------*/ |
`-----------------------------------------------------------------*/ |
186 |
|
|
187 |
static state_t * |
static state_t * |
188 |
new_state (token_number_t symbol, size_t core_size, item_number_t *core) |
new_state (symbol_number_t symbol, size_t core_size, item_number_t *core) |
189 |
{ |
{ |
190 |
state_t *p; |
state_t *p; |
191 |
|
|
228 |
`--------------------------------------------------------------*/ |
`--------------------------------------------------------------*/ |
229 |
|
|
230 |
static int |
static int |
231 |
get_state (token_number_t symbol, size_t core_size, item_number_t *core) |
get_state (symbol_number_t symbol, size_t core_size, item_number_t *core) |
232 |
{ |
{ |
233 |
int key; |
int key; |
234 |
size_t i; |
size_t i; |
297 |
{ |
{ |
298 |
int i; |
int i; |
299 |
int j; |
int j; |
300 |
token_number_t symbol; |
symbol_number_t symbol; |
301 |
|
|
302 |
if (trace_flag) |
if (trace_flag) |
303 |
fprintf (stderr, "Entering append_states, state = %d\n", |
fprintf (stderr, "Entering append_states, state = %d\n", |