+* Header guards
+
+En rentrant chez moi, je relance un `make' sur un projet que j'ai avancé
+ailleurs durant la semaine. Le système que j'utilise ici est un peu plus
+à jour que l'autre, et le Bison est probablement plus récent itou. Ici,
+c'est la version 1.33. J'obtiens, en montrant un peu plus que nécessaire:
+
+---------------------------------------------------------------------->
+cd ~/fpub/pyrexpp/Pyrexpp/
+LANGUAGE= /usr/bin/make MAKEFLAGS='-k -j2'
+/usr/bin/make -C .. install
+make[1]: Entre dans le répertoire `/bpi/titan/home/pinard/fpub/pyrexpp'
+install -g bpi -m 2775 -d Prépare-titan
+chmod g+sw Prépare-titan
+touch Prépare-titan/.estampille
+/usr/bin/gcc -fPIC -I/usr/include/python2.2 -IPrépare-titan -g -c -o Prépare-titan/ctools.o ctools.c
+bison -d -o Prépare-titan/c-parser.c c-parser.y
+/usr/bin/gcc -fPIC -I/usr/include/python2.2 -IPrépare-titan -g -c -o Prépare-titan/c-parser.o Prépare-titan/c-parser.c
+flex -t c-scanner.l | grep -v '^#line' > Prépare-titan/c-scanner.c
+/usr/bin/gcc -fPIC -I/usr/include/python2.2 -IPrépare-titan -g -c -o Prépare-titan/c-scanner.o Prépare-titan/c-scanner.c
+In file included from Prépare-titan/c-scanner.c:547:
+Prépare-titan/c-parser.h:1: warning: garbage at end of `#ifndef' argument
+Prépare-titan/c-parser.h:2: warning: missing white space after `#define BISON_PR'
+/usr/bin/gcc -o Prépare-titan/ctools.so Prépare-titan/ctools.o Prépare-titan/c-scanner.o -shared -lm
+python setup.py --quiet build
+install -g bpi -m 664 Prépare-titan/ctools.so /bpi/titan/local/lib/python2.2/site-packages/Pyrexpp
+python setup.py --quiet install
+make[1]: Quitte le répertoire `/bpi/titan/home/pinard/fpub/pyrexpp'
+[...]
+----------------------------------------------------------------------<
+
+Diagnostics que je n'avais sûrement pas, plus tôt en journée, sur l'autre
+système. En allant voir, je trouve:
+
+---------------------------------------------------------------------->
+#ifndef BISON_PRÉPARE_TITAN_C_PARSER_H
+# define BISON_PRÉPARE_TITAN_C_PARSER_H
+
+# ifndef YYSTYPE
+# define YYSTYPE int
+# endif
+# define IDENTIFIER 257
+[...]
+
+extern YYSTYPE yylval;
+
+#endif /* not BISON_PRÉPARE_TITAN_C_PARSER_H */
+----------------------------------------------------------------------<
+
+Le pré-processeur de C n'est pas à l'aise avec les caractères accentués
+dans les identificateurs.
+
+Bon, de mon expérience, il n'a jamais été nécessaire de protéger un fichier
+`.h' de Bison ou Yacc contre de multiples inclusions, mais si ça été
+fait, je présume qu'il y avait un problème réel et convaincant à régler,
+et qu'il ne s'agit pas d'une simple fantaisie: je ne mettrai donc pas
+ça en doute. Mais le choix du nom de l'identificateur laisse à désirer,
+tu en conviendras :-). Et faut-il vraiment y inclure le répertoire?
+
+
+* URGENT: Documenting C++ output
+Write a first documentation for C++ output.
+
+
+* Documentation
+Before releasing, make sure the documentation refers to the current
+`output' format.
+
+
+* Error messages
+Some are really funky. For instance
+
+ type clash (`%s' `%s') on default action
+
+is really weird. Revisit them all.
+
+
+* read_pipe.c
+This is not portable to DOS for instance. Implement a more portable
+scheme. Sources of inspiration include GNU diff, and Free Recode.
+
+
+* value_components_used
+Was defined but not used: where was it coming from? It can't be to
+check if %union is used, since the user is free to $<foo>n on her
+union, doesn't she?
+
+
+* Report
+
+** GLR
+How would Paul like to display the conflicted actions? In particular,
+what when two reductions are possible on a given lookahead, but one is
+part of $default. Should we make the two reductions explicit, or just
+keep $default? See the following point.
+
+** Disabled Reductions
+See `tests/conflicts.at (Defaulted Conflicted Reduction)', and decide
+what we want to do.
+
+** Documentation
+Extend with error productions. The hard part will probably be finding
+the right rule so that a single state does not exhibit too many yet
+undocumented ``features''. Maybe an empty action ought to be
+presented too. Shall we try to make a single grammar with all these
+features, or should we have several very small grammars?
+
+** --report=conflict-path
+Provide better assistance for understanding the conflicts by providing
+a sample text exhibiting the (LALR) ambiguity. See the paper from
+DeRemer and Penello: they already provide the algorithm.
+
+
+* Extensions
+
+** yyerror, yysymprint interface
+It should be improved, in particular when using Bison features such as
+locations, and YYPARSE_PARAMS. For the time being, it is recommended
+to #define yyerror and yyprint to steal internal variables...
+
+** 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:
+
+- when --yacc, this must be flagged as an error. Don't make it fatal
+ though.
+
+- The #line must now appear *inside* the definition of yystype.
+ Something like
+
+ {
+ #line 12 "foo.y"
+ int ival;
+ #line 23 "foo.y"
+ char *sval;
+ }
+
+* Unit rules
+Maybe we could expand unit rules, i.e., transform
+
+ exp: arith | bool;
+ arith: exp '+' exp;
+ bool: exp '&' exp;
+
+into
+
+ exp: exp '+' exp | exp '&' exp;
+
+when there are no actions. This can significantly speed up some
+grammars. I can't find the papers. In particular the book `LR
+parsing: Theory and Practice' is impossible to find, but according to
+`Parsing Techniques: a Practical Guide', it includes information about
+this issue. Does anybody have it?
+
+
+
+* Documentation
+
+** History/Bibliography
+Some history of Bison and some bibliography would be most welcome.
+Are there any Texinfo standards for bibliography?
+
+
+
+* Java, Fortran, etc.
+
+
+** Java
+
+There are a couple of proposed outputs:
+
+- BYACC/J
+ which is based on Byacc.
+ <http://troi.lincom-asg.com/~rjamison/byacc/>
+
+- Bison Java
+ which is based on Bison.
+ <http://www.goice.co.jp/member/mo/hack-progs/bison-java.html>
+
+Sébastien Serrurier (serrur_s@epita.fr) is working on this: he is
+expected to contact the authors, design the output, and implement it
+into Bison.
+
+
+* Coding system independence
+Paul notes:
+
+ Currently Bison assumes 8-bit bytes (i.e. that UCHAR_MAX is
+ 255). It also assumes that the 8-bit character encoding is
+ the same for the invocation of 'bison' as it is for the
+ invocation of 'cc', but this is not necessarily true when
+ people run bison on an ASCII host and then use cc on an EBCDIC
+ host. I don't think these topics are worth our time
+ addressing (unless we find a gung-ho volunteer for EBCDIC or
+ PDP-10 ports :-) but they should probably be documented
+ somewhere.
+
+
+
+* --graph
+Show reductions. []
+
+* Broken options ?
+** %no-lines [ok]
+** %no-parser []
+** %pure-parser []
+** %token-table []
+** Options which could use parse_dquoted_param ().
+Maybe transferred in lex.c.
+*** %skeleton [ok]
+*** %output []
+*** %file-prefix []
+*** %name-prefix []
+
+** Skeleton strategy. []
+Must we keep %no-parser?
+ %token-table?
+*** New skeletons. []