138 |
void |
void |
139 |
epilogue_set (const char *epilogue, location_t location) |
epilogue_set (const char *epilogue, location_t location) |
140 |
{ |
{ |
|
struct obstack el_obstack; |
|
|
obstack_init (&el_obstack); |
|
|
|
|
141 |
if (!no_lines_flag) |
if (!no_lines_flag) |
142 |
{ |
{ |
143 |
obstack_fgrow2 (&el_obstack, muscle_find ("linef"), |
obstack_fgrow2 (&muscle_obstack, muscle_find ("linef"), |
144 |
location.first_line, |
location.first_line, |
145 |
quotearg_style (c_quoting_style, |
quotearg_style (c_quoting_style, |
146 |
muscle_find ("filename"))); |
muscle_find ("filename"))); |
147 |
} |
} |
148 |
obstack_sgrow (&el_obstack, epilogue); |
obstack_sgrow (&muscle_obstack, epilogue); |
149 |
obstack_1grow (&el_obstack, 0); |
obstack_1grow (&muscle_obstack, 0); |
150 |
muscle_insert ("epilogue", obstack_finish (&el_obstack)); |
muscle_insert ("epilogue", obstack_finish (&muscle_obstack)); |
151 |
} |
} |
152 |
|
|
153 |
|
|
447 |
gram_control_t gram_control; |
gram_control_t gram_control; |
448 |
lineno = 1; |
lineno = 1; |
449 |
|
|
|
/* Initialize the muscle obstack. */ |
|
|
obstack_init (&muscle_obstack); |
|
|
|
|
450 |
/* Initialize the symbol table. */ |
/* Initialize the symbol table. */ |
451 |
symbols_new (); |
symbols_new (); |
452 |
|
|
467 |
undeftoken->number = ntokens++; |
undeftoken->number = ntokens++; |
468 |
|
|
469 |
/* Initialize the obstacks. */ |
/* Initialize the obstacks. */ |
|
obstack_init (&action_obstack); |
|
|
obstack_init (&output_obstack); |
|
470 |
obstack_init (&pre_prologue_obstack); |
obstack_init (&pre_prologue_obstack); |
471 |
obstack_init (&post_prologue_obstack); |
obstack_init (&post_prologue_obstack); |
472 |
|
|