]> git.saurik.com Git - bison.git/commitdiff
* src/output.c (output_definitions): New function, which copies
authorPascal Bart <pascal.bart@epita.fr>
Tue, 28 Aug 2001 18:35:33 +0000 (18:35 +0000)
committerPascal Bart <pascal.bart@epita.fr>
Tue, 28 Aug 2001 18:35:33 +0000 (18:35 +0000)
attrs_obstack in the '%%definitions' directive.
* src/bison.simple: Add `%%definitions'.

ChangeLog
src/bison.simple
src/output.c

index dd424dd1b035577dbc74250e5851e1fe335dd807..346f48d544d5500bae706fb89ccc5ee447aaa020 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,9 @@
+2001-08-28  Pascal Bart  <pascal.bart@epita.fr>
+
+       * src/output.c (output_definitions): New function, which copies 
+       attrs_obstack in the '%%definitions' directive.
+       * src/bison.simple: Add `%%definitions'.
+
 2001-08-28  Marc Autret  <autret_m@epita.fr>
 
        * config/depcomp: New file.
 2001-08-28  Marc Autret  <autret_m@epita.fr>
 
        * config/depcomp: New file.
index 26a6a019a83c5226fd347a2d62f5865807b5b6ab..700a9edbda4b3a4fda410deb4155c7b37444a783 100644 (file)
@@ -33,6 +33,9 @@
 
 #include <stdio.h>
 
 
 #include <stdio.h>
 
+/* Copy the user declarations.  */
+%%definitions
+
 #ifndef __cplusplus
 # ifndef __STDC__
 #  define const
 #ifndef __cplusplus
 # ifndef __STDC__
 #  define const
index be07ff6faca950d00adeb0183dbd9dc61bd9c053..78496932c88c06f5e70bd242a3f95a7377323776 100644 (file)
@@ -1105,16 +1105,6 @@ output (void)
 {
   obstack_init (&output_obstack);
 
 {
   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);
-    }
-#endif
-
   /* reader_output_yylsp (&table_obstack); */
   free_itemsets ();
 
   /* reader_output_yylsp (&table_obstack); */
   free_itemsets ();
 
@@ -1129,6 +1119,8 @@ output (void)
 
   /* if (!no_parser_flag) */
   prepare ();
 
   /* if (!no_parser_flag) */
   prepare ();
+  /* Copy definitions in directive.  */
+  macro_insert ("definitions", obstack_finish (&attrs_obstack));
   output_parser ();
   output_program ();
 
   output_parser ();
   output_program ();