X-Git-Url: https://git.saurik.com/bison.git/blobdiff_plain/71da9eeacc05af817ae0eb2d905d74e774aa842d..8f52a1e790ca98162fc0625d81f3a032800d025e:/ChangeLog diff --git a/ChangeLog b/ChangeLog index cda73b7a..460b2479 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,81 @@ +2000-10-02 Akim Demaille + + * src/getargs.c (getargs): Don't dump `--help' on unrecognized + options. + +2000-10-02 Akim Demaille + + * src/derives.c, src/print.c, src/reduce.c: To ease the + translation, move some `\n' out of the translated strings. + +2000-10-02 Akim Demaille + + The location tracking mechanism is precious for parse error + messages. Nevertheless, it is enabled only when `@n' is used in + the grammar, which is a different issue (you can use it in error + message, but not in the grammar per se). Therefore, there should + be another means to enable it. + + * src/getargs.c (getargs): Support `--locations'. + (usage): Report it. + * src/getargs.h (locationsflag): Export it. + * src/lex.c (percent_table): Support `%locations'. + * src/reader.c (yylsp_needed): Remove this variable, now replaced + with `locationsflag'. + * doc/bison.texinfo: Document `--locations' and `%locations'. + Sort the options. + * tests/calc.m4: Test it. + + For regularity of the names, replace each + (nolineflag, toknumflag, rawtokenumflag, noparserflag): with... + (no_lineflag, token_tableflag, rawflag, no_parserflag): this. + In addition replace each `flag' with `_flag'. + +2000-10-02 Akim Demaille + + Also test parse error messages, including with YYERROR_VERBOSE. + + * tests/calc.m4 (calc.y): Add support for `exp = exp' (non + associative). + Use it to check the computations. + Use it to check `nonassoc' is honored. + (AT_DATA_CALC_Y): Equip `calc.y' with YYERROR_VERBOSE when passed + `--yyerror-verbose'. + (_AT_CHECK_CALC): Adjust to this option. + (_AT_CHECK_CALC_ERROR): New macro to check parse error messages. + +2000-10-02 Akim Demaille + + Test also `--verbose', `--defines' and `--name-prefix'. Testing + the latter demonstrates a flaw in the handling of non debugging + parsers introduced by myself on 2000-03-16: `#define yydebug 0' + was used in order to simplify: + + #if YYDEBUG + if (yydebug) + { + ... + } + #endif + + into + + if (yydebug) + { + ... + } + + unfortunately this leads to a CPP conflict when + `--name-prefix=foo' is used since it produces `#define yydebug + foodebug'. + + * src/bison.s1 [!YYDEBUG]: Do not define yydebug. + (YYDPRINTF): New macro. + Spread its use. + * tests/calc.m4 (AT_CHECK_CALC): Do require a title, build it from + the bison options. + Also test `--verbose', `--defines' and `--name-prefix'. + 2000-10-02 Akim Demaille Improve the readability of the produced parsers. @@ -10,7 +88,6 @@ New variable, `number_of_dollar_signs', to check there's exactly one `$' in the parser skeleton. - 2000-10-02 Akim Demaille * lib/xstrdup.c: New file, from the fileutils. @@ -19,7 +96,6 @@ instead of strlen + xmalloc + strcpy. * src/symtab.c (copys): Remove, use xstrdup instead. - 2000-10-02 Akim Demaille * src/gram.h (associativity): New enum type which replaces the @@ -39,7 +115,6 @@ (yaccflag): for consistency and accuracy. Adjust dependencies. - 2000-10-02 Akim Demaille Use the more standard files `xalloc.h' and `xmalloc.c' instead of @@ -64,7 +139,6 @@ * src/system.h: Include `assert.h'. - 2000-10-02 Akim Demaille * src/state.h (nstates, final_state, first_state, first_shift) @@ -77,13 +151,11 @@ Remove a lot of now useless `extern' statements in most files. - 2000-10-02 Akim Demaille * src/LR0.h: New file. Propagate its use. - 2000-10-02 Akim Demaille * src/print.h: New file. @@ -93,7 +165,6 @@ (print_results): this new function. Adjust dependencies. - 2000-10-02 Akim Demaille * src/conflicts.c (conflict_report): New function. @@ -103,14 +174,12 @@ * src/conflicts.h: New file. Propagate its inclusion. - 2000-10-02 Akim Demaille * src/nullable.h: New file. Propagate its inclusion. * src/nullable.c: Formatting changes. - 2000-10-02 Akim Demaille * src/reduce.h: New file. @@ -119,7 +188,6 @@ (bool, TRUE, FALSE): Move their definition to... * src/system.h: here. - 2000-10-02 Akim Demaille * src/files.c: Formatting changes. @@ -129,7 +197,6 @@ * src/files.h: Complete the list of exported symbols. Propagate its use. - 2000-10-02 Akim Demaille * src/reader.h: New file. @@ -138,7 +205,6 @@ * src/reader.c: Formatting changes, topological sort, s/register//. - 2000-10-02 Akim Demaille * src/lex.h: Prototype `lex.c' exported functions. @@ -147,21 +213,18 @@ (safegetc): Rename as... (xgetc): this. - 2000-10-02 Akim Demaille * src/lalr.h: New file. Propagate its inclusion instead of prototypes and `extern'. * src/lalr.c: Formatting changes, topological sorting etc. - 2000-10-02 Akim Demaille * src/output.c (token_actions): Introduce a temporary array, YYDEFACT, that makes it possible for this function to use output_short_table. - 2000-10-02 Akim Demaille `user_toknums' is output as a `short[]' in `output.c', while it is