/[bison]/bison/TODO
ViewVC logotype

Diff of /bison/TODO

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

revision 1.51 by akim, Wed Apr 24 12:04:53 2002 UTC revision 1.52 by akim, Thu May 2 09:25:54 2002 UTC
# Line 1  Line 1 
1  -*- outline -*-  -*- outline -*-
2    
3    
4  * URGENT: Prologue  * Several %unions
5  The %union is declared after the user C declarations. It can be  I think this is a pleasant (but useless currently) feature, but in the
6  a problem if YYSTYPE is declared after the user part.  future, I want a means to %include other bits of grammars, and _then_
7    it will be important for the various bits to define their needs in
8  Actually, the real problem seems that the %union ought to be output  %union.
 where it was defined.  For instance, in gettext/intl/plural.y, we  
 have:  
   
         %{  
         ...  
         #include "gettextP.h"  
         ...  
         %}  
   
         %union {  
           unsigned long int num;  
           enum operator op;  
           struct expression *exp;  
         }  
   
         %{  
         ...  
         static int yylex PARAMS ((YYSTYPE *lval, const char **pexp));  
         ...  
         %}  
   
 Where the first part defines struct expression, the second uses it to  
 define YYSTYPE, and the last uses YYSTYPE.  Only this order is valid.  
   
 Note that we have the same problem with GCC.  
   
 I suggest splitting the prologue into pre-prologue and post-prologue.  
 The reason is that:  
   
 1. we keep language independance as it is the skeleton that joins the  
 two prologues (there is no need for the engine to encode union yystype  
 and to output it inside the prologue, which breaks the language  
 independance of the generator)  
   
 2. that makes it possible to have several %union in input.  I think  
 this is a pleasant (but useless currently) feature, but in the future,  
 I want a means to %include other bits of grammars, and _then_ it will  
 be important for the various bits to define their needs in %union.  
9    
10  When implementing multiple-%union support, bare the following in mind:  When implementing multiple-%union support, bare the following in mind:
11    

Legend:
Removed from v.1.51  
changed lines
  Added in v.1.52

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