]> git.saurik.com Git - bison.git/blobdiff - src/output.c
* src/bison.simple: Remove YYERROR_VERBOSE using.
[bison.git] / src / output.c
index 87ab880e1365e8d26032a6d1fa49248b34e68bfe..9f2b9b5e283c9d5e5d32d3f620658784d88305ad 100644 (file)
@@ -567,33 +567,6 @@ token_actions (void)
 }
 
 
-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)
 {
@@ -946,8 +919,8 @@ output_actions (void)
   width = XCALLOC (short, nvectors);
 
   token_actions ();
-  free_shifts ();
-  free_reductions ();
+  LIST_FREE (shifts, first_shift);
+  LIST_FREE (reductions, first_reduction);
   XFREE (LA);
   XFREE (LAruleno);
 
@@ -1012,7 +985,6 @@ output_parser (const char *skel_filename, struct obstack *oout)
            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, "%%");
@@ -1041,21 +1013,11 @@ output_master_parser (void)
       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)                          \
@@ -1091,6 +1053,7 @@ prepare (void)
   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);
@@ -1115,7 +1078,7 @@ output (void)
 {
   obstack_init (&output_obstack);
 
-  free_itemsets ();
+  LIST_FREE (core, first_state);
 
   output_token_translations ();
   output_gram ();