From 6cbfbcc58c425fef062c4d759e5d43c56a9a194e Mon Sep 17 00:00:00 2001 From: Akim Demaille Date: Thu, 2 May 2002 09:25:54 +0000 Subject: * configure.in (AC_INIT): Bump to 1.49b. (AM_INIT_AUTOMAKE): Short invocation. --- TODO | 48 +++++------------------------------------------- 1 file changed, 5 insertions(+), 43 deletions(-) (limited to 'TODO') diff --git a/TODO b/TODO index 43405335..a6b677f6 100644 --- a/TODO +++ b/TODO @@ -1,49 +1,11 @@ -*- outline -*- -* URGENT: Prologue -The %union is declared after the user C declarations. It can be -a problem if YYSTYPE is declared after the user part. - -Actually, the real problem seems that the %union ought to be output -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. +* Several %unions +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. When implementing multiple-%union support, bare the following in mind: -- cgit v1.2.1