+2002-03-04 Robert Anisko <robert@lrde.epita.fr>
+
+ * src/reader.c: Warn about lacking semi-colons, do not complain.
+
+2002-03-04 Robert Anisko <robert@lrde.epita.fr>
+
+ * data/bison.c++: Remove a debug line.
+
+2002-03-04 Robert Anisko <robert@lrde.epita.fr>
+
+ * data/bison.c++: Unmerge value as yylval and value as yyval. Unmerge
+ location as yylloc and location as yyloc. Use YYLLOC_DEFAULT, and
+ provide a default implementation.
+
+2002-03-04 Akim Demaille <akim@epita.fr>
+
+ * tests/input.at (Invalid $n, Invalid @n): Add the ending `;'.
+ * tests/output.at (AT_CHECK_OUTPUT): Likewise.
+ * tests/headers.at (AT_TEST_CPP_GUARD_H): Ditto.
+ * tests/semantic.at (Parsing Guards): Similarly.
+ * src/reader.at (readgram): Complain if the last rule is not ended
+ with a semi-colon.
+
+2002-03-04 Akim Demaille <akim@epita.fr>
+
+ * src/warshall.h, src/warshall.c (bitmatrix_print): Move to...
+ * src/closure.c: here.
+ (set_firsts): Use bitsetv_reflexive_transitive_closure instead of
+ RTC.
+ * src/warshall.h, src/warshall.c: Remove.
+ * tests/sets.at (Broken Closure): Adjust.
+
+2002-03-04 Akim Demaille <akim@epita.fr>
+
+ * src/output.c (output_skeleton): tempdir is const.
+ bytes_read is unused.
+
+2002-03-04 Akim Demaille <akim@epita.fr>
+
+ * lib/bbitset.h, lib/bitset.c, lib/bitset.h, lib/bitsetv.c,
+ * lib/bitsetv.h, lib/ebitset.c, lib/lbitset.c, lib/sbitset.c:
+ Update.
+ From Michael Hayes.
+
+2002-03-04 Akim Demaille <akim@epita.fr>
+
+ * src/closure.c (closure): `r' is unused.
+
+2002-03-04 Akim Demaille <akim@epita.fr>
+
+ * tests/sets.at (Broken Closure): Add the ending `;'.
+ * src/reader.at (readgram): Complain if a rule is not ended with a
+ semi-colon.
+
+2002-03-04 Akim Demaille <akim@epita.fr>
+
+ * src/conflicts.c (set_conflicts): Use bitset_disjoint_p.
+ (count_sr_conflicts): Use bitset_count.
+ * src/reduce.c (inaccessable_symbols): Ditto.
+ (bits_size): Remove.
+ * src/warshall.h, src/warshall.c: Convert to bitsetv.
+
+2002-03-04 Akim Demaille <akim@epita.fr>
+
+ * src/closure.c, src/conflicts.c, src/lalr.c, src/print.c,
+ * src/reduce.c: Remove the `bitset_zero's following the
+ `bitset_create's, as now it is performed by the latter.
+
+2002-03-04 Akim Demaille <akim@epita.fr>
+
+ * lib/bitset.c, lib/bitset.h, lib/bitsetv.c, lib/bitsetv.h,
+ * lib/ebitset.c, lib/ebitset.h, lib/lbitset.c, lib/lbitset.h,
+ * lib/sbitset.c, lib/sbitset.h, lib/bbitset.h: Update from the
+ latest sources from Michael.
+
+2002-03-04 Akim Demaille <akim@epita.fr>
+
+ * src/output.c (output): Don't free the grammar.
+ * src/reader.c (grammar_free): New.
+ * src/main.c (main): Call it and don't free symtab here.
+
+2002-03-04 Akim Demaille <akim@epita.fr>
+
+ * src/lex.c (parse_percent_token): Be sure to 0-end token_buffer
+ before returning.
+ Reported by Benoit Perrot.
+
+2002-03-04 Akim Demaille <akim@epita.fr>
+
+ Use bitset operations when possible, not loops over bits.
+
+ * src/conflicts.c (set_conflicts, count_sr_conflicts): Use
+ bitset_or.
+ * src/print.c (print_reductions): Use bitset_and, bitset_andn.
+ * src/reduce.c (useless_nonterminals): Formatting changes.
+ * src/warshall.c (TC): Use bitset_or.
+
+2002-03-04 Akim Demaille <akim@epita.fr>
+
+ * src/lalr.h, src/lalr.c (tokensetsize): Remove, unused.
+ * src/system.h (BITS_PER_WORD, WORDSIZE, SETBIT, RESETBIT, BITISSET):
+ Ditto.
+
+2002-03-04 Akim Demaille <akim@epita.fr>
+
+ * src/lalr.c (F): Now a bitset*.
+ Adjust all dependencies.
+
+2002-03-04 Akim Demaille <akim@epita.fr>
+
+ * src/conflicts.c (shiftset, lookaheadset): Now bitset.
+ Adjust all dependencies.
+
+2002-03-04 Akim Demaille <akim@epita.fr>
+
+ * src/L0.c, src/LR0.h (nstates): Be size_t.
+ Adjust comparisons (signed vs unsigned).
+ * src/conflics.c, src/lalr.c, src/lalr.h, src/output.c (LA): Now a
+ bitset*.
+ Adjust all dependencies.
+
+2002-03-04 Akim Demaille <akim@epita.fr>
+
+ * src/closure.c (firsts): Now, also a bitset.
+ Adjust all dependencies.
+ (varsetsize): Remove, now unused.
+ * src/warshall.h, src/warshall.c: Now work on arrays of bitsets.
+
+2002-03-04 Akim Demaille <akim@epita.fr>
+
+ * src/print.c: Convert to use bitset.h, not hand coded iterations
+ over ints.
+
+2002-03-04 Akim Demaille <akim@epita.fr>
+
+ * src/reduce.c: Convert to use bitset.h, not hand coded BSet.
+
+2002-03-04 Akim Demaille <akim@epita.fr>
+
+ * src/closure.c (ruleset): Be a bitset.
+ (rulesetsize): Remove.
+
+2002-03-04 Akim Demaille <akim@epita.fr>
+
+ * lib/bitset-int.h, lib/bitset.c, lib/bitset.h, lib/bitsetv.c,
+ * lib/bitsetv.h, lib/ebitset.c, lib/ebitset.h, lib/lbitset.c,
+ * lib/lbitset.h, lib/sbitset.c, lib/sbitset.h: New.
+ * src/closure.c (fderives): Be an array of bitsets.
+
+2002-02-28 Robert Anisko <robert@lrde.epita.fr>
+
+ * data/bison.c++: Merge the two generated headers. Insert a copyright
+ notice in each output file.
+
+2002-02-28 Akim Demaille <akim@epita.fr>
+
+ * data/bison.c++: Copy the prologue of bison.simple to fetch
+ useful M4 definitions, such as b4_header_guard.
+
+2002-02-25 Akim Demaille <akim@epita.fr>
+
+ * src/getargs.c (version): Give the name of the authors, and use a
+ translator friendly scheme for the bgr
+ copyright notice.
+
+2002-02-25 Akim Demaille <akim@epita.fr>
+
+ * src/output.c (header_output): Remove, now handled completely via
+ M4.
+
+2002-02-25 Akim Demaille <akim@epita.fr>
+
+ * m4/m4.m4: New, from CVS Autoconf.
+ * configure.in: Invoke it.
+ * src/output.c (output_skeleton): Use its result instead of the
+ hard coded name.
+
+2002-02-25 Akim Demaille <akim@epita.fr>
+
+ * lib/tempname.c, lib/mkstemp.c, m4/mkstemp.m4: New, stolen from
+ Fileutils 4.1.5.
+ * configure.in: Invoke UTILS_FUNC_MKSTEMP.
+ * src/output.c (output_skeleton): Use mkstemp to create a real
+ temporary file.
+ Move the filling of `skeleton' and its muscle to...
+ (prepare): here.
+ (output): Move the definition of the prologue muscle to...
+ (prepare): here.
+ * src/system.h (DEFAULT_TMPDIR): New.
+
+2002-02-14 Paul Eggert <eggert@twinsun.com>
+
+ Remove the support for C++ namespace cleanliness; it was
+ causing more problems than it was curing, since it didn't work
+ properly on some nonstandard C++ compilers. This can wait
+ for a proper C++ parser.
+
+ * NEWS: Document this.
+ * doc/bison.texinfo (Bison Parser, Debugging): Remove special mention
+ of C++, as it's treated like C now.
+ * src/bison.simple (YYSTD): Remove.
+ (YYSIZE_T, YYFPRINTF, YYPARSE_PARAM_ARG, YYPARSE_PARAM_DECL):
+ Treat C++ just like Standard C instead of trying to support
+ namespace cleanliness.
+
+2002-02-14 Akim Demaille <akim@epita.fr>
+
+ * tests/regression.at (else): Adjust to Andreas' change.
+
+2002-02-14 Akim Demaille <akim@epita.fr>
+
+ * lib/Makefile.am (EXTRA_DIST): Ship strnlen.c.
+
+2002-02-13 Andreas Schwab <schwab@suse.de>
+
+ * src/output.c (output_rule_data): Don't output NULL, it might
+ not be defined yet.
+
+2002-02-11 Robert Anisko <robert@lrde.epita.fr>
+
+ * data/bison.c++ (YYDEBUG, YYERROR_VERBOSE): After the prologue.
+ (Copyright notice): Update.
+
+2002-02-11 Akim Demaille <akim@epita.fr>
+
+ * tests/regression.at (%nonassoc and eof): Don't include
+ nonportable headers.
+
+2002-02-08 Robert Anisko <robert@lrde.epita.fr>
+
+ * data/bison.c++: Correct error recovery. Make the user able to
+ initialize the starting location.
+
+2002-02-07 Akim Demaille <akim@epita.fr>
+
+ * tests/input.at: New.
+
+2002-02-07 Robert Anisko <robert@lrde.epita.fr>
+
+ * data/bison.c++: Replace some direct m4 expansions by constants. Be
+ more consistent when naming methods and variables. Put preprocessor
+ directives around tables only needed for debugging.
+
+2002-02-07 Robert Anisko <robert@lrde.epita.fr>
+
+ * data/bison.c++ (yy::b4_name::print_): New method, replaces yyprint in
+ C++ parsers.
+ (yy::b4_name::parse): Use print_.
+
+2002-02-07 Robert Anisko <robert@lrde.epita.fr>
+
+ * data/bison.c++ (yy::b4_name::parse): Error recovery is back.
+
+2002-02-07 Robert Anisko <robert@lrde.epita.fr>
+
+ * data/bison.c++ (yy::b4_name::error_): New method, replaces yyerror in
+ C++ parsers.
+ (yy::b4_name::parse): Build verbose error messages, and use error_.
+
+2002-02-06 Robert Anisko <robert@lrde.epita.fr>
+
+ * data/bison.c++: Fix m4 quoting in comments.
+
+2002-02-06 Robert Anisko <robert@lrde.epita.fr>
+
+ * data/bison.c++: Adjust the parser code. Fix some muscles that were
+ not expanded by m4.
+
+2002-02-05 Akim Demaille <akim@epita.fr>
+
+ * data/bison.c++: Adjust to the M4 back end.
+ More is certainly needed.
+
+2002-02-05 Akim Demaille <akim@epita.fr>
+
+ Give a try to M4 as a back end.
+
+ * lib/readpipe.c: New, from wdiff.
+ * src/Makefile.am (DEFS): Define PKGDATADIR, not BISON_SIMPLE and
+ BISON_HAIRY.
+ * src/system.h (BISON_HAIRY, BISON_SIMPLE): Remove the DOS and VMS
+ specific values. Now it is m4 that performs the lookup.
+ * src/parse-skel.y: Remove.
+ * src/muscle_tab.c, src/muscle_tab.h (muscles_m4_output): New.
+ * src/output.c (actions_output, guards_output)
+ (token_definitions_output): No longer keeps track of the output
+ line number, hence remove the second argument.
+ (guards_output): Check against the guard member of a rule, not the
+ action member.
+ Adjust callers.
+ (output_skeleton): Don't look for the skeleton location, let m4 do
+ that.
+ Create `/tmp/muscles.m4'. This is temporary, a proper temporary
+ file will be used.
+ Invoke `m4' on m4sugar.m4, muscles.m4, and the skeleton.
+ (prepare): Given that for the time being changesyntax is not
+ usable in M4, rename the muscles using `-' to `_'.
+ Define `defines_flag', `output_parser_name' and `output_header_name'.
+ * src/output.h (actions_output, guards_output)
+ (token_definitions_output): Adjust prototypes.
+ * src/scan-skel.l: Instead of scanning the skeletons, it now
+ processes the output of m4: `__oline__' and `#output'.
+ * data/bison.simple: Adjust to be used by M4(sugar).
+ * tests/Makefile.am: Use check_SCRIPTS to make sure `bison' is up
+ to date.
+ * tests/bison.in: Use the secrete envvar `BISON_PKGDATADIR'
+ instead of the dead `BISON_SIMPLE' and `BISON_HAIRY'.
+ * data/m4sugar/m4sugar.m4, data/m4sugar/version.m4: New,
+ shamelessly stolen from CVS Autoconf.
+
+2002-02-05 Akim Demaille <akim@epita.fr>
+
+ * lib/hash.c, lib/hash.h: Replace with Fileutils 4.1's version.
+ * configure.in: Check for the declarations of free and malloc.
+ * src/muscle_tab.c: Adjust.
+
+2002-02-05 Akim Demaille <akim@epita.fr>
+
+ * src/muscle_tab.c (muscle_init): Don't default to NULL muscle
+ which have no values.
+
+2002-02-05 Akim Demaille <akim@epita.fr>
+
+ * src/bison.simple, src/bison.hairy, src/bison.c++: Move to...
+ * data/: here.
+
+2002-01-29 Paul Eggert <eggert@twinsun.com>
+
+ * src/bison.simple (YYSIZE_T): Do not define merely because
+ YYSTACK_USE_ALLOCA is nonzero or alloca or _ALLOCA_H are defined.
+ On some platforms, <alloca.h> does not declare YYSTD (size_t).
+
+2002-01-27 Akim Demaille <akim@epita.fr>
+
+ Fix `%nonassoc and eof'.
+
+ * src/state.c (errs_dup): Aaaah! The failure was due to bytes
+ which were not properly copied! Replace
+ memcpy (res->errs, src->errs, src->nerrs);
+ with
+ memcpy (res->errs, src->errs, src->nerrs * sizeof (src->errs[0]));
+ !!!
+ * tests/regression.at (%nonassoc and eof): Adjust to newest
+ Autotest: `.' is not in the PATH.
+
+2002-01-27 Akim Demaille <akim@epita.fr>
+
+ * tests/sets.at (AT_EXTRACT_SETS): New.
+ (Nullable): Use it.
+ (Firsts): New.
+
+2002-01-26 Akim Demaille <akim@epita.fr>
+
+ * tests/actions.at, tests/calc.at, tests/headers.at,
+ * tests/torture.at: Adjust to the newest Autotest which no longer
+ forces `.' in the PATH.
+
+2002-01-25 Akim Demaille <akim@epita.fr>
+
+ * tests/regression.at (%nonassoc and eof): New.
+ Suggested by Robert Anisko.
+
+2002-01-24 Akim Demaille <akim@epita.fr>
+
+ Bison dumps core when trying to complain about broken input files.
+ Reported by Cris van Pelt.
+
+ * src/lex.c (parse_percent_token): Be sure to set token_buffer.
+ * tests/regression.at (Invalid input: 1, Invalid input: 2): Merge
+ into...
+ (Invalid inputs): Strengthen: exercise parse_percent_token.
+
+2002-01-24 Robert Anisko <robert.anisko@epita.fr>
+
+ * src/Makefile.am: Add bison.c++.
+ * src/bison.c++: New skeleton.
+
+2002-01-21 Paolo Bonzini <bonzini@gnu.org>
+
+ * po/it.po: New.
+
+2002-01-21 Kees Zeelenberg <kzlg@users.sourceforge.net>
+
+ * src/files.c (skeleton_find) [MSDOS]: Fix cp definition.
+
+2002-01-20 Marc Autret <marc@gnu.org>
+
+ * src/files.c (compute_output_file_names): Fix
+
+2002-01-20 Marc Autret <marc@gnu.org>
+
+ * tests/output.at: New test.
+ * src/files.c (compute_base_names): Don't map extensions when
+ the YACC flag is set, use defaults.
+ Reported by Evgeny Stambulchik.
+
+2002-01-20 Marc Autret <marc@gnu.org>
+
+ * src/system.h: Need to define __attribute__ away for non-GCC
+ compilers as well (i.e. the vendor C compiler).
+ Suggested by Albert Chin-A-Young.
+
+2002-01-11 Tim Van Holder <tim.van.holder@pandora.be>
+
+ * lib/hash.h, lib/hash.c: Renamed __P to PARAMS and used the
+ canonical definition.
+ * src/system.h: Use the canonical definition for PARAMS (avoids
+ a conflict with the macro from lib/hash.h).
+
+2002-01-11 Akim Demaille <akim@epita.fr>
+
+ * configure.in: Use AC_FUNC_STRNLEN.
+ Fixes the failures observed on AIX 4.3 by H.Merijn Brand.
+
+2002-01-09 Akim Demaille <akim@epita.fr>
+
+ * src/files.c, src/files.h (output_infix): New.
+ (tab_extension): Remove.
+ (compute_base_names): Compute the former, drop the latter.
+ * src/output.c (prepare): Insert the muscles `output-infix', and
+ `output-suffix'.
+ * src/parse-skel.y (string, string.1): New.
+ (section.header): Use it.
+ (section.yacc): Remove.
+ (prefix): Remove too.
+ * src/scan-skel.l: Adjust.
+ * src/bison.simple, src/bison.hairy: Adjust.
+
+2002-01-09 Akim Demaille <akim@epita.fr>
+
+ * configure.in (WERROR_CFLAGS): Compute it.
+ * src/Makefile.am (CFLAGS): Pass it.
+ * tests/atlocal.in (CFLAGS): Idem.
+ * src/files.c: Fix a few warnings.
+ (get_extension_index): Remove, unused.
+
+2002-01-08 Akim Demaille <akim@epita.fr>
+
+ * src/getargs.c (AS_FILE_NAME): New.
+ (getargs): Use it to convert DOSish file names.
+ * src/files.c (base_name): Rename as full_base_name to avoid
+ clashes with `base_name ()'.
+ (filename_split): New.
+ (compute_base_names): N-th rewrite, using filename_split.
+
+2002-01-08 Akim Demaille <akim@epita.fr>
+
+ * lib/basename.c, lib/dirname.h, lib/dirname.c, lib/memrchr.c:
+ New, stolen from the Fileutils 4.1.
+ * lib/Makefile.am (libbison_a_SOURCES): Adjust.
+ * configure.in: Check for the presence of memrchr, and of its
+ prototype.
+
+2002-01-07 Tim Van Holder <tim.van.holder@pandora.be>
+
+ * lib/hash.h (__P): Added definition for this macro.
+ * src/Makefile.am: Add parse-skel.c and scan-skel.c to
+ BUILT_SOURCES, to ensure they are generated first.
+ * src/parse-skel.y: Use YYERROR_VERBOSE instead of
+ %error-verbose to allow bootstrapping with bison 1.30x.
+
+2002-01-06 Akim Demaille <akim@epita.fr>
+
+ * src/reader.c (parse_braces): Don't fetch the next char, the
+ convention is to fetch on entry.
+ * tests/torture.at (GNU Cim Grammar): Reintroduce their weird
+ 'switch' without a following semicolon.
+ * tests/regression.at (braces parsing): New.
+
+2002-01-06 Akim Demaille <akim@epita.fr>
+
+ Bison is dead wrong in its RR conflict reports.
+
+ * tests/torture.at (GNU Cim Grammar): New.
+ * src/conflicts.c (count_rr_conflicts): Fix.
+
+2002-01-06 Akim Demaille <akim@epita.fr>
+
+ Creating package.m4 from configure.ac causes too many problems.
+
+ * tests/Makefile.am (package.m4): Create it by hand,
+ AC_CONFIG_TESTDIR no longer does in the most recent CVS Autoconf.
+
+2002-01-06 Akim Demaille <akim@epita.fr>
+
+ * src/Makefile.am (bison_SOURCES): Add parse-skel.h and
+ skeleton.h.
+
+2002-01-04 Paul Eggert <eggert@twinsun.com>
+
+ * doc/bison.texinfo (Debugging):
+ Remove YYSTDERR; it's no longer defined or used.
+ Also, s/cstdio.h/cstdio/.
+
+2002-01-03 Akim Demaille <akim@epita.fr>
+
+ * tests/bison.in, tests/atlocal.in: Adjust to CVS Autoconf.
+
+2002-01-03 Akim Demaille <akim@epita.fr>
+
+ * src/parse-skel.y (process_skeleton): Don't bind the parser's
+ tracing code to --trace, wait for a better --trace option, with
+ args.
+
+2002-01-03 Akim Demaille <akim@epita.fr>
+
+ * src/bison.simple (YYSTDERR): Remove, replace `stderr'.
+ The ISO C++ standard is extremely clear about it: stderr is
+ considered a macro, not a regular symbol (see table 94 `Header
+ <cstdio> synopsis', [lib.c.files] 27.8.2 C Library files).
+ Therefore std:: does not apply to it. It still does with fprintf.
+ Also, s/cstdio.h/cstdio/.
+
+2002-01-03 Akim Demaille <akim@epita.fr>
+
+ * lib/quotearg.c: Use `#include "..."' instead of `#include <...>'
+ for non system headers.
+
+2002-01-02 Akim Demaille <akim@epita.fr>
+
+ Equip the skeleton chain with location tracking, runtime trace,
+ pure parser and scanner.
+
+ * src/parse-skel.y: Request a pure parser, locations, and prefix
+ renaming.
+ (%union): Having several members with the same type does not help
+ type mismatches, simplify.
+ (YYPRINT, yyprint): New.
+ (yyerror): ``Rename'' (there is a #define yyerror skel_error) as...
+ (skel_error): this.
+ Handle locations.
+ * src/scan-skel.l: Adjust to these changes.
+ * src/skeleton.h (LOCATION_RESET, LOCATION_LINES, LOCATION_STEP)
+ (LOCATION_PRINT, skel_control_t): New.
+
+2001-12-30 Akim Demaille <akim@epita.fr>
+
+ * src/parse-skel.y: Get rid of the shift/reduce conflict:
+ replace `gb' with BLANKS.
+ * src/scan-skel.l: Adjust.
+