/[bison]/bison/src/reader.c
ViewVC logotype

Diff of /bison/src/reader.c

Parent Directory Parent Directory | Revision Log Revision Log | View Patch Patch

revision 1.72.2.12 by akim, Sun Nov 4 16:26:59 2001 UTC revision 1.72.2.13 by akim, Mon Nov 5 09:12:38 2001 UTC
# Line 711  parse_union_decl (void) Line 711  parse_union_decl (void)
711  {  {
712    int c;    int c;
713    int count = 0;    int count = 0;
714      const char *prologue = "\
715    #ifndef YYSTYPE\n\
716    typedef union";
717      const char *epilogue = "\
718     yystype;\n\
719    # define YYSTYPE yystype\n\
720    #endif\n";
721    
722    if (typed)    if (typed)
723      complain (_("multiple %s declarations"), "%union");      complain (_("multiple %s declarations"), "%union");
# Line 723  parse_union_decl (void) Line 730  parse_union_decl (void)
730    else    else
731      obstack_1grow (&attrs_obstack, '\n');      obstack_1grow (&attrs_obstack, '\n');
732    
733    obstack_sgrow (&attrs_obstack, "typedef union");    obstack_sgrow (&attrs_obstack, prologue);
734    if (defines_flag)    if (defines_flag)
735      obstack_sgrow (&defines_obstack, "typedef union");      obstack_sgrow (&defines_obstack, prologue);
736    
737    c = getc (finput);    c = getc (finput);
738    
# Line 760  parse_union_decl (void) Line 767  parse_union_decl (void)
767            count--;            count--;
768            if (count <= 0)            if (count <= 0)
769              {              {
770                obstack_sgrow (&attrs_obstack, " YYSTYPE;\n");                obstack_sgrow (&attrs_obstack, epilogue);
771                if (defines_flag)                if (defines_flag)
772                  obstack_sgrow (&defines_obstack, " YYSTYPE;\n");                  obstack_sgrow (&defines_obstack, epilogue);
773                /* JF don't choke on trailing semi */                /* JF don't choke on trailing semi */
774                c = skip_white_space ();                c = skip_white_space ();
775                if (c != ';')                if (c != ';')
# Line 1955  reader (void) Line 1962  reader (void)
1962    /* Read the declaration section.  Copy %{ ... %} groups to    /* Read the declaration section.  Copy %{ ... %} groups to
1963       TABLE_OBSTACK and FDEFINES file.  Also notice any %token, %left,       TABLE_OBSTACK and FDEFINES file.  Also notice any %token, %left,
1964       etc. found there.  */       etc. found there.  */
   obstack_1grow (&table_obstack, '\n');  
1965    obstack_fgrow3 (&table_obstack, "\    obstack_fgrow3 (&table_obstack, "\
1966  /* %s, made from %s\n\  /* %s, made from %s\n\
1967     by GNU bison %s.  */\n\     by GNU bison %s.  */\n\

Legend:
Removed from v.1.72.2.12  
changed lines
  Added in v.1.72.2.13

savannah-hackers-public@gnu.org
ViewVC Help
Powered by ViewVC 1.1.26