X-Git-Url: https://git.saurik.com/bison.git/blobdiff_plain/a2e3fa776815138196cb0fec9d164f7e23b93119..2c086d295967986a261ef6c2729b9edb62aac451:/TODO diff --git a/TODO b/TODO index 634082ab..9dbd6b42 100644 --- a/TODO +++ b/TODO @@ -77,6 +77,21 @@ 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? @@ -95,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