-2000-09-20 Akim Demaille <akim@epita.fr>
+2000-10-02 Akim Demaille <akim@epita.fr>
+
+ * lib/xstrdup.c: New file, from the fileutils.
+ * src/reader.c (parse_token_decl, get_type_name, parse_type_decl)
+ (parse_assoc_decl, parse_thong_decl, get_type): Use `xstrdup'
+ 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
+ former CPP macros `RIGHT_ASSOC', `LEFT_ASSOC' and `NON_ASSOC' with
+ `right_assoc', `left_assoc' and `non_assoc'.
+ Adjust all dependencies.
+ * src/reader.c: Formatting changes.
+ (LTYPESTR): Don't define it, use it as a literal in
+ `reader_output_yylsp'.
+ * src/symtab.h (symbol_class): New enum type which replaces the
+ former CPP macros `SUNKNOWN', `STOKEN and `SNTERM' with
+ `sunknown', `stoken and `snterm'.
+
+2000-10-02 Akim Demaille <akim@epita.fr>
+
+ * src/getargs.c (fixed_outfiles): Rename as...
+ (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
+ Bison's `allocate.c' and `alloc.h'. This patch was surprisingly
+ difficult and introduced a lot of core dump. It turns out that
+ Bison used an implementation of `xmalloc' based on `calloc', and
+ at various places it does depend upon the initialization to 0. I
+ have not tried to isolate the pertinent places, and all the former
+ calls to Bison's `xmalloc' are now using `XCALLOC'. Someday,
+ someone should address this issue.
+
+ * src/allocate.c, src/alloc.h, m4/bison-decl.m4: Remove.
+ * lib/xmalloc.c, lib/xalloc.h, m4/malloc.m4, m4/realloc.m4: New
+ files.
+ Adjust dependencies.
+ * src/warshall.h: New file.
+ Propagate.
+
+2000-10-02 Akim Demaille <akim@epita.fr>
+
+ Various anti-`extern in *.c' changes.
+
+ * src/system.h: Include `assert.h'.
+
+
+2000-10-02 Akim Demaille <akim@epita.fr>
+
+ * src/state.h (nstates, final_state, first_state, first_shift)
+ (first_reduction): Move their exportation from here...
+ * src/LR0.h: to here.
+ Adjust dependencies.
+ * src/getargs.c (statisticsflag): New variable.
+ Add support for `--statistics'.
+ Adjust dependencies.
+
+ 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.
+ Propagate its use.
+ * src/print.c: Formatting and ordering changes.
+ (verbose, terse): Replace with...
+ (print_results): this new function.
+ Adjust dependencies.
+
+
+2000-10-02 Akim Demaille <akim@epita.fr>
+
+ * src/conflicts.c (conflict_report): New function.
+ (conflict_log, verbose_conflict_log): Replace with...
+ (print_conflicts): this function.
+ Adjust dependencies.
+ * 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.
+ Propagate its inclusion.
+ * src/reduce.c: Topological sort and other formatting changes.
+ (bool, TRUE, FALSE): Move their definition to...
+ * src/system.h: here.
+
+
+2000-10-02 Akim Demaille <akim@epita.fr>
+
+ * src/files.c: Formatting changes.
+ (tryopen, tryclose, openfiles): Rename as...
+ (xfopen, xfclose, open_files): this.
+ (stringappend): static.
+ * 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.
+ Propagate its use instead of tedious list of `extern' and
+ prototypes.
+ * 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.
+ * src/reader.c: Adjust.
+ * src/lex.c: Formatting changes.
+ (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
+ defined as a `int[]' in `reader.c'. For consistency with the
+ other output tables, `user_toknums' is now defined as a table of
+ shorts.
+
+ * src/reader.c (user_toknums): Be a short table instead of an int
+ table.
+ Adjust dependencies.
+
+ Factor the short table outputs.
+
+ * src/output.c (output_short_table): New function.
+ * src/output.c (output_gram, output_stos, output_rule_data)
+ (output_base, output_table, output_check): Use it.
+
+2000-10-02 Akim Demaille <akim@epita.fr>
+
+ * src/output.c (output): Topological sort of the functions, in
+ order to get rid of the `static' prototypes.
+ No longer use `register'.
+ * src/output.h: New file.
+ Propagate its inclusion in files explicitly prototyping functions
+ from output.c.
+
+2000-09-21 Akim Demaille <akim@epita.fr>
+
+ * src/atgeneral.m4: Update from Autoconf.
+
+2000-09-21 Akim Demaille <akim@epita.fr>
* src/closure.h: New file.
* src/closure.c: Formatting changes, topological sort over the