]> git.saurik.com Git - bison.git/blobdiff - TODO
Define the "identifier" of a symbol.
[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.
 
 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?
 * 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.
 
 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
 * Report
 
 **  GLR