-*- outline -*-
-* src/reader.c
-Check and cleanup for CPP-out code. []
+* NEWS
+Sort from 1.31 NEWS.
-* src/output.c
-Check and cleanup for CPP-out code. []
+* Prologue
+The %union is declared after the user C declarations. It can be
+a problem if YYSTYPE is declared after the user part. []
-* Broken options ?.
-** %no-lines []
+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.
+
+* --graph
+Show reductions. []
+
+* Broken options ?
+** %no-lines [ok]
** %no-parser []
** %pure-parser []
** %semantic-parser []
*** %name-prefix []
** Skeleton strategy. []
-Useful for %no_parser. []
+Must we keep %no-parser?
+ %token-table?
*** New skeletons. []
-* src/macrotab.[ch]
-Removing warnings when compiling. (gcc-warnings). [ok]
-
* src/print_graph.c
Find the best graph parameters. []
* doc/bison.texinfo
-Update informations about ERROR_VERBOSE. []
-Add explainations about skeleton muscles. []
-Add explainations about %skeleton. []
+** Update
+informations about ERROR_VERBOSE. []
+** Add explainations about
+skeleton muscles. []
+%skeleton. []
-* testsuite.
-** tests/reduce.at [ok]
+* testsuite
+** tests/pure-parser.at []
+New tests.