]> git.saurik.com Git - bison.git/blobdiff - TODO
TODO: yyfmt.
[bison.git] / TODO
diff --git a/TODO b/TODO
index 918ca350589676dd9ff0dff7a67fb1c91d2d564a..9dbd6b423e4cd88e45eab24c78175e22458c18f6 100644 (file)
--- a/TODO
+++ b/TODO
@@ -71,6 +71,27 @@ really possible?  The test suite does not exercise this case.
 This shows that it would be interesting to manage to install skeleton
 coverage analysis to the test suite.
 
+** Table definitions
+It should be very easy to factor the definition of the various tables,
+including the separation bw declaration and definition.  See for
+instance b4_table_define in lalr1.cc.  This way, we could even factor
+C vs. C++ definitions.
+
+* From lalr1.cc to yacc.c
+** Single stack
+Merging the three stacks in lalr1.cc simplified the code, prompted for
+other improvements and also made it faster (probably because memory
+management is performed once instead of three times).  I suggest that
+we do the same in yacc.c.
+
+** yysyntax_error
+In lalr1.cc we invoke it with the translated lookahead (yytoken), and
+yacc.c uses yychar.  I don't see why.
+
+** yysyntax_error
+The use of switch to select yyfmt in lalr1.cc seems simpler than
+what's done in yacc.c.
+
 * Header guards
 
 From Franc,ois: should we keep the directory part in the CPP guard?
@@ -89,10 +110,6 @@ find something clean (not like YYLSP_NEEDED...).
 Before releasing, make sure the documentation ("Understanding your
 parser") refers to the current `output' format.
 
-* lalr1.cc
-** I18n
-Catch up with yacc.c.
-
 * Report
 
 **  GLR