+2009-04-21 Joel E. Denny <jdenny@ces.clemson.edu>
+
+ Document %define lr.type and lr.default_rules.
+ * NEWS (2.5): Add an entry.
+ * src/getargs.c (usage): Mention IELR(1) and canonical LR(1)
+ besides just LALR(1) and GLR(1).
+ * doc/bison.texinfo (Introduction): Likewise.
+ (Language and Grammar): Bison is no longer limited to LALR(1)
+ restrictions.
+ (GLR parsing): Say deterministic or LR(1) rather than LALR(1)
+ when trying to distinguish from GLR. Talk about LR(1) grammars
+ rather than LALR(1) grammars.
+ (Decl Summary): In %define api.push_pull entry, say it applies
+ to deterministic parsers in C rather than LALR(1) parsers in C.
+ Add lr.default_rules entry.
+ Add lr.type entry.
+ (Mystery Conflicts): Bison is no longer limited to LALR(1)
+ restrictions.
+ (Generalized LR Parsing): Same changes as for the previous GLR
+ section.
+ (Memory Management): Say deterministic rather than LALR(1).
+ (Understanding): Correct some bison output.
+ Index discussion of "accepting state".
+ Say deterministic rather than LALR(1).
+ (Bison Options): In --yacc entry, say deterministic rather than
+ LALR(1).
+ In --report, --graph, and --xml entries, just don't mention
+ LALR(1).
+ (C++ Parsers): Say deterministic rather than LALR(1).
+ (Table of Symbols): Likewise in YYSTACK_USE_ALLOCA entry.
+ (Glossary): Add Accepting State, Consistent State, Default Rule,
+ and IELR(1) definitions.
+ In Generalized LR (GLR) definition, make same changes as in
+ previous GLR sections.
+ In LALR(1) definition, say Bison uses LALR(1) by default rather
+ than implying Bison is limited to LALR(1).
+ (LocalWords): Add IELR.
+
+2009-04-21 Joel E. Denny <jdenny@ces.clemson.edu>
+
+ Finish implementing %define lr.type.
+ Its value can be "LALR", "IELR", or "canonical LR".
+ * lib/timevar.def (TV_IELR_PHASE1): New var.
+ (TV_IELR_PHASE2): New var.
+ (TV_IELR_PHASE3): New var.
+ (TV_IELR_PHASE4): New var.
+ * src/Makefile.am (bison_SOURCES): Add AnnotationList.c,
+ AnnotationList.h, InadequacyList.c, InadequacyList.h, Sbitset.c,
+ Sbitset.h, ielr.h, and ielr.c.
+ * src/getargs.h, src/getargs.c (enum trace, trace_args,
+ trace_types): Add trace_ielr.
+ * src/lalr.h, src/lalr.c (ngotos): Export it.
+ (F): Rename to...
+ (goto_follows): ... this, update all uses, and export it.
+ (set_goto_map): Export it.
+ (map_goto): Export it.
+ (compute_lookahead_tokens): Don't free goto_follows yet. Now
+ handled in ielr.
+ (initialize_LA): Export it. Move lookback allocation to...
+ (lalr): ... here because, for canonical LR, initialize_LA must
+ be invoked but lookback and much of the rest of LALR isn't
+ needed.
+ * main.c (main): Instead of lalr, invoke ielr, which invokes
+ lalr.
+ * src/reader.c (reader): Default lr.type to "LALR".
+ Default lr.default_rules to "accepting" if lr.type is "canonical
+ LR". Leave the default as "all" otherwise.
+ Check for a valid lr.type value.
+ * src/state.h, src/state.c (struct state_list): Add state_list
+ member.
+ (state_new): Initialize state_list member to NULL.
+ (state_new_isocore): New function, exported.
+ * tests/existing.at (AT_TEST_EXISTING_GRAMMAR): New macro that
+ exercises all values of lr.type.
+ (GNU AWK Grammar): Rename test group to...
+ (GNU AWK 3.1.0 Grammar): ... this, and extend to use
+ AT_TEST_EXISTING_GRAMMAR.
+ (GNU Cim Grammar): Extend to use AT_TEST_EXISTING_GRAMMAR.
+ (GNU pic Grammar): Rename test group to...
+ (GNU pic (Groff 1.18.1) Grammar): ... this, and extend to use
+ AT_TEST_EXISTING_GRAMMAR.
+ * tests/reduce.at (AT_TEST_LR_TYPE): New macro that exercises
+ all values of lr.type.
+ (Single State Split): New test groups using AT_TEST_LR_TYPE.
+ (Lane Split): Likewise.
+ (Complex Lane Split): Likewise.
+ (Split During Added Lookahead Propagation): Likewise.
+
+2009-04-21 Joel E. Denny <jdenny@ces.clemson.edu>
+
+ Add new files for IELR and canonical LR implementation.
+ * src/AnnotationList.c: New.
+ * src/AnnotationList.h: New.
+ * src/InadequacyList.c: New.
+ * src/InadequacyList.h: New.
+ * src/Sbitset.c: New.
+ * src/Sbitset.h: New.
+ * src/ielr.c: New.
+ * src/ielr.h: New.
+
+2009-04-20 Joel E. Denny <jdenny@ces.clemson.edu>
+
+ Implement %define lr.default_rules.
+ Its value describes the states that are permitted to contain
+ default rules: "all", "consistent", or "accepting".
+ * src/reader.c (reader): Default lr.default_rules to "all".
+ Check for a valid lr.default_rules value.
+ * src/lalr.c (state_lookahead_tokens_count): If lr.default_rules
+ is "accepting", then only mark the accepting state as
+ consistent.
+ (initialize_LA): Tell state_lookahead_tokens_count whether
+ lr.default_rules is "accepting".
+ * src/tables.c (action_row): If lr.default_rules is not "all",
+ then disable default rules in inconsistent states.
+ * src/print.c (print_reductions): Use this opportunity to
+ perform some assertions about whether lr.default_rules was
+ obeyed correctly.
+ * tests/local.at (AT_TEST_TABLES_AND_PARSE): New macro that
+ helps with checking the parser tables for a grammar.
+ * tests/input.at (%define lr.default_rules invalid values): New
+ test group.
+ * tests/reduce.at (AT_TEST_LR_DEFAULT_RULES): New macro using
+ AT_TEST_TABLES_AND_PARSE.
+ (`no %define lr.default_rules'): New test group generated by
+ AT_TEST_LR_DEFAULT_RULES.
+ (`%define lr.default_rules "all"'): Likewise.
+ (`%define lr.default_rules "consistent"'): Likewise.
+ (`%define lr.default_rules "accepting"'): Likewise.
+
+2009-04-20 Akim Demaille <demaille@gostai.com>
+
+ Consistently refer to Yacc, not YACC.
+ * src/getargs.c (usage, warnings_args): s/YACC/Yacc/.
+
+2009-04-17 Joel E. Denny <jdenny@ces.clemson.edu>
+
+ Pacify make maintainer-check-posix.
+ * tests/input.at (%define, --define): Move bison command-line
+ options before grammar file name.
+
+2009-04-04 Joel E. Denny <jdenny@ces.clemson.edu>
+
+ Document semicolon warnings.
+ * NEWS (2.5): Here.
+
+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-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.
+
+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): Describe new -D/--define feature.
+
+2008-11-10 Akim Demaille <demaille@gostai.com>
+
+ --trace=muscles
+ * src/getargs.h, src/getargs.c (trace_muscle): New.
+ (trace_types, trace_args): Support it.
+ * src/output.c (output_skeleton): Use it.
+
+2008-11-10 Akim Demaille <demaille@gostai.com>
+
+ muscles_output.
+ * src/output.c (muscles_output): New, extracted from...
+ (output_skeleton): here.
+ Adjust.
+
+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/Makefile.am ($(srcdir)/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/Makefile.am (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.
+
+2009-02-25 Akim Demaille <demaille@gostai.com>
+
+ Copyright years.
+ * data/glr.c: Add 2007 and 2008 here, consistenly with the comments.
+
+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-11-17 Joel E. Denny <jdenny@ces.clemson.edu>
+
+ Simplify last patch slightly.
+ * src/getargs.c (getargs): Here.
+
+2008-11-17 Joel E. Denny <jdenny@ces.clemson.edu>
+
+ Fix last warning from --enable-gcc-warnings.
+ * src/getargs.c (getargs): Don't assign const address to non-const
+ pointer.
+
+2008-11-17 Di-an Jan <dianj@freeshell.org>
+
+ Handle --enable-gcc-warnings.
+ * src/getargs.c (command_line_location): Set parameters to void.
+
+2008-11-11 Akim Demaille <demaille@gostai.com>
+
+ AT_FULL_COMPILE.
+ * tests/actions.at, tests/regression.at: Use it.
+
+2008-11-07 Akim Demaille <demaille@gostai.com>
+
+ Pass command line location to skeleton_arg and language_argmatch.
+ * src/getargs.h, src/getargs.c (skeleton_arg, language_argmatch):
+ The location argument is now mandatory.
+ Adjust all dependencies.
+ (getargs): Use command_line_location.
+
+2008-11-07 Akim Demaille <demaille@gostai.com>
+
+ -D, --define.
+ * src/getargs.c (usage): Document -D.
+ Fix help string for --locations.
+ (command_line_location): New.
+ (short_options, long_options, getargs): Support -D, --define.
+ (getargs): Move -d support at the right place.
+ * doc/bison.texinfo (Bison Options): Update.
+ * tests/input.at (%define, --define): New.
+
+2008-11-07 Akim Demaille <demaille@gostai.com>
+
+ Initialize the muscle table before parsing the command line.
+ * src/getargs.c (quotearg.h, muscle_tab.h): Include.
+ (getargs): Define file_name.
+ * src/main.c (main): Initialize muscle_tab before calling
+ getargs.
+ * src/muscle_tab.c (muscle_init): No longer define file_name, as
+ its value is not available yet.
+
+2008-11-09 Akim Demaille <demaille@gostai.com>
+
+ Require the generation of parse-gram.output.
+ * src/Makefile.am (YACC): Pass --report=all.
+
+2009-04-06 Joel E. Denny <jdenny@ces.clemson.edu>
+
+ * NEWS (2.5): New stub.
+
+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.
+
+2008-11-07 Akim Demaille <demaille@gostai.com>
+
+ Fix --help.
+ * src/getargs.c (usage): Fix help string for -W.
+
+2008-11-07 Akim Demaille <demaille@gostai.com>
+
+ Handle more general types of option arguments.
+ * build-aux/cross-options.pl: The argument ends at the first
+ space, not the first non-symbol character.
+ Use @var for each word appearing the argument description.
+
+2009-04-04 Joel E. Denny <jdenny@ces.clemson.edu>
+
+ Remove spurious initial empty lines.
+ * data/location.cc: End the @output lines with an @.
+
+2008-11-04 Akim Demaille <demaille@gostai.com>
+
+ Remove spurious initial empty lines.
+ * data/glr.c, data/glr.cc, data/lalr1.cc, data/lalr1.java,
+ * data/yacc.c: End the @output lines with an @.
+
+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: Replace with Autoconf 2.63's 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 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.
+
+2008-11-07 Akim Demaille <demaille@gostai.com>
+
+ Locations without columns for command line arguments.
+ * src/location.c (location_print): Don't display negative columns.
+ * src/location.h: Document this.
+
+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-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.
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.
-----
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