107 |
GENERATE_MUSCLE_INSERT_TABLE(muscle_insert_state_number_table, state_number_t) |
GENERATE_MUSCLE_INSERT_TABLE(muscle_insert_state_number_table, state_number_t) |
108 |
|
|
109 |
|
|
110 |
/*-----------------------------------------------------------------. |
/*------------------------------------------------------------------. |
111 |
| Prepare the muscles related to the tokens: translate, tname, and | |
| Prepare the muscles related to the symbols: translate, tname, and | |
112 |
| toknum. | |
| toknum. | |
113 |
`-----------------------------------------------------------------*/ |
`------------------------------------------------------------------*/ |
114 |
|
|
115 |
static void |
static void |
116 |
prepare_tokens (void) |
prepare_symbols (void) |
117 |
{ |
{ |
118 |
|
MUSCLE_INSERT_INT ("tokens_number", ntokens); |
119 |
|
MUSCLE_INSERT_INT ("nterms_number", nvars); |
120 |
|
MUSCLE_INSERT_INT ("undef_token_number", undeftoken->number); |
121 |
|
MUSCLE_INSERT_INT ("user_token_number_max", max_user_token_number); |
122 |
|
|
123 |
muscle_insert_symbol_number_table ("translate", |
muscle_insert_symbol_number_table ("translate", |
124 |
token_translations, |
token_translations, |
125 |
token_translations[0], |
token_translations[0], |
126 |
1, max_user_token_number + 1); |
1, max_user_token_number + 1); |
127 |
|
|
128 |
|
/* tname -- token names. */ |
129 |
{ |
{ |
130 |
int i; |
int i; |
131 |
int j = 0; |
int j = 0; |
221 |
muscle_insert_short_table ("dprec", dprec, 0, 0, nrules); |
muscle_insert_short_table ("dprec", dprec, 0, 0, nrules); |
222 |
muscle_insert_short_table ("merger", merger, 0, 0, nrules); |
muscle_insert_short_table ("merger", merger, 0, 0, nrules); |
223 |
|
|
224 |
|
MUSCLE_INSERT_INT ("rules_number", nrules); |
225 |
|
|
226 |
free (rhs); |
free (rhs); |
227 |
free (prhs); |
free (prhs); |
228 |
free (rline); |
free (rline); |
246 |
values[i] = states[i]->accessing_symbol; |
values[i] = states[i]->accessing_symbol; |
247 |
muscle_insert_symbol_number_table ("stos", values, |
muscle_insert_symbol_number_table ("stos", values, |
248 |
0, 1, nstates); |
0, 1, nstates); |
249 |
|
|
250 |
|
MUSCLE_INSERT_INT ("last", high); |
251 |
|
MUSCLE_INSERT_INT ("final_state_number", final_state->number); |
252 |
|
MUSCLE_INSERT_INT ("states_number", nstates); |
253 |
} |
} |
254 |
|
|
255 |
|
|
461 |
that case. Nevertheless, it seems even better to be able to use |
that case. Nevertheless, it seems even better to be able to use |
462 |
the GLR skeletons even without the non-deterministic tables. */ |
the GLR skeletons even without the non-deterministic tables. */ |
463 |
muscle_insert_unsigned_int_table ("conflict_list_heads", conflict_table, |
muscle_insert_unsigned_int_table ("conflict_list_heads", conflict_table, |
464 |
conflict_table[0], 1, high+1); |
conflict_table[0], 1, high + 1); |
465 |
muscle_insert_unsigned_int_table ("conflicting_rules", conflict_list, |
muscle_insert_unsigned_int_table ("conflicting_rules", conflict_list, |
466 |
conflict_list[0], 1, conflict_list_cnt); |
conflict_list[0], 1, conflict_list_cnt); |
467 |
} |
} |
578 |
MUSCLE_INSERT_STRING ("output_parser_name", parser_file_name); |
MUSCLE_INSERT_STRING ("output_parser_name", parser_file_name); |
579 |
MUSCLE_INSERT_STRING ("output_header_name", spec_defines_file); |
MUSCLE_INSERT_STRING ("output_header_name", spec_defines_file); |
580 |
|
|
|
/* Symbols. */ |
|
|
MUSCLE_INSERT_INT ("tokens_number", ntokens); |
|
|
MUSCLE_INSERT_INT ("nterms_number", nvars); |
|
|
MUSCLE_INSERT_INT ("undef_token_number", undeftoken->number); |
|
|
MUSCLE_INSERT_INT ("user_token_number_max", max_user_token_number); |
|
|
|
|
|
/* Rules. */ |
|
|
MUSCLE_INSERT_INT ("rules_number", nrules); |
|
|
|
|
|
/* States. */ |
|
|
MUSCLE_INSERT_INT ("last", high); |
|
|
MUSCLE_INSERT_INT ("final_state_number", final_state->number); |
|
|
MUSCLE_INSERT_INT ("states_number", nstates); |
|
|
|
|
581 |
/* User Code. */ |
/* User Code. */ |
582 |
obstack_1grow (&pre_prologue_obstack, 0); |
obstack_1grow (&pre_prologue_obstack, 0); |
583 |
obstack_1grow (&post_prologue_obstack, 0); |
obstack_1grow (&post_prologue_obstack, 0); |
607 |
{ |
{ |
608 |
obstack_init (&format_obstack); |
obstack_init (&format_obstack); |
609 |
|
|
610 |
prepare_tokens (); |
prepare_symbols (); |
611 |
prepare_rules (); |
prepare_rules (); |
612 |
prepare_states (); |
prepare_states (); |
613 |
prepare_actions (); |
prepare_actions (); |