]> git.saurik.com Git - bison.git/blobdiff - TODO
* src/scan-gram.l (SC_PROLOGUE): Don't eat characters amongst
[bison.git] / TODO
diff --git a/TODO b/TODO
index 607366b3001f18767fe751ecd4bcc47f36e0a8b9..d37250321a8609dc6aa4b4627202902cf2551b04 100644 (file)
--- a/TODO
+++ b/TODO
@@ -1,17 +1,38 @@
 -*- outline -*-
 
+* URGENT: Documenting C++ output
+Write a first documentation for C++ output.
+
+* 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?
+
+* yyerror, yyprint 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...
+
 * documentation
-Explain $axiom (and maybe change its name: BTYacc names it goal).
+Explain $axiom (and maybe change its name: BTYacc names it `goal',
+byacc `$accept' probably based on AT&T Yacc, Meta `Start'...).
 Complete the glossary (item, axiom, ?).
 
-* report documentation
+* Error messages
+Some are really funky.  For instance
+
+       type clash (`%s' `%s') on default action
+
+is really weird.  Revisit them all.
+
+* Report documentation
 Extend with error.  The hard part will probably be finding the right
 rule so that a single state does not exhibit to 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?
 
-* documentation
+* Documentation
 Some history of Bison and some bibliography would be most welcome.
 Are there any Texinfo standards for bibliography?
 
@@ -38,7 +59,8 @@ When implementing multiple-%union support, bare the following in mind:
 
 * --report=conflict-path
 Provide better assistance for understanding the conflicts by providing
-a sample text exhibiting the (LALR) ambiguity.
+a sample text exhibiting the (LALR) ambiguity.  See the paper from
+DeRemer and Penello: they already provide the algorithm.
 
 * Coding system independence
 Paul notes:
@@ -136,7 +158,10 @@ into
        exp: exp '+' exp | exp '&' exp;
 
 when there are no actions.  This can significantly speed up some
-grammars.
+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?
 
 * Stupid error messages
 An example shows it easily:
@@ -162,11 +187,6 @@ src/bison/tests % cd ./testsuite.dir/51
 tests/testsuite.dir/51 % echo "()" | ./calc
 1.2-1.3: parse error, unexpected ')', expecting error or "number" or '-' or '('
 
-* yyerror, yyprint 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...
-
 * 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.
@@ -276,9 +296,6 @@ should recognize these, and preserve them.
 See if we can integrate backtracking in Bison.  Contact the BTYacc
 maintainers.
 
-* Automaton report
-Display more clearly the lookaheads for each item.
-
 * RR conflicts
 See if we can use precedence between rules to solve RR conflicts.  See
 what POSIX says.
@@ -296,19 +313,8 @@ Rewrite the reader in Flex/Bison.  There will be delicate parts, in
 particular, expect the scanner to be hard to write.  Many interesting
 features cannot be implemented without such a new reader.
 
-* Presentation of the report file
-From: "Baum, Nathan I" <s0009525@chelt.ac.uk>
-Subject: Token Alias Bug
-To: "'bug-bison@gnu.org'" <bug-bison@gnu.org>
-
-I've also noticed something, that whilst not *wrong*, is inconvienient: I
-use the verbose mode to help find the causes of unresolved shift/reduce
-conflicts. However, this mode insists on starting the .output file with a
-list of *resolved* conflicts, something I find quite useless. Might it be
-possible to define a -v mode, and a -vv mode -- Where the -vv mode shows
-everything, but the -v mode only tells you what you need for examining
-conflicts? (Or, perhaps, a "*** This state has N conflicts ***" marker above
-each state with conflicts.)
+I'm on it!  I already have a proto that parses (but the actions are
+not fully written yet).  -- Akim
 
 * $undefined
 From Hans:
@@ -334,9 +340,6 @@ a Bison option where every typed default rule is explicitly written out
 
 Note: Robert Anisko handles this.  He knows how to do it.
 
-* Documenting C++ output
-Write a first documentation for C++ output.
-
 * Warnings
 It would be nice to have warning support.  See how Autoconf handles
 them, it is fairly well described there.  It would be very nice to
@@ -375,6 +378,10 @@ at the proper place to bison.simple. Ditto for YYACT_PROLOGUE.
 I was wondering what you think about adding YYACT_PROLOGUE/EPILOGUE
 to bison. If you're interested, I'll work on a patch.
 
+* Move to Graphviz
+Well, VCG seems really dead.  Move to Graphviz instead.  Also, equip
+the parser with a means to create the (visual) parse tree.
+
 -----
 
 Copyright (C) 2001, 2002 Free Software Foundation, Inc.