}
-static void
-free_shifts (void)
-{
- shifts *sp, *sptmp; /* JF derefrenced freed ptr */
-
- for (sp = first_shift; sp; sp = sptmp)
- {
- sptmp = sp->next;
- XFREE (sp);
- }
-}
-
-
-static void
-free_reductions (void)
-{
- reductions *rp, *rptmp; /* JF fixed freed ptr */
-
- for (rp = first_reduction; rp; rp = rptmp)
- {
- rptmp = rp->next;
- XFREE (rp);
- }
-}
-
-
-
static void
save_column (int symbol, int default_state)
{
width = XCALLOC (short, nvectors);
token_actions ();
- free_shifts ();
- free_reductions ();
+ LIST_FREE (shifts, first_shift);
+ LIST_FREE (reductions, first_reduction);
XFREE (LA);
XFREE (LAruleno);
obstack_fgrow1 (oout, "%d", line + 1);
else if (!strcmp (muscle_key, "input_line"))
obstack_fgrow1 (oout, "%d", lineno);
- /* FIXME: Insert the code to recognize %%sub-skeleton for exemple. */
else
{
obstack_sgrow (oout, "%%");
else
skeleton = skeleton_find ("BISON_SIMPLE", BISON_SIMPLE);
}
+ muscle_insert ("skeleton", skeleton);
output_parser (skeleton, &table_obstack);
}
-static void
-free_itemsets (void)
-{
- core *cp, *cptmp;
- for (cp = first_state; cp; cp = cptmp)
- {
- cptmp = cp->next;
- XFREE (cp);
- }
-}
-
/* FIXME. */
#define MUSCLE_INSERT_INT(Key, Value) \
MUSCLE_INSERT_INT ("maxtok", max_user_token_number);
MUSCLE_INSERT_INT ("ntbase", ntokens);
MUSCLE_INSERT_INT ("verbose", 0);
+ MUSCLE_INSERT_INT ("error_verbose", error_verbose_flag);
MUSCLE_INSERT_INT ("nnts", nvars);
MUSCLE_INSERT_INT ("nrules", nrules);
{
obstack_init (&output_obstack);
- free_itemsets ();
+ LIST_FREE (core, first_state);
output_token_translations ();
output_gram ();