X-Git-Url: https://git.saurik.com/bison.git/blobdiff_plain/6c88b51e8395fe490c15ede2f1b2562258a4260d..16dc0d9025dda1817df621963e9b205849f607ef:/ChangeLog?ds=sidebyside

diff --git a/ChangeLog b/ChangeLog
index 93561b02..f879dbd7 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,857 @@
+2009-04-14  Akim Demaille  <demaille@gostai.com>
+
+	variables: use `parse.assert' instead of `assert'.
+	* TODO (assert): Remove.
+	* data/bison.m4 (b4_assert_if): Replace with...
+	(b4_parse_assert_if): this.
+	* data/lalr1.cc, data/variant.hh, tests/c++.at: Adjust.
+	* doc/bison.texinfo (Decl Summary): Document parse.assert.
+
+2009-04-14  Akim Demaille  <demaille@gostai.com>
+
+	variables: use `parse.trace' instead of `debug'.
+	* src/getargs.c (getargs): Map -t to %define trace.parse.
+	* src/scan-gram.l (%debug): Map to %define trace.parse.
+	* data/bison.m4 (b4_percent_define_if_define): Map `.' in variable
+	names to `_' in macro names.
+	(b4_debug_if): Replace with...
+	(b4_parse_trace_if): this.
+	* data/glr.c, data/glr.cc, data/lalr1.cc, data/lalr1.java,
+	* data/yacc.c: Adjust.
+	* doc/bison.texinfo (Decl Summary): Document %debug as obsoleted.
+	Use @code to label the variable list.
+	Document the variable parse.trace.
+	(Tracing): Promote the parse.trace variable.
+	* TODO: %printer is not documented.
+
+2009-04-14  Akim Demaille  <demaille@gostai.com>
+
+	doc: minor fixes.
+	* doc/bison.texinfo (Decl Summary): Fix entry about %debug.
+	(Table of Symbols): Remove duplicate entry for %debug.
+
+2009-04-10  Eric Blake  <ebb9@byu.net>
+
+	submodules: update to latest
+	* submodules/autoconf: Use latest upstream Autoconf.
+
+2009-04-06  Eric Blake  <ebb9@byu.net>
+
+	Work around autoconf 2.63b bug in testsuite.
+	* tests/output.at (AT_CHECK_OUTPUT_FILE_NAME): Avoid tripping
+	autoconf bug related to # in test.
+
+2009-04-06  Joel E. Denny  <jdenny@ces.clemson.edu>
+
+	* NEWS (2.5): New section.  Describe new -D/--define feature.
+
+2009-04-06  Akim Demaille  <demaille@gostai.com>
+
+	Regen.
+	* src/parse-gram.h, src/parse-gram.c: Regen.
+
+2009-04-06  Akim Demaille  <demaille@gostai.com>
+
+	rename muscle_tab.* as muscle-tab.* for consistency.
+	* src/muscle_tab.h, src/muscle_tab.c: Rename as...
+	* src/muscle-tab.h, src/muscle-tab.c: these.
+	* src/getargs.c, src/local.mk, src/main.c, src/output.c,
+	* src/parse-gram.y, src/reader.c, src/scan-code.l: Adjust.
+
+2009-04-06  Akim Demaille  <demaille@gostai.com>
+
+	Makefile: introduce $(BISON).
+	* src/local.mk (BISON): New.
+	(YACC): Use it.
+
+2009-04-06  Akim Demaille  <demaille@gostai.com>
+
+	parser: handle %locations as %define locations.
+	* src/getargs.h, src/getargs.c (locations_flag): Remove.
+	* src/getargs.c, src/scan-code.l: Use muscle_percent_define_ensure
+	to set "locations" to true.
+	* src/output.c (prepare): Don't output "locations".
+	* src/scan-gram.l (%locations): Handle it as a %<flag>.
+	* src/parse-gram.y: It's no longer a token.
+	Don't handle it.
+	* data/bison.m4 (b4_locations_if): Define it with
+	b4_percent_define_if_define.
+	* data/c.m4, data/glr.cc: Adjust.
+
+2009-04-06  Akim Demaille  <demaille@gostai.com>
+
+	Regen.
+	* src/parse-gram.c: Regen.
+
+2009-04-06  Akim Demaille  <demaille@gostai.com>
+
+	muscle: factor the handling of obsolete of obsolete directives.
+	Suggested by Joel E. Denny.
+
+	* src/muscle_tab.h, src/muscle_tab.c (muscle_percent_define_ensure):
+	New, extracted from...
+	* src/parse-gram.y (prologue_declaration: pure-parser): here.
+	Remove it.
+	(prologue_declaration: "%<flag>"): Use
+	muscle_percent_define_ensure.
+	(%error-verbose, %pure-parser): No longer tokens.
+	* src/scan-gram.l (pure-parser): Return as a %<flag>.
+
+2009-04-06  Joel E. Denny  <jdenny@ces.clemson.edu>
+
+	Fix options documentation.
+	* build-aux/cross-options.pl: As in --help output, write optional
+	arguments as [=ARG] not =[ARG].
+	* doc/bison.texinfo (Bison Options): Add -W/--warnings argument.
+
+2009-04-04  Joel E. Denny  <jdenny@ces.clemson.edu>
+
+	Replace BISON_PROG_GNU_M4 with Autoconf's AC_PROG_GNU_M4.
+	If the first m4 in $PATH is wrong, it keeps looking.  Moreover, its
+	requirements for a correct m4 are stricter.
+	* m4/m4.m4: Make it a symbolic link to submodules/autoconf/m4/m4.m4.
+	* configure.ac: Update to use AC_PROG_GNU_M4.
+	Reported by Eric Blake.
+
+2009-04-03  Joel E. Denny  <jdenny@ces.clemson.edu>
+
+	Help with updating web manual.
+	* HACKING: Incorporate instructions from gnulib/doc/README.
+	* bootstrap.conf (gnulib_modules): Add gendocs.
+
+2009-04-03  Akim Demaille  <demaille@gostai.com>
+
+	Regen.
+	* src/parse-gram.h, src/parse-gram.c: Regen.
+
+2009-04-03  Akim Demaille  <demaille@gostai.com>
+
+	Factor %FLAG at scan level.
+	* src/parse-gram.y (PERCENT_DEBUG, PERCENT_ERROR_VERBOSE): Token
+	definitions and associated rules, replaced by....
+	(PERCENT_FLAG): this new token type, and rule.
+	* src/scan-gram.l (RETURN_PERCENT_FLAG): New.
+	Use it for %debug and %error-verbose.
+
+2009-04-03  Akim Demaille  <demaille@gostai.com>
+
+	Regen.
+	* src/parse-gram.h, src/parse-gram.c: Regen.
+
+2009-04-03  Akim Demaille  <demaille@gostai.com>
+
+	Treat %debug as %define debug.
+	* data/bison.m4 (b4_debug_if): New.
+	* data/glr.c, data/glr.cc, data/lalr1.cc, data/yacc.c,
+	* data/lalr1.java: Use it instead of b4_debug_flag.
+	* src/getargs.h, src/getargs.c (debug_flag): Remove.
+	* src/output.c (prepare): Don't output it.
+	* src/parse-gram.y: Treat %debug as %define debug.
+
+2009-04-03  Akim Demaille  <demaille@gostai.com>
+
+	Treat %error-verbose as %define error_verbose.
+	This allows to pass -Derror_verbose on the command line.  Better
+	yet, it allows to pass -Derror_verbose=$(ERROR_VERBOSE), with
+	ERROR_VERBOSE being defined as false or true.
+	* data/bison.m4 (b4_percent_define_if_define): Instead of relying
+	on b4_percent_define_ifdef, for does not check the defined value,
+	but only whether the symbol is defined, rely on
+	b4_percent_define_flag_if, so that a value of "false" is processed
+	as a false.
+	If not defined, define the flag to "false".
+	(b4_error_verbose_if): New.
+	* data/glr.c, data/lalr1.cc, data/yacc.c: Use it instead of
+	b4_error_verbose_flag.
+	* src/getargs.h, src/getargs.c (error_verbose_flag): Remove.
+	* src/output.c (prepare): Don't output it.
+	* src/parse-gram.y (%error-verbose): Treat as %define error_verbose.
+
+2009-04-03  Joel E. Denny  <jdenny@ces.clemson.edu>
+
+	Fix strange %define locations for default values.
+	Reported by Akim Demaille at
+	<http://lists.gnu.org/archive/html/bug-bison/2007-12/msg00001.html>
+	and discussed again starting at
+	<http://lists.gnu.org/archive/html/bison-patches/2008-11/msg00102.html>.
+	* data/bison.m4 (b4_percent_define_default): Leave syncline blank
+	because location information is bogus.
+	Use angle brackets to delimit fake file name because square brackets
+	look like underexpanded m4.  Choose a better fake file name.
+	Use negative line numbers.
+	* src/muscle_tab.c (muscle_percent_define_default): Likewise.
+	* src/location.c (location_print): If line for a boundary is negative,
+	only print that boundary's file name.
+	* src/location.h: Document that.
+	* tests/skeletons.at (%define Boolean variables: invalid skeleton
+	defaults): Update output.
+
+2009-04-03  Joel E. Denny  <jdenny@ces.clemson.edu>
+
+	Pacify ./configure --enable-gcc-warnings.
+	* Makefile.am (AM_CFLAGS): Remove $(WERROR_CFLAGS) because many files
+	in lib won't compile with it.
+	* src/local.mk (src_bison_CFLAGS): Use $(WERROR_CFLAGS) here only.
+
+2009-03-31  Akim Demaille  <demaille@gostai.com>
+
+	bootstrap: --help to stdout.
+	* bootstrap (usage): Don't send --help to stderr.
+	Use a here doc instead of a long string.
+
+2009-03-31  Akim Demaille  <demaille@gostai.com>
+
+	bootstrap: README-hacking no longer exists
+	* bootstrap (checkout_only_file): Set to HACKING.
+
+2009-03-26  Akim Demaille  <demaille@gostai.com>
+
+	doc: merge HACKING and README-hacking.
+	Two files is confusing.
+	Reported by Alexandre Duret-Lutz.
+
+	* README-hacking: Merge into...
+	* HACKING (Working from the repository): here.
+
+2009-03-26  Akim Demaille  <demaille@gostai.com>
+
+	doc: update README-hacking.
+	* README-hacking: We now use git and git submodules.
+	Reported by Ralf Wildenhues and Alexandre Duret-Lutz.
+
+2009-03-26  Akim Demaille  <demaille@gostai.com>
+
+	lalr1.cc: avoid GCC 4.3 warnings.
+	GCC 4.3 now warns about "a || b && c" and asks for explicit
+	parentheses.
+	Reported by Alexandre Duret-Lutz.
+	* data/location.cc: Update copyright years.
+	(Position::operator==): Use parens to make precedence explicit.
+	Compare lines and columns first, as they are more likely to be
+	different, and they are faster to compare.
+
+2009-03-26  Akim Demaille  <demaille@gostai.com>
+
+	gnulib: update.
+	* gnulib: Update to latest.
+	* src/local.mk (AM_CFLAGS): Move to...
+	* Makefile.am: here.
+	* etc/prefix-gnulib-mk (prefix_assignment): Also transform
+	AM_CFLAGS.
+
+2009-03-02  Akim Demaille  <demaille@gostai.com>
+
+	Comment changes.
+
+2009-03-02  Akim Demaille  <demaille@gostai.com>
+
+	Share b4_yytranslate_define.
+	* data/lalr1.cc (b4_yytranslate_define): Move to...
+	* data/c++.m4: here.
+
+2009-03-02  Akim Demaille  <demaille@gostai.com>
+
+	Use locations in the variant example.
+	Yes, this obfuscates the point of this example, variants only.
+	But glr.cc cannot work (yet?) without locations.  This change
+	makes it easier to use this example with glr.cc.
+
+	* examples/variant.yy (assert): %define it.
+	(locations): Request them.
+	(yylex): Bind the location to the stage.
+
+2009-03-02  Akim Demaille  <demaille@gostai.com>
+
+	Dub make_TOKEN as a public type interface.
+	* data/c++.m4 (b4_symbol_constructor_declare)
+	(b4_symbol_constructor_define): New empty stubs.
+	(b4_public_types_declare, b4_public_types_define): Use them.
+	* data/lalr1.cc (b4_symbol_constructor_declare)
+	(b4_symbol_constructor_declare_)
+	(b4_symbol_constructor_define_, b4_symbol_constructor_define):
+	Move to...
+	* data/variant.hh: here.
+	Remove the "b4_variant_if" parts, as variant.hh is loaded only if
+	needed.
+	* data/lalr1.cc: No longer invoke b4_symbol_constructor_define and
+	b4_symbol_constructor_declare, as it is now done by
+	b4_public_types_define and b4_public_types_declare.
+
+2009-03-02  Akim Demaille  <demaille@gostai.com>
+
+	Coding style changes.
+	* data/lalr1.cc (b4_symbol_constructor_declaration_)
+	(b4_symbol_constructor_declarations)
+	(b4_symbol_constructor_definition_)
+	(b4_symbol_constructor_definitions)
+	(b4_yytranslate_definition): Rename as...
+	(b4_symbol_constructor_declare_)
+	(b4_symbol_constructor_declare)
+	(b4_symbol_constructor_define_)
+	(b4_symbol_constructor_define)
+	(b4_yytranslate_define): these.
+	* data/variant.hh (b4_variant_definition): Rename as...
+	(b4_variant_define): this.
+
+2009-03-02  Akim Demaille  <demaille@gostai.com>
+
+	Factor b4_assert_if, b4_lex_symbol_if, and b4_variant_if.
+	* data/bison.m4 (b4_percent_define_if_define): New.
+	* data/c++.m4 (b4_variant_if): Move to...
+	* data/bison.m4: Here, using b4_percent_define_if_define.
+	* data/lalr1.cc (b4_assert_if, b4_lex_symbol_if): Move to...
+	* data/bison.m4: Here, using b4_percent_define_if_define.
+
+2009-03-02  Akim Demaille  <demaille@gostai.com>
+
+	Dub symbol_type_base as a public type.
+	* data/c++.m4 (b4_public_types_declare): Now define
+	symbol_type_base and symbol_type.
+	(b4_public_types_define): New.
+	In both cases, the definitions are taken verbatim from lalr1.cc.
+	* data/lalr1.cc: Adjust.
+
+2009-03-02  Akim Demaille  <demaille@gostai.com>
+
+	b4_public_types_declare.
+	* data/c++.m4 (b4_public_types_declare): New.
+	* data/glr.cc, data/lalr1.cc: Use it.
+
+2009-03-02  Akim Demaille  <demaille@gostai.com>
+
+	b4_semantic_type_declare.
+	* data/c++.m4 (b4_semantic_type_declare): New.
+	Factors and generalizes what was in glr.cc and lalr1.cc.
+	* data/variant.hh (b4_semantic_type_declare): Redefine it for
+	variants.
+	* data/lalr1.cc, data/glr.cc: Use it.
+
+2009-02-26  Akim Demaille  <demaille@gostai.com>
+
+	Upgrade gnulib.
+	* gnulib: Upgrade from master.
+	* lib/.cvsignore, lib/.gitignore, m4/.cvsignore, m4/.gitignore:
+	Regen.
+
+2009-02-25  Akim Demaille  <demaille@gostai.com>
+
+	Remove useless arguments.
+	* data/glr.c (yy_reduce_print): $$ and @$ are not used and not
+	relevant.
+
+2009-02-25  Akim Demaille  <demaille@gostai.com>
+
+	Comment changes.
+	* data/lalr1.cc: here.
+
+2009-02-25  Akim Demaille  <demaille@gostai.com>
+
+	Fix glr.cc's debug level handling.
+	* data/glr.cc (yydebug_): Remove, as it is actually yydebug from
+	glr.c which is used.
+	(debug_level, set_debug_level): Adjust.
+
+2009-02-25  Akim Demaille  <demaille@gostai.com>
+
+	Copyright years.
+	* data/glr.c: Add 2007 and 2008 here, consistenly with the comments.
+
+2009-02-25  Akim Demaille  <demaille@gostai.com>
+
+	Style changes.
+	* etc/bench.pl.in (generate_grammar_list): Consitently use
+	location_type, not yy::location.
+
+2009-02-25  Akim Demaille  <demaille@gostai.com>
+
+	Comment change.
+	* data/lalr1.cc: here.
+
+2009-02-19  Akim Demaille  <demaille@gostai.com>
+
+	Make yyparser::error public.
+	* data/lalr1.cc: here.
+	There is no good reason to keep it private (and it is convenient
+	to use it from the scanner for instance).  It is already public in
+	glr.cc.
+
+2009-02-19  Akim Demaille  <demaille@gostai.com>
+
+	Comment changes.
+	* data/glr.cc: here.
+
+2009-02-19  Akim Demaille  <demaille@gostai.com>
+
+	Remove trailing blanks.
+	The epilogue has its own ending \n, no need to add another.
+
+	* data/glr.c, data/lalr1.java, data/yacc.c: dnl when outputing the
+	epilogue.
+	* data/glr.cc: dnl when extending the epilogue.
+	Remove stray "private:".
+
+2009-02-19  Akim Demaille  <demaille@gostai.com>
+
+	Use b4_c_modern.
+	* data/c.m4 (b4_c_function_decl): Here.
+
+2009-02-19  Akim Demaille  <demaille@gostai.com>
+
+	Comment changes.
+	* data/lalr1.cc: here.
+
+2009-02-19  Akim Demaille  <demaille@gostai.com>
+
+	Extract variant.hh
+	* data/variant.hh: New, extracted from...
+	* data/lalr1.cc: here.
+	Adjust.
+	* data/local.mk: Adjust.
+
+2009-02-19  Akim Demaille  <demaille@gostai.com>
+
+	Extract stack.hh from lalr1.cc.
+	* data/stack.hh: New.
+	* data/lalr1.cc: Extract from here.
+	* data/local.mk: Adjust.
+
+2009-02-03  Joel E. Denny  <jdenny@ces.clemson.edu>
+
+	Add reminder about uploading public key to keys.gnupg.net.
+	* HACKING (Release Procedure): Here.
+
+2009-01-28  Akim Demaille  <demaille@gostai.com>
+
+	* NEWS: Update information about 2.4.1 and 2.4.2.
+
+2008-11-04  Akim Demaille  <demaille@gostai.com>
+
+	Reformat NEWS.
+	* NEWS: Use more outline-mode markup.
+	Suggested by Jim Meyering.
+
+2009-01-08  Akim Demaille  <demaille@gostai.com>
+
+	Fix grep portability issues.
+	Grep on Solaris does not support -q.
+	Reported by Summum Bonum.
+
+	* NEWS: Add a stub for 2.4.2.
+	* THANKS: Add Summum Bonum.
+	* tests/atlocal.in (EGREP): New.
+	(CC, CXX, XSLTPROC): Make it possible to override them via
+	envvars.
+	* tests/java.at: Use $EGREP instead of egrep.
+	Use AT_CHECK's ignore instead of grep's -q.
+
+2008-12-11  Akim Demaille  <demaille@gostai.com>
+
+	Pass the token type to yysyntax_error.
+	* data/yacc.c (yysyntax_error): Take the transated token instead
+	of the raw number.
+	Adjust callers.
+	* TODO: Update.
+
+2008-12-11  Akim Demaille  <demaille@gostai.com>
+
+	Formatting changes.
+	* data/glr.c: Formatting changes.
+
+2008-12-11  Akim Demaille  <demaille@gostai.com>
+
+	Propagate i18n changes into glr.c.
+	* TODO: Update.
+	* data/glr.c (yyreportSyntaxError): Use "switch" instead of
+	building the error message format dynamically.
+	* data/lalr1.java: Formatting changes.
+
+2008-12-11  Akim Demaille  <demaille@gostai.com>
+
+	Use testsuite -C.
+	* tests/local.mk: Replace "cd && testsuite" by "testsuite -C".
+	Solves problems when top_srcdir is an absolute path.
+	Suggested by Eric Blake.
+	* configure.ac: Require Autoconf 2.62.
+
+2008-12-11  Akim Demaille  <demaille@gostai.com>
+
+	Simplify the i18n of the error messages.
+	* data/lalr1.cc: Comment changes.
+	* data/yacc.c (yysyntax_error): Rewrite, using a switch as in
+	lalr1.cc instead of building dynamically the format string.
+
+2008-12-08  Akim Demaille  <demaille@gostai.com>
+
+	Fix portability issue in the test suite.
+	* tests/local.at (AT_MATCHES_CHECK): New.
+	Based on Perl instead of Sed.  Sed has too many portability
+	pitfalls, not ever Sed is GNU Sed.
+	* tests/actions.at (Fix user actions without a trailing semicolon):
+	Use it.
+
+2008-12-08  Akim Demaille  <demaille@gostai.com>
+
+	Update data/README.
+	* data/README: Document glr.cc, lalr1.java, m4sugar and xslt.
+
+2008-12-08  Akim Demaille  <demaille@gostai.com>
+
+	Install autoconf as a submodule to get m4sugar.
+	* .gitmodules: Add submodules/autoconf.
+	* data/m4sugar/foreach.m4, data/m4sugar/m4sugar.m4: Now links into
+	submodules/autoconf.
+
+2008-12-08  Akim Demaille  <demaille@gostai.com>
+
+	Test token.prefix in all the skeletons.
+	* data/java.m4 (b4_token_enum): Use the token.prefix.
+	* tests/local.at (AT_BISON_OPTION_PUSHDEFS): Define AT_TOKEN_PREFIX.
+	* tests/calc.at (_AT_DATA_CALC_Y): Use it.
+	Add checks for yacc.c, glr.c, lalr1.cc and glr.cc.
+	* tests/java.at: Comment changes.
+	(AT_CHECK_JAVA_MINIMAL): Define the END token.
+	(Java parser class and package names): Add token.prefix check.
+
+2008-12-08  Akim Demaille  <demaille@gostai.com>
+
+	Fix regeneration of atconfig.
+	* tests/local.mk (tests/atconfig): The rule was incorrect, but
+	remove it: now that there is no tests/Makefile.am, the top-level
+	Makefile properly updates atconfig when needed.
+
+2008-12-07  Di-an Jan  <dianj@freeshell.org>
+
+	Implement the FIXME that ends an user action with a semicolon
+	if it seems necessary.
+	* src/scan-code.l (flex rules section): Flag cpp directive from
+	any `#' to the first unescaped end-of-line.  Semicolon is not
+	needed after `;', `{', '}', or cpp directives and is needed after
+	any other token (whitespaces and comments have no effect).
+	* tests/actions.at (Fix user actions without a trailing semicolon):
+	New test.
+	* tests/input.at (AT_CHECK_UNUSED_VALUES): Add semicolons to
+	to make user actions complete statements.
+	Adjust column numbers in error messages.
+	* tests/regression.at (Fix user actions without a trailing semicolon):
+	Remove.  Covered by new test.
+
+2008-12-07  Akim Demaille  <demaille@gostai.com>
+
+	Update gnulib.
+	* gnulib: Update from master.
+
+2008-12-05  Eric Blake  <ebb9@byu.net>
+
+	Avoid compiler warning.
+	* src/output.c (muscle_insert_item_number_table): Delete unused
+	function.
+
+2008-12-02  Eric Blake  <ebb9@byu.net>
+
+	Build testsuite with newer autoconf.
+	* tests/output.at (m4_expand): Don't override in newer autoconf,
+	where the underlying implementation changed.
+	* tests/cxx-type.at (_AT_RESOLVED_GLR_OUTPUT)
+	(_AT_RESOLVED_GLR_OUTPUT_WITH_LOC, _AT_AMBIG_GLR_OUTPUT)
+	(_AT_AMBIG_GLR_OUTPUT_WITH_LOC, _AT_GLR_STDERR)
+	(_AT_VERBOSE_GLR_STDERR): Expand to double-quoted strings,
+	since some of them contain unbalanced ')'.
+
+2008-12-01  Akim Demaille  <demaille@gostai.com>
+
+	Use b4_symbol for printers and destructors everywhere.
+	* data/bison.m4 (b4_symbol_action_location): New.
+	* data/c.m4 (b4_symbol_actions): Remove.
+	Adjust all callers to use by b4_symbol_foreach and the corresponding
+	b4_symbol_printer/destructor macro.
+	* data/glr.cc: Adjust.
+	* data/lalr1.java: Adjust the %destructor sanity check.
+	* src/output.c (symbol_code_props_output): Remove, we no longer
+	need the b4_symbol_printers/destructors tables.
+
+2008-12-01  Akim Demaille  <demaille@gostai.com>
+
+	Use b4_symbol_case_.
+	* data/lalr1.cc, data/bison.m4 (b4_symbol_action): Use
+	b4_symbol_case_.
+
+2008-12-01  Akim Demaille  <demaille@gostai.com>
+
+	Move b4_symbol based macro to bison.m4.
+	* data/lalr1.cc (b4_symbol_, b4_symbol, b4_symbol_if)
+	(b4_symbol_action, b4_symbol_destructor, b4_symbol_printer)
+	(b4_symbol_case_, b4_symbol_foreach, b4_type_action_)
+	(b4_type_foreach): Move to...
+	* data/bison.m4: Here.
+	* data/lalr1.cc (b4_symbol_action): Specialize for C++: use
+	b4_symbol_value_template instead of b4_symbol_value.
+
+2008-12-01  Akim Demaille  <demaille@gostai.com>
+
+	b4_symbol/type_foreach.
+	* data/lalr1.cc (b4_symbol_foreach, b4_type_foreach): New.
+	Use them.
+
+2008-12-01  Akim Demaille  <demaille@gostai.com>
+
+	Use the symbol properties to output the printer/destructor for lalr1.cc.
+	Instead of defining complex list of tuples to define various
+	properties of the symbols, we now prefer to define symbols as
+	"structs" in m4: using the symbol key (its number), and the
+	property name, b4_symbol gives it value.  Use this to handle
+	destructors and printers.
+
+	* src/output.c (CODE_PROP): New.
+	(prepare_symbol_definitions): Use it to define the printer and
+	destructor related attributes of the symbols.
+	* data/lalr1.cc (b4_symbol_actions): Rename as...
+	(b4_symbol_action): this.
+	Use b4_symbol instead of 6 arguments.
+	(b4_symbol_printer, b4_symbol_destructor): New.
+	Use them instead of b4_symbol_actions.
+
+2008-12-01  Akim Demaille  <demaille@gostai.com>
+
+	Avoid capturing variables too easily.
+	* src/muscle_tab.h (MUSCLE_INSERT_BOOL, MUSCLE_OBSTACK_SGROW): Use
+	v__ and p__ instead of v and p.
+
+2008-12-01  Akim Demaille  <demaille@gostai.com>
+
+	Remove spurious empty line before syncline.
+	* data/bison.m4 (b4_syncline): Don't output an empty line before
+	the output.
+
+2008-11-26  Akim Demaille  <demaille@gostai.com>
+
+	Convert lib/Makefile.am into lib/local.mk.
+	The real problem is rather gnulib.mk, which itself is extracted
+	from a Makefile.am that gnulib expects to the "recursive".  The
+	tool prefix-gnulib-mk converts such a gnulib.mk to be
+	non-recursive.  Also, some AC_SUBST variables need to be adjusted.
+
+	* etc/prefix-gnulib-mk: New.
+	* bootstrap (slurp): Use it to convert further gnulib.mk.
+	No longer try to avoid re-creation of lib/gnulib.mk as the changes
+	are deeper.
+	* lib/Makefile.am: Rename as...
+	* lib/local.mk: this.
+	Adjust to be prefixed.
+	* Makefile.am, configure.ac: Adjust.
+	* src/local.mk (AM_CPPFLAGS): Extend it, don't define it.
+
+2008-11-26  Akim Demaille  <demaille@gostai.com>
+
+	s/_FLAGS/FLAGS/.
+	* tests/local.mk (TESTSUITE_FLAGS, AUTOTEST_FLAGS): Rename as...
+	(TESTSUITEFLAGS, AUTOTESTFLAGS): these to compy with the GCS.
+	Reported by Eric Blake.
+
+2008-11-26  Akim Demaille  <demaille@gostai.com>
+
+	Use b4_parser_tables_define in glr.cc.
+	* data/glr.c: Use b4_parser_tables_define instead of defining the
+	(deterministic integral) tables by hand.
+
+2008-11-26  Akim Demaille  <demaille@gostai.com>
+
+	Use b4_parser_tables_define in Java.
+	* data/java.m4 (b4_typed_parser_table): Rename as...
+	(b4_typed_parser_table_define): this, for consistency.
+	Accept a comment as $4.
+	Move $2 into yy*_.
+	(b4_integral_parser_table): Rename as...
+	(b4_integral_parser_table_define): this.
+	* data/lalr1.java: Adjust all uses.
+	Use b4_parser_tables_define instead of generation by hand.
+
+2008-11-26  Akim Demaille  <demaille@gostai.com>
+
+	Prepare the convergence bw C style and Java table generation.
+	* data/bison.m4 (b4_tables_map, b4_tables_declare)
+	(b4_tables_define): Rename as...
+	(b4_integral_parser_tables_map, b4_parser_tables_declare)
+	(b4_parser_tables_define): these.
+	* data/c.m4 (b4_table_define): Rename as...
+	(b4_integral_parser_table_define): this.
+	* data/lalr1.cc: Adjust.
+	(b4_table_define, b4_table_declare): Rename as...
+	(b4_integral_parser_table_define)
+	(b4_integral_parser_table_declare): these.
+	(yyrline_): Move the comment where it is actually used.
+	* data/yacc.c: Adjust.
+	(yyrline): Use b4_integral_parser_table_define.
+
+2008-11-26  Akim Demaille  <demaille@gostai.com>
+
+	Regen.
+	* src/parse-gram.h, src/parse-gram.c: Regen.
+
+2008-11-26  Akim Demaille  <demaille@gostai.com>
+
+	Factor the generation of the (integral) tables bw yacc.c and lalr1.cc.
+	* data/lalr1.cc (b4_tables_map): Move to...
+	* data/bison.m4: here.
+	Update the comment for yytable during the flight.
+	(b4_tables_declare, b4_tables_define): New.
+	* data/lalr1.cc: Use them.
+	* data/c.m4 (b4_table_define): New.
+	* data/yacc.c: Use b4_tables_define instead of output the tables
+	by hand.
+	* tests/regression.at (Web2c Actions): Adjust the expected output,
+	the order of the tables changed.
+
+2008-11-26  Akim Demaille  <demaille@gostai.com>
+
+	Get rid of (yy)rhs and (yy)prhs.
+	These tables are no longer needed in the parsers, and they don't seem to
+	be useful.  They are not documented either.
+
+	* src/output.c (prepare_rules): Get rid of rhs and prhs.
+	Adjust the computation of (yy)r2.
+
+2008-11-26  Akim Demaille  <demaille@gostai.com>
+
+	Rule length is unsigned.
+	* src/gram.h, src/gram.c (rule_rhs_length): Return a size_t.
+
+2008-11-26  Akim Demaille  <demaille@gostai.com>
+
+	Get rid of lalr1-split.cc.
+	It was no longer maintainer.
+
+	* data/lalr1-split.cc: Remove.
+	* etc/bench.pl.in (bench_fusion_parser): Remove.
+	Adjust.
+
+2008-11-26  Akim Demaille  <demaille@gostai.com>
+
+	Use yy* consistently.
+	* data/glr.c: Now that yyrhs no longer exists as a global
+	variable, rename local "rhs" variables into "yyrhs" for
+	consistency.
+
+2008-11-25  Akim Demaille  <demaille@gostai.com>
+
+	Get rid of yyrhs and yyprhs in glr.c.
+	* data/glr.c (yyrhs, yyprhs): Remove.
+	Instead, use the state stack and yystos.
+
+2008-11-25  Akim Demaille  <demaille@gostai.com>
+
+	Flag glr tests.
+	* tests/local.at (_AT_BISON_OPTION_PUSHDEFS): If glr, declare it
+	as an Autotest keyword.
+
+2008-11-25  Akim Demaille  <demaille@gostai.com>
+
+	Prefer TESTSUITE_FLAGS.
+	TESTSUITEFLAGS is barely readable.
+
+	* tests/local.mk (TESTSUITE_FLAGS): Default to $(TESTSUITEFLAGS)
+	for backward compatibility.
+	Use the former instead of the latter.
+
+2008-11-25  Akim Demaille  <demaille@gostai.com>
+
+	Get rid of yyrhs and yyprhs in larl1.java.
+	* data/lalr1.java (yyrhs_, yyprhs_): Remove.
+	(yy_reduce_print): Rather, use yystos_ and the state stack.
+
+2008-11-25  Akim Demaille  <demaille@gostai.com>
+
+	Formatting changes.
+
+2008-11-25  Akim Demaille  <demaille@gostai.com>
+
+	Get rid of yyrhs and yyprhs in yacc.c.
+	They were used to get the symbol types, given a rule number, when
+	displaying the top of the stack before a reduction.  But the
+	symbol type is available from the state stack.  This has two be
+	benefits: two tables less in the parser (making it smaller), and a
+	more consistent use of the three stacks which will help to fuse
+	them.
+
+	* data/yacc.c (yyprhs, yyrhs): Remove.
+	(YY_REDUCE_PRINT): Pass yyssp to yy_reduce_print.
+	(yy_reduce_print): Take yyssp as argument.
+	Use it, together with yystos, to get the symbol type.
+	* tests/regression.at (Web2c Report): Remove these tables from the
+	expected output.
+
+2008-11-25  Akim Demaille  <demaille@gostai.com>
+
+	b4_tables_map.
+	The point is to factor the generation of the tables across skeletons.
+	This is language dependant.
+
+	* data/c.m4 (b4_comment_): New.
+	Should be usable to define how to generate tables independently of
+	the language.
+	(b4_c_comment): New.
+	(b4_comment): Bounce to b4_c_comment.
+	Now support $2 = [PREFIX] for indentation.
+	* data/lalr1.cc (b4_table_declare): Don't output a comment if
+	there is no comment.
+	Indent it properly when there is one.
+	Output the ending semicolon.
+	(b4_table_define): Space changes.
+	Output the ending semicolon.
+	(b4_tables_map): New.
+	Use it twice instead of declaring and defining the (integral)
+	tables by hand.
+
+2008-11-25  Akim Demaille  <demaille@gostai.com>
+
+	b4_table_declare.
+	* data/lalr1.cc (b4_table_declare): New.
+	Use it to declare the tables defined with b4_table_define.
+	(b4_table_define): Declare a third arg to match b4_table_declare
+	signature.
+	Move all the comments around invocations of b4_table_define into
+	the invocations itselves.
+	Move things around to have the order for declarations and
+	definitions.
+
+2008-11-25  Akim Demaille  <demaille@gostai.com>
+
+	Formatting changes.
+	* data/lalr1.java: here.
+
+2008-11-25  Akim Demaille  <demaille@gostai.com>
+
+	b4_args is more general than only C++.
+	* data/lalr1.cc (b4_args, _b4_args): Move to...
+	* data/bison.m4: here.
+
+2008-11-21  Di-an Jan  <dianj@freeshell.org>
+
+	Implement no-XXX arguments for --warnings, --report, --trace.
+	* src/getargs.c (flags_argmatch): Handles no-XXX.
+	Fix typo in doxygen comment.
+
+2008-11-21  Akim Demaille  <demaille@gostai.com>
+
+	Display the changes in cross-options.texi.
+	* build-aux/cross-options.pl ($sep): New, to separate items.
+	* doc/local.mk ($(CROSS_OPTIONS_TEXI)): Use diff to display the
+	changes.
+
+2008-11-20  Di-an Jan  <dianj@freeshell.org>
+
+	Improves options in the manual.
+	* doc/bison.texinfo (-g, -x): Add space before argument.
+	(Option Cross Key): Implement FIXME: listing directives also.
+	* build-aux/cross-options.pl:  Read from <STDIN> rather than <>.
+	(Short Option): Special case -d.  Put arguments inside @option.
+	(Bison Directive): Add column, automatically extracted from
+	src/scan-gram.l (actual name passed as the first argument)
+	with special case for %define.
+	* doc/local.mk (doc/cross-options.texi): Pass src/scan-gram.l
+	to build-aux/cross-options.pl.
+	* src/getargs.c (usage): Document limitations of cross-options.pl.
+	* src/scan-gram.l: Likewise.
+
 2008-11-18  Joel E. Denny  <jdenny@ces.clemson.edu>
 
 	Fix unexpanded macros in GLR defines file.
@@ -1766,9 +2620,9 @@
 2008-08-29  Akim Demaille  <demaille@gostai.com>
 
 	Clarify UPDATED use.
-        * doc/bison.texinfo: It refers to the last edition of this file,
+	* doc/bison.texinfo: It refers to the last edition of this file,
 	not to the release date of Bison.
-        Reported by Joel E. Denny.
+	Reported by Joel E. Denny.
 
 2008-08-29  Akim Demaille  <demaille@gostai.com>
 
@@ -1788,15 +2642,15 @@
 2008-08-27  Akim Demaille  <demaille@gostai.com>
 
 	Check yyerrok in calc.at.
-        * tests/calc.at (calc.y): Use yyerrok on "( error )".
-        (AT_CHECK_CALC): Add a check that ensures that yyerrok works as
-        expected.
+	* tests/calc.at (calc.y): Use yyerrok on "( error )".
+	(AT_CHECK_CALC): Add a check that ensures that yyerrok works as
+	expected.
 
 2008-08-27  Akim Demaille  <demaille@gostai.com>
 
 	Support yyerrok in lalr1.cc.
 	YYBACKUP is still to import back into lalr1.cc.
-        * data/lalr1.cc (yyerrork, yyclearin, YYRECOVERING): Define.
+	* data/lalr1.cc (yyerrork, yyclearin, YYRECOVERING): Define.
 
 2008-08-26  Joel E. Denny  <jdenny@ces.clemson.edu>
 
@@ -22560,8 +23414,8 @@
 	-----
 
 	Copyright (C) 1987, 1988, 1991, 1992, 1993, 1994, 1995, 1996,
-	1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008
-	Free Software Foundation, Inc.
+	1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007,
+	2008, 2009 Free Software Foundation, Inc.
 
 	Copying and distribution of this file, with or without
 	modification, are permitted provided the copyright notice and this