+2000-10-02 Akim Demaille <akim@epita.fr>
+
+ * src/getargs.c (getargs): Don't dump `--help' on unrecognized
+ options.
+
+2000-10-02 Akim Demaille <akim@epita.fr>
+
+ * 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 <akim@epita.fr>
+
+ 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 <akim@epita.fr>
+
+ 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 <akim@epita.fr>
+
+ 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 <akim@epita.fr>
Improve the readability of the produced parsers.
New variable, `number_of_dollar_signs', to check there's exactly
one `$' in the parser skeleton.
-
2000-10-02 Akim Demaille <akim@epita.fr>
* lib/xstrdup.c: New file, from the fileutils.
instead of strlen + xmalloc + strcpy.
* src/symtab.c (copys): Remove, use xstrdup instead.
-
2000-10-02 Akim Demaille <akim@epita.fr>
* src/gram.h (associativity): New enum type which replaces the
(yaccflag): for consistency and accuracy.
Adjust dependencies.
-
2000-10-02 Akim Demaille <akim@epita.fr>
Use the more standard files `xalloc.h' and `xmalloc.c' instead of
* src/system.h: Include `assert.h'.
-
2000-10-02 Akim Demaille <akim@epita.fr>
* src/state.h (nstates, final_state, first_state, first_shift)
Remove a lot of now useless `extern' statements in most files.
-
2000-10-02 Akim Demaille <akim@epita.fr>
* src/LR0.h: New file.
Propagate its use.
-
2000-10-02 Akim Demaille <akim@epita.fr>
* src/print.h: New file.
(print_results): this new function.
Adjust dependencies.
-
2000-10-02 Akim Demaille <akim@epita.fr>
* src/conflicts.c (conflict_report): New function.
* src/conflicts.h: New file.
Propagate its inclusion.
-
2000-10-02 Akim Demaille <akim@epita.fr>
* src/nullable.h: New file.
Propagate its inclusion.
* src/nullable.c: Formatting changes.
-
2000-10-02 Akim Demaille <akim@epita.fr>
* src/reduce.h: New file.
(bool, TRUE, FALSE): Move their definition to...
* src/system.h: here.
-
2000-10-02 Akim Demaille <akim@epita.fr>
* src/files.c: Formatting changes.
* src/files.h: Complete the list of exported symbols.
Propagate its use.
-
2000-10-02 Akim Demaille <akim@epita.fr>
* src/reader.h: New file.
* src/reader.c: Formatting changes, topological sort,
s/register//.
-
2000-10-02 Akim Demaille <akim@epita.fr>
* src/lex.h: Prototype `lex.c' exported functions.
(safegetc): Rename as...
(xgetc): this.
-
2000-10-02 Akim Demaille <akim@epita.fr>
* 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 <akim@epita.fr>
* 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 <akim@epita.fr>
`user_toknums' is output as a `short[]' in `output.c', while it is