]> git.saurik.com Git - bison.git/blobdiff - src/output.c
* src/reader.c (read_additionnal_code): Rename %%user_code to
[bison.git] / src / output.c
index 254927d047f3325b4a1d9600bd31dd97e74abd7d..944ebb5483c0a4da2ffe60855544110edc6cff8f 100644 (file)
@@ -130,7 +130,7 @@ struct obstack output_obstack;
 
 static inline void
 output_table_data (struct obstack* oout, 
 
 static inline void
 output_table_data (struct obstack* oout, 
-                  short* table, 
+                  short* table_data
                   short first, 
                   short begin, 
                   short end)
                   short first, 
                   short begin, 
                   short end)
@@ -149,7 +149,7 @@ output_table_data (struct obstack* oout,
        }
       else
        ++j;
        }
       else
        ++j;
-      obstack_fgrow1 (oout, "%6d", table[i]);
+      obstack_fgrow1 (oout, "%6d", table_data[i]);
     }
   obstack_1grow (oout, 0);
 }
     }
   obstack_1grow (oout, 0);
 }
@@ -190,8 +190,10 @@ output_gram (void)
     XFREE (yyrhs);
   }
 
     XFREE (yyrhs);
   }
 
-  /* if (!semantic_parser && !no_parser_flag)
-     obstack_sgrow (&table_obstack, "\n#endif\n"); */
+#if 0
+  if (!semantic_parser && !no_parser_flag)
+    obstack_sgrow (&table_obstack, "\n#endif\n");
+#endif
 }
 
 
 }
 
 
@@ -938,12 +940,10 @@ output_actions (void)
 
   sort_actions ();
   pack_table ();
 
   sort_actions ();
   pack_table ();
-  /* FIXME: See if this is useful. */
-  /* obstack_1grow (&table_obstack, '\n'); */
+
   output_base ();
   output_table ();
   output_base ();
   output_table ();
-  /* FIXME: See if this is useful. */
-  /* obstack_1grow (&table_obstack, '\n'); */
+
   output_check ();
 }
 
   output_check ();
 }
 
@@ -984,8 +984,8 @@ output_parser (void)
       else if ((c = getc (fskel)) == '%')
        {
          /* Read the macro. */
       else if ((c = getc (fskel)) == '%')
        {
          /* Read the macro. */
-         char* macro_key = 0;
-         char* macro_value = 0;
+         const char* macro_key = 0;
+         const char* macro_value = 0;
          while (isalnum (c = getc (fskel)) || c == '_')
            obstack_1grow (&macro_obstack, c);
          obstack_1grow (&macro_obstack, 0);
          while (isalnum (c = getc (fskel)) || c == '_')
            obstack_1grow (&macro_obstack, c);
          obstack_1grow (&macro_obstack, 0);
@@ -1017,16 +1017,6 @@ output_parser (void)
   xfclose (fskel);
 }
 
   xfclose (fskel);
 }
 
-static void
-output_program (void)
-{
-  int c;
-
-  while ((c = getc (finput)) != EOF)
-    obstack_1grow (&table_obstack, c);
-}
-
-
 static void
 free_itemsets (void)
 {
 static void
 free_itemsets (void)
 {
@@ -1103,20 +1093,11 @@ prepare (void)
 void
 output (void)
 {
 void
 output (void)
 {
-  obstack_init (&macro_obstack);
   obstack_init (&output_obstack);
 
 #if 0
   obstack_init (&output_obstack);
 
 #if 0
-  /* If using a simple parser the definition of YYSTYPE are put into
-     TABLE_OBSTACK.  */
-  if (!semantic_parser)
-    {
-      size_t size = obstack_object_size (&attrs_obstack);
-      obstack_grow (&table_obstack, obstack_finish (&attrs_obstack), size);
-    }
+  reader_output_yylsp (&table_obstack); */
 #endif
 #endif
-
-  /* reader_output_yylsp (&table_obstack); */
   free_itemsets ();
 
   output_token_translations ();
   free_itemsets ();
 
   output_token_translations ();
@@ -1127,11 +1108,14 @@ output (void)
     output_stos ();
   output_rule_data ();
   output_actions ();
     output_stos ();
   output_rule_data ();
   output_actions ();
-
-  /* if (!no_parser_flag) */
+  
+#if 0
+  if (!no_parser_flag) */
+#endif
   prepare ();
   prepare ();
+  /* Copy definitions in directive.  */
+  macro_insert ("prologue", obstack_finish (&attrs_obstack));
   output_parser ();
   output_parser ();
-  output_program ();
 
   obstack_free (&macro_obstack, 0);
   obstack_free (&output_obstack, 0);
 
   obstack_free (&macro_obstack, 0);
   obstack_free (&output_obstack, 0);