X-Git-Url: https://git.saurik.com/bison.git/blobdiff_plain/84b113cd22554d6660b94033199d148138b3ad33..4aacc3a71d90a41ff446d32e573e5212b1779a10:/TODO diff --git a/TODO b/TODO index 301bfa71..13fab6e8 100644 --- a/TODO +++ b/TODO @@ -1,44 +1,68 @@ -*- outline -*- -* src/reader.c -Complete parse_skel_decl () with parse_dquoted_param (). [ok] -Check and cleanup for CPP-out code. [] - -* src/output.c -Remove %%verbose which is useless. [ok] - -* Broken options. -%no-lines [] -%no-parser [] -%pure-parser ? [] -%semantic-parser [] -%token-table [] -** which could use parse_dquoted_param (). -%skeleton [ok] -%output [] -%file-prefix [] -%name-prefix [] - -Cleanup dirty CPP-out code. [] -** Output sub-skeleton files. [] -Useful for %no_parser. [] -*** New skeleton. [] - -* src/macrotab.[ch] -Removing warnings when compiling. (gcc-warnings). [ok] +* NEWS +Sort from 1.31 NEWS. + +* Prologue +The %union is declared after the user C declarations. It can be +a problem if YYSTYPE is declared after the user part. [] + +Actually, the real problem seems that the %union ought to be output +where it was defined. For instance, in gettext/intl/plural.y, we +have: + + %{ + ... + #include "gettextP.h" + ... + %} + + %union { + unsigned long int num; + enum operator op; + struct expression *exp; + } + + %{ + ... + static int yylex PARAMS ((YYSTYPE *lval, const char **pexp)); + ... + %} + +Where the first part defines struct expression, the second uses it to +define YYSTYPE, and the last uses YYSTYPE. Only this order is valid. + +* --graph +Show reductions. [] + +* Broken options ? +** %no-lines [ok] +** %no-parser [] +** %pure-parser [] +** %semantic-parser [] +** %token-table [] +** Options which could use parse_dquoted_param (). +Maybe transfered in lex.c. +*** %skeleton [ok] +*** %output [] +*** %file-prefix [] +*** %name-prefix [] + +** Skeleton strategy. [] +Must we keep %no-parser? + %token-table? +*** New skeletons. [] * src/print_graph.c Find the best graph parameters. [] * doc/bison.texinfo -Update informations about ERROR_VERBOSE. [] -Add explainations about skeleton muscles. [] -Add explainations about %skeleton. [] - -* testsuite. -** tests/calc.at -Remove --yyerror-verbose. [] -** tests/torture.at -Remove --yyerror-verbose. [ok] -** tests/calc.at -Test --error-verbose. [] +** Update +informations about ERROR_VERBOSE. [] +** Add explainations about +skeleton muscles. [] +%skeleton. [] + +* testsuite +** tests/pure-parser.at [] +New tests.