X-Git-Url: https://git.saurik.com/bison.git/blobdiff_plain/27cb5b590124894edc3e4bee11737972e56d2dbe..aea10ef46f726371c21e99d2bfb78c1ab891f73d:/TODO?ds=sidebyside diff --git a/TODO b/TODO index 918ca350..9dbd6b42 100644 --- 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