X-Git-Url: https://git.saurik.com/bison.git/blobdiff_plain/1e0348079323bc0dcf023e60873c976c77ece418..98a345a21936699f675d53a90e0b93bdb5e18e37:/TODO diff --git a/TODO b/TODO index a9ec3083..376ec1d7 100644 --- a/TODO +++ b/TODO @@ -15,8 +15,6 @@ I have seen messages like the following from GCC. :0: fatal error: opening dependency file .deps/libltdl/argz.Tpo: No such file or directory -** Document %define assert - ** Discuss about %printer/%destroy in the case of C++. It would be very nice to provide the symbol classes with an operator<< and a destructor. Unfortunately the syntax we have chosen for @@ -56,6 +54,22 @@ number for the error token, which POSIX wants to be 256, but which Bison might renumber if the user used number 256. Keep fix and doc? Throw away? +Also, why don't we output the token name of the error token in the +output? It is explicitly skipped: + + /* Skip error token and tokens without identifier. */ + if (sym != errtoken && id) + +Of course there are issues with name spaces, but if we disable we have +something which seems to be more simpler and more consistent instead +of the special case YYERRCODE. + + enum yytokentype { + error = 256, + // ... + }; + + We could (should?) also treat the case of the undef_token, which is numbered 257 for yylex, and 2 internal. Both appear for instance in toknum: @@ -157,12 +171,8 @@ 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. +The code bw glr.c and yacc.c is really alike, we can certainly factor +some parts. * Header guards @@ -296,7 +306,8 @@ this issue. Does anybody have it? Some history of Bison and some bibliography would be most welcome. Are there any Texinfo standards for bibliography? - +** %printer +Wow, %printer is not documented. Clearly mark YYPRINT as obsolete. * Java, Fortran, etc.