+2009-08-13 Joel E. Denny <jdenny@clemson.edu>
+
+ Make it easier to write deterministic tests.
+ Continues Akim's work from his 2009-06-10 commits.
+ * src/reader.c (check_and_convert_grammar): Don't add any
+ symbols after the first symbols_do invocation.
+ * src/symtab.c (symbols_sorted): New static global.
+ (user_token_number_redeclaration): Update comments.
+ (symbol_from_uniqstr): If a new symbol is being created, assert
+ that symbols_sorted hasn't been allocated yet.
+ (symbols_free): Free symbols_sorted.
+ (symbols_cmp, symbols_cmp_qsort): New functions.
+ (symbols_do): Sort symbol_table into symbols_sorted on first
+ invocation.
+ * tests/input.at (Numbered tokens): Recombine tests now that the
+ output should be deterministic across multiple numbers.
+
+2009-08-12 Akim Demaille <demaille@gostai.com>
+
+ distcheck: fix.
+
+ * examples/calc++/Makefile.am: (EXTRA_DIST): Ship calc.stamp.
+
+2009-08-10 Joel E. Denny <jdenny@clemson.edu>
+
+ * tests/Makefile.am (TESTSUITE_AT): Add named-refs.at.
+
+2009-08-10 Joel E. Denny <jdenny@clemson.edu>
+
+ Miscellaneous code readability improvements.
+
+ * src/reader.c (reader): Move %define front-end variable
+ defaults and checking into...
+ (prepare_percent_define_front_end_variables): ... this new
+ function.
+
+ * src/scan-gram.l (INITIAL): For consistency with string
+ literals, don't store open quote on character literal. It's
+ discarded before returning anyway.
+ (SC_ESCAPED_CHARACTER): Similarly, don't store close quote.
+ Make length test more readable, and make the character stored
+ for an empty literal more obvious while consistent with the
+ previous behavior.
+
+ * src/symtab.c, src/symtab.h: Rename USER_NUMBER_ALIAS to
+ USER_NUMBER_HAS_STRING_ALIAS throughout.
+ * src/symtab.c (symbol_make_alias): Remove comment from symtab.c
+ that is repeated in symtab.h. Improve argument names to make it
+ clear which side of the symbol-string alias pair is which.
+ (symbol_check_alias_consistency): Improve local variable names
+ for the same purpose.
+ * src/symtab.h (struct symbol): Make comments about aliases
+ clearer.
+ (symbol_make_alias): Improve comments and argument name.
+ * src/output.c (token_definitions_output): Update for rename to
+ USER_NUMBER_HAS_STRING_ALIAS and improve comments about aliases.
+
+2009-08-08 Alex Rozenman <rozenman@gmail.com>
+
+ Convert "misleading reference" messages to warnings.
+ * src/scan-code.l: New function 'show_sub_messages', more
+ factoring.
+ * tests/named-ref.at: Adjust tests.
+
+2009-08-06 Joel E. Denny <jdenny@clemson.edu>
+
+ maint: run "make update-copyright"
+
+2009-08-06 Joel E. Denny <jdenny@clemson.edu>
+
+ maint: make update-b4-copyright easier to use
+ * build-aux/update-b4-copyright: In warnings, report line
+ numbers rather than character positions.
+ * cfg.mk (update-copyright-local): Set to update-b4-copyright so
+ that update-copyright runs it.
+ * gnulib: Update.
+
+2009-08-05 Joel E. Denny <jdenny@clemson.edu>
+
+ maint: clean up update-b4-copyright code
+ * build-aux/update-b4-copyright: Do not accept 2-digit
+ UPDATE_COPYRIGHT_YEAR, which was not handled correctly.
+ Don't accept a `[' in a b4_copyright argument.
+ Format code more consistently.
+ Don't assume b4*copyright never occurs.
+
+2009-08-04 Joel E. Denny <jdenny@clemson.edu>
+
+ maint: automate b4_copyright updates.
+ * Makefile.am (update-b4-copyright): New target rule.
+ * build-aux/Makefile.am (EXTRA_DIST): Add update-b4-copyright.
+ * build-aux/update-b4-copyright: New.
+ * data/yacc.c: Remove stray characters around b4_copyright
+ invocations.
+
+2009-08-04 Joel E. Denny <jdenny@clemson.edu>
+
+ maint: automate annual package-wide copyright-year update.
+ * .x-update-copyright: New.
+ * Makefile.am (EXTRA_DIST): Remove maint.mk.
+ * bootstrap.conf (gnulib_modules): Add maintainer-makefile and
+ update-copyright. Remove gnumakefile, which is implied by
+ maintainer-makefile.
+ * cfg.mk (bootstrap-tools): Copy from old maint.mk.
+ * gnulib: Update.
+ * maint.mk: Remove, now copied from gnulib.
+ * examples/extexi: Add missing "(C)" in copyright statement so
+ update-copyright can recognize it.
+ * src/LR0.h: Likewise.
+ * src/print.h: Likewise.
+ * src/print_graph.h: Likewise.
+ * src/gram.c: Add missing comma in copyright statement.
+ * src/gram.h: Likewise.
+
+2009-08-04 Joel E. Denny <jdenny@clemson.edu>
+
+ Fix "make distcheck".
+ * examples/calc++/Makefile.am: Say $(srcdir)/calc.stamp instead
+ of just calc.stamp.
+
+2009-08-01 Joel E. Denny <jdenny@clemson.edu>
+
+ Pacify "gcc -Wunused" for the input function from Flex.
+ Reported by Alex Rozenman. This warning shows up with gcc-4.3.0
+ and later.
+ * src/scan-code.l: Add "%option noinput", which I cannot find in
+ the Flex manual, but which Flex has supported since at least as
+ far back as 2.5.4. However, if any of our developers still use
+ Flex 2.5.4, they'll need to stop configuring with
+ --enable-gcc-warnings because "%option noinput" didn't work
+ correctly until Flex 2.5.6.
+ * src/scan-gram.l: Likewise.
+ * src/scan-skel.l: Likewise.
+
+2009-07-31 Alex Rozenman <rozenman@gmail.com>
+
+ Fix --enable-gcc-warnings problems.
+ * src/reader.c: Adjust variable names.
+ * src/scan-code.l: Fix prototypes and adjust names.
+ * src/named-ref.c: Remove redundant "if".
+
+2009-07-29 Joel E. Denny <jdenny@ces.clemson.edu>
+
+ Fix a --enable-gcc-warnings problem.
+ * src/scan-gram.l (SC_ESCAPED_CHARACTER): Actually use length
+ variable.
+
+2009-07-24 Alex Rozenman <rozenman@gmail.com>
+
+ Fix some memory leaks.
+ * src/named-ref.c: Add a pointer check (named_ref_free).
+ * src/scan-code.l: New function (variant_table_free). Called in
+ code_scanner_free.
+ * src/symlist.c: Call to named_ref_free (symbol_list_free).
+
+2009-07-24 Joel E. Denny <jdenny@ces.clemson.edu>
+
+ Warn about character literals not of length one.
+ * NEWS (2.5): Document.
+ * src/scan-gram.l (INITIAL): Remove comment that we don't check
+ the length.
+ (SC_ESCAPED_CHARACTER): Warn if length is wrong.
+ * tests/input.at (Bad character literals): New test group.
+
+2009-07-24 Joel E. Denny <jdenny@ces.clemson.edu>
+
+ * src/lalr.c (state_lookahead_tokens_count): Correct comment.
+
+2009-07-22 Joel E. Denny <jdenny@ces.clemson.edu>
+
+ Some M4 cleanup in the testsuite.
+ Suggested by Eric Blake at
+ <http://lists.gnu.org/archive/html/bison-patches/2009-04/msg00083.html>.
+ * tests/existing.at (_AT_TEST_EXISTING_GRAMMAR): Do not
+ complicate the code by distinguishing between a missing value
+ and an empty string value for an optional argument. This fix is
+ allowed by the similar fix in AT_TEST_TABLES_AND_PARSE below.
+ * tests/local.at (_AT_TEST_TABLES_AND_PARSE): Merge into...
+ (AT_TEST_TABLES_AND_PARSE): ... this now that the special
+ arguments are not needed because of the following changes.
+ Fix stale comments.
+ Bison developers should use GNU M4 and should not use
+ POSIXLY_CORRECT when building the test suite, so do not
+ complicate the code by avoiding $10 and above.
+ Do not quote an empty string value for an optional argument, and
+ do not distinguish between a missing value and an empty string
+ value.
+
+2009-07-21 Joel E. Denny <jdenny@ces.clemson.edu>
+
+ * m4/m4.m4: Make it a sym link to submodules/autoconf/m4/m4.m4.
+
+2009-07-15 Joel E. Denny <jdenny@ces.clemson.edu>
+
+ Revert unnecessary column realignment in --help output.
+ Reported by Akim Demaille at
+ <http://lists.gnu.org/archive/html/bison-patches/2009-06/msg00010.html>.
+ * src/getargs.c (usage): Here.
+
+2009-07-04 Alex Rozenman <rozenman@gmail.com>
+
+ Alphabetical order in src/Makefile.am.
+ * src/Makefile.am: Adjust.
+
+2009-07-04 Alex Rozenman <rozenman@gmail.com>
+
+ Style changes and factoring.
+ * src/named-ref.h: Add comments.
+ * src/parse-gram.y: Readability and style changes.
+ * src/reader.c: Factoring: assign_named_ref function.
+ * src/scan-code.l: Factoring and style changes. Rename
+ parse_named_ref to parse_ref. Use "c-ctype.h" from gnulib.
+ Use "unsigned" type for variant index. Improve readablity.
+ * src/scan-gram.l: Change error messages and add comments.
+ * src/symlist.h: symbol_list_null: New function decl.
+ * src/symlist.c: symbol_list_null: Implement here.
+ * tests/named-refs.at: Adjust for new error messages.
+
+2009-06-29 Eric Blake <ebb9@byu.net>
+
+ scan-code: avoid compiler warnings
+ * src/scan-code.l (parse_named_ref): Use correct specifiers.
+
+2009-06-29 Akim Demaille <demaille@gostai.com>
+
+ build: avoid concurrent extraction of calc++.
+ * examples/calc++/Makefile.am (calc.stamp): New.
+ Depend on it to create the sources of calc++ so that concurrent
+ builds don't launch several "extexi" in parallel.
+ Not only this is inefficient, this also builds incorrect sources
+ with several extractions mixed together.
+
+2009-06-27 Alex Rozenman <rozenman@gmail.com>
+
+ Implement support for named symbol references.
+ * src/parse-gram.y: Add new syntax (named_ref.opt).
+ * src/reader.c: Store named refs in symbol lists.
+ * src/reader.h: New argument for symbol_append and
+ action_append functions.
+ * src/scan-code.h: Add new field (named_ref) into
+ code_props data structure. Keeps named ref of midrule
+ actions.
+ * src/scan-code.l: Support for named refs in semantic
+ action code. New function 'parse_named_ref'.
+ * src/scan-gram.l: Support bracketed id.
+ * src/symlist.c: Store named refs in symbol lists.
+ * src/symlist.h: New field in symbol list: named_ref.
+ * src/named-ref.h: New file, a struct for named_ref.
+ * src/named-ref.cp: New file, named_ref_new function.
+ * src/local.mk: Add two new files.
+ * tests/testsuite.at: Include new test group:
+ * tests/named-refs.at: this new file.
+
+2009-06-25 Akim Demaille <demaille@gostai.com>
+
+ hash: check insertion for memory exhaustion.
+ * src/uniqstr.c (uniqstr_new): New.
+
+2009-06-11 Akim Demaille <demaille@gostai.com>
+
+ style changes.
+ * data/xslt/xml2dot.xsl, data/xslt/xml2xhtml.xsl: Space changes.
+ * src/print-xml.c: Style changes.
+ * tests/conflicts.at: Comment changes.
+
+2009-06-11 Akim Demaille <demaille@gostai.com>
+
+ xml: beware of user strings used to give a %prec to rules.
+ * tests/conflicts.at (%prec with user strings): New.
+ * src/gram.c (grammar_rules_print_xml): Escape the precedence for
+ XML output.
+
+2009-06-11 Akim Demaille <demaille@gostai.com>
+
+ hash: check insertion for memory exhaustion.
+ * src/muscle-tab.c (muscle_insert, muscle_grow)
+ * src/state.c (state_hash_insert): Check the return value of
+ hash_insert.
+
+2009-06-10 Akim Demaille <demaille@gostai.com>
+
+ deterministic test suite.
+ Some consistency checks on symbols are performed after all the
+ symbols were read, by an iteration over the symbol table. This
+ traversal is nondeterministic, which can be a problem for test
+ cases.
+ Avoid this.
+ Addresses another form of nondeterminism reported by Joel E. Denny.
+ http://lists.gnu.org/archive/html/bison-patches/2009-05/msg00023.html
+
+ * tests/input.at (Numbered tokens): Split the hexadecimal/decimal
+ test in two.
+ Use different file names for the three tests to make the
+ maintenance easier.
+
+2009-06-10 Akim Demaille <demaille@gostai.com>
+
+ deterministic user-token-number redeclaration errors.
+ Address nondeterminism reported by Joel E. Denny.
+ http://lists.gnu.org/archive/html/bison-patches/2009-05/msg00023.html
+
+ * src/uniqstr.h: Comment changes.
+ * src/location.h (boundary_cmp, location_cmp): New.
+ * src/symtab.c (user_token_number_redeclaration): New.
+ (symbol_translation): Use it.
+ * tests/input.at (Numbered tokens): Adjust the expected output.
+
+2009-05-25 Akim Demaille <demaille@gostai.com>
+
+ gnulib: update.
+ * gnulib: Update to latest.
+ * lib/.cvsignore, lib/.gitignore, m4/.cvsignore,
+ * m4/.gitignore: Regen.
+ * src/symtab.c (symbol_from_uniqstr, semantic_type_from_uniqstr):
+ Call xalloc_die on hash_insert failures.
+ Requested by the new __warn_unused_result__ attribute of
+ hash_insert.
+
+2009-05-22 Joel E. Denny <jdenny@ces.clemson.edu>
+
+ Convert multiple variable definition warnings to complaints.
+ * NEWS (2.5): Add a new entry for that change.
+ * doc/bison.texinfo (Decl Summary): Update %define entry.
+ (Bison Options): Update -D/--define/-F/--force-define entry.
+ * src/muscle_tab.c (muscle_percent_define_insert): Implement.
+ * src/muscle_tab.h (muscle_percent_define_insert): Update
+ comments.
+ * tests/input.at (`%define errors'): Update.
+ (`%define, --define, --force-define'): Update.
+
+2009-05-22 Joel E. Denny <jdenny@ces.clemson.edu>
+
+ -F/--force-define and relative %define/-D/--define priorities.
+ * NEWS (2.5): Add documentation to -D/--define entry.
+ * build-aux/cross-options.pl: Hard-code association of
+ --force-define with %define.
+ * doc/bison.texinfo (Decl Summary): In %define entry,
+ cross-reference command-line options.
+ (Bison Options): Add documentation to -D/--define entry.
+ (Option Cross Key): Widen column for --force-define row.
+ * src/getargs.c (usage): Document -F/--force-define. Realign
+ options in output.
+ (short_options, long_options, getargs): Parse -F/--force-define,
+ and update muscle_percent_define_insert invocation.
+ * src/muscle_tab.h (muscle_percent_define_how): New enum type.
+ (muscle_percent_define_insert): Add argument with that type.
+ * src/muscle_tab.c (muscle_percent_define_insert): Implement
+ -F/--force-define behavior and priorities.
+ * src/parse-gram.y (prologue_declaration): Update
+ muscle_percent_define_insert invocations.
+ * tests/input.at (`%define, --define'): Rename to...
+ (`%define, --define, --force-define'): ... this and extend.
+
+2009-05-22 Joel E. Denny <jdenny@ces.clemson.edu>
+
+ Update some comments to make sense for -D.
+ * data/bison.m4 (b4_check_user_names): In header comments, say
+ "user occurrence" instead of "grammar occurrence".
+ * src/muscle_tab.h (muscle_percent_define_insert): Likewise.
+ (muscle_percent_code_grow): Likewise just for consistency.
+
+2009-05-22 Joel E. Denny <jdenny@ces.clemson.edu>
+
+ * data/c++.m4: Update copyright year.
+
+2009-05-20 Joel E. Denny <jdenny@ces.clemson.edu>
+
+ * data/c++.m4 (b4_namespace_close): Simplify slightly.
+
+2009-05-19 Joel E. Denny <jdenny@ces.clemson.edu>
+
+ Handle a trailing `:' in a user-supplied C++ namespace better.
+ * data/c++.m4 (b4_namespace_close): Don't let it be printed
+ among the closing braces here. This fix might make the
+ generated code easier to debug, but otherwise it should be
+ insignificant because a trailing `:' is a C++ error already.
+
+2009-05-19 Akim Demaille <demaille@gostai.com>
+
+ remove useless variable.
+ * src/getargs.c (skeleton_arg): Remove now useless variable.
+ Should help the compiler see that this printf-like call is sane.
+
+2009-05-11 Akim Demaille <demaille@gostai.com>
+
+ doc: use C++ headers.
+ * doc/bison.texinfo (Calc++ Scanner): Prefer C++ headers to C
+ headers.
+
+2009-05-05 Akim Demaille <demaille@gostai.com>
+
+ fix hexadecimal token number support.
+ * src/scan-gram.l: Catch incorrect ids after hexadecimal numbers.
+
+2009-05-05 Akim Demaille <demaille@gostai.com>
+
+ tests: check token numbers.
+ * tests/input.at (Numbered tokens): New.
+
+2009-05-04 Akim Demaille <demaille@gostai.com>
+
+ bison: catch bad symbol names.
+ * src/scan-gram.l({int}{id}): Report as an invalid identifier.
+ * tests/input.at: Adjust.
+
+2009-05-04 Akim Demaille <demaille@gostai.com>
+
+ space changes.
+ * src/scan-gram.l: Untabify to be robust to zealous editors.
+
+2009-05-04 Akim Demaille <demaille@gostai.com>
+
+ identifiers: dashes are letters.
+ Dashes can now start identifiers (symbols and directives).
+
+ * src/scan-gram.l ({letter}): Add dash.
+ ({id}): Remove it.
+ * tests/input.at (Symbols): Adjust.
+ Remove stray comment.
+ * tests/regression.at (Invalid inputs): Adjust error message.
+ * doc/bison.texinfo (Symbols): Update.
+
+2009-05-01 Joel E. Denny <jdenny@ces.clemson.edu>
+
+ Declare %code to be a permanent feature.
+ * NEWS (2.4.2): Here.
+ * doc/bison.texinfo (Prologue Alternatives): Don't say it's
+ experimental.
+ (Decl Summary): Likewise.
+
+2009-04-30 Joel E. Denny <jdenny@ces.clemson.edu>
+
+ Convert underscores to dashes in some %define variable names.
+ For now, just api.push-pull and lr.keep-unreachable-states.
+ Maintain old names for backward compatibility.
+ * NEWS (2.5): Document.
+ * data/c.m4 (b4_identification): Update comment.
+ * data/yacc.c: Update access.
+ * doc/bison.texinfo: Update.
+ * etc/bench.pl.in (bench_grammar): Update use.
+ * src/files.c (tr): Move to...
+ * src/getargs.c, src/getargs.h (tr): ... here because I can't
+ think of a better place to expose it. My logic is that, for all
+ uses of tr so far, command-line arguments can be involved, and
+ getargs.h is already included.
+ * src/main.c (main): Update access.
+ * src/muscle_tab.c (muscle_percent_define_insert): Convert old
+ variable names to new variable names before assigning value.
+ * src/reader.c (reader): Update setting default.
+ * tests/calc.at: Update uses.
+ * tests/conflicts.at (Unreachable States After Conflict
+ Resolution): Update use.
+ * tests/input.at (%define enum variables): Update use.
+ (%define backward compatibility): New test group.
+ * tests/push.at: Update uses.
+ * tests/reduce.at: Update uses.
+ * tests/torture.at: Update uses.
+
+2009-04-30 Joel E. Denny <jdenny@ces.clemson.edu>
+
+ Set all front-end %define defaults in one place.
+ * src/main.c (main): Move lr.keep_unreachable_states default...
+ * src/reader.c (reader): ... to here.
+
+2009-04-29 Joel E. Denny <jdenny@ces.clemson.edu>
+
+ Rename lr.default_reductions to lr.default-reductions.
+ * NEWS (2.5): Here.
+ * doc/bison.texinfo: Here.
+ * src/lalr.c (initialize_LA): Here.
+ * src/print.c (print_reductions): Here.
+ * src/reader.c (reader): Here.
+ * src/tables.c (action_row): Here.
+ * tests/input.at (%define enum variables): Here.
+ * tests/reduce.at (AT_TEST_LR_DEFAULT_REDUCTIONS): Here.
+
+2009-04-29 Joel E. Denny <jdenny@ces.clemson.edu>
+
+ Pacify ./configure --enable-gcc-warnings.
+ * tests/input.at (Symbols): Prototype yyerror and yylex.
+
+2009-04-21 Akim Demaille <demaille@gostai.com>
+
+ tests: check the use of dashes and periods in symbols.
+ * tests/input.at (Symbol): New test group.
+
+2009-04-29 Joel E. Denny <jdenny@ces.clemson.edu>
+
+ Document how `%define "var" "value"' is not M4-friendly.
+ * src/parse-gram.y (variable): In comments here.
+
+2009-04-29 Joel E. Denny <jdenny@ces.clemson.edu>
+
+ Add copyright updates missed during previous cherry pick.
+ * src/output.c: Here.
+ * src/parse-gram.y: Here.
+ * src/scan-gram.l: Here.
+
+2009-04-20 Akim Demaille <demaille@gostai.com>
+
+ variables: accept dashes.
+ * src/scan-gram.l ({id}): Also accept dashes after the initial
+ letter.
+ ({directive}): Use {id}.
+ * src/parse-gram.y: Comment and formatting changes.
+ * doc/bison.texinfo (Symbols): Adjust the lexical definitions of
+ symbols.
+ * src/complain.h, src/complain.c (yacc_at): New.
+ * src/symtab.c (symbol_new): Use yacc_at to report inappropriate
+ symbol names.
+ * src/output.c (token_definitions_output): Do not #define token
+ names with dashes.
+
+2009-04-24 Joel E. Denny <jdenny@ces.clemson.edu>
+
+ Clean up recent patches a little.
+ Reported by Akim Demaille.
+ * doc/bison.texinfo (Understanding): Fix typos.
+ * src/print.c (print_reductions): Don't use negated variable.
+
+2009-04-24 Joel E. Denny <jdenny@ces.clemson.edu>
+
+ List accepted values for a %define enum variable with an invalid value.
+ Suggested by Akim Demaille at
+ <http://lists.gnu.org/archive/html/bison-patches/2009-04/msg00082.html>.
+ * data/bison.m4 (_b4_percent_define_check_values): Implement.
+ * src/muscle_tab.c (muscle_percent_define_check_values): Implement.
+ * tests/input.at (%define lr.default_reductions invalid values): Merge
+ into...
+ (%define enum variables): ... here, and update output.
+
+2009-04-23 Joel E. Denny <jdenny@ces.clemson.edu>
+
+ Rename "default rule" to "default reduction".
+ This includes changing variable names in code, changing
+ comments, and renaming %define lr.default_rules to %define
+ lr.default_reductions.
+ * NEWS (2.5): Update IELR documentation.
+ * data/glr.c, data/lalr1.cc, data/lalr1.java, data/yacc.c:
+ Adjust YYDEFACT and yydefact_ documentation.
+ * doc/bison.texinfo (Decl Summary): Adjust lr.default_reductions
+ and lr.type documentation. Make some other wording
+ improvements.
+ (Glossary): Adjust cross-references and Default Reduction
+ definition.
+ * src/lalr.c (state_lookahead_tokens_count): Adjust code.
+ Remove a confusing comment pointed out by Akim Demaille.
+ (initialize_LA): Adjust code.
+ * src/print-xml.c (print_reductions): Adjust code.
+ * src/print.c (print_reductions): Adjust code.
+ * src/reader.c (reader): Adjust code.
+ * src/tables.c (action_row): Adjust code.
+ (token_actions): Adjust code.
+ * src/tables.h: Adjust YYDEFACT documentation.
+ * tests/input.at (%define lr.default_rules invalid values):
+ Rename test group to...
+ (%define lr.default_reductions invalid values): ... this, and
+ update grammar file and expected output.
+ * tests/reduce.at (AT_TEST_LR_DEFAULT_RULES): Rename to...
+ (AT_TEST_LR_DEFAULT_REDUCTIONS): ... this, and update.
+
+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.
+ * 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.
+ * lib/Makefile.am (AM_CPPFLAGS): It is now defined by gnulib, so
+ use +=.
+
+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 Joel E. Denny <jdenny@ces.clemson.edu>
+
+ Version 2.4.1.
+ * NEWS: Set version and date.
+ * lib/Makefile.am: Update copyright year.
+ * tests/atlocal.in: Update copyright year.
+
+2008-12-11 Joel E. Denny <jdenny@ces.clemson.edu>
+
+ Semicolon feature removal is not about future language support.
+ * NEWS: The semicolon feature is no longer active for newer languages,
+ so don't claim that it causes trouble for them.
+
+2008-12-11 Joel E. Denny <jdenny@ces.clemson.edu>
+
+ * gnulib: Update submodule to HEAD.
+
+2008-12-09 Akim Demaille <demaille@gostai.com>
+
+ Update data/README.
+ * data/README: Document glr.cc, lalr1.java, m4sugar and xslt.
+
+2008-12-05 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-11-19 Joel E. Denny <jdenny@ces.clemson.edu>
+
+ * NEWS: Clarify a little.
+
+2008-11-19 Joel E. Denny <jdenny@ces.clemson.edu>
+
+ * NEWS: Update for recent changes.
+
+2008-11-18 Joel E. Denny <jdenny@ces.clemson.edu>
+
+ Fix unexpanded macros in GLR defines file.
+ Reported by Csaba Raduly at
+ <http://lists.gnu.org/archive/html/bug-bison/2008-11/msg00048.html>.
+ * THANKS (Csaba Raduly): Add.
+ * data/glr.c: Fix overquoting on b4_prefix for yylval and yylloc.
+ * tests/calc.at (_AT_DATA_CALC_Y): If %defines is specified, generate
+ lexer in a separate module that includes the defines file.
+ (AT_CHECK_CALC): Use AT_FULL_COMPILE and request compilation of lexer
+ source.
+ * tests/local.at (_AT_BISON_OPTION_PUSHDEFS): Push AT_DEFINES_IF.
+ Adjust AT_LOC and AT_VAL to use AT_NAME_PREFIX.
+ (AT_BISON_OPTION_POPDEFS): Pop AT_DEFINES_IF.
+ (AT_DATA_SOURCE_PROLOGUE): New.
+ (AT_DATA_GRAMMAR_PROLOGUE): Use AT_DATA_SOURCE_PROLOGUE.
+ (AT_DATA_SOURCE): New.
+ (AT_FULL_COMPILE): New, copied from master branch and extended to
+ support an additional source file.
+
+2008-11-17 Joel E. Denny <jdenny@ces.clemson.edu>
+
+ Don't let maintainer-*-check targets force a version update.
+ * cfg.mk (_is-dist-target): Implement. maintainer-check* was already
+ handled.
+
+2008-11-17 Di-an Jan <dianj@freeshell.org>
+
+ * doc/bison.texinfo: Synchronize ``Detail Node Listing''.
+ Align menus. Adjust word wrapping. Use node names for menu names.
+ (Examples): Don't abbreviate node names.
+ (LocalWords): Remove abbreviations.
+ (Copying): Make description a sentence.
+ (Java Action Features): Remove period to match the rest of menu.
+
+2008-11-11 Paolo Bonzini <bonzini@gnu.org>
+
+ * bootstrap.conf: Replace m4/warning.m4 with warnings module.
+ * configure.ac: Adjust usage.
+ * lib/Makefile.am: Replace $(WARNING_CFLAGS) with $(WARN_CFLAGS).
+ * src/Makefile.am: Replace $(WARNING_CFLAGS) with $(WARN_CFLAGS).
+ * tests/atlocal.in: Replace $(WARNING_*FLAGS) with $(WARN_*FLAGS).
+
+2008-11-07 Joel E. Denny <jdenny@ces.clemson.edu>
+
+ Don't add a semicolon to actions for %skeleton or %language.
+ It breaks Java test cases as reported by Akim Demaille.
+ * src/scan-code.l: Implement.
+
+2008-11-07 Joel E. Denny <jdenny@ces.clemson.edu>
+
+ Clean up %skeleton and %language priority implementation.
+ * src/getargs.c (skeleton_prio): Use default_prio rather than 2, and
+ remove static qualifier because others will soon need to see it.
+ (language_prio): Likewise.
+ (getargs): Use command_line_prio rather than 0.
+ * src/getargs.h (command_line_prio, grammar_prio, default_prio): New
+ enum fields.
+ (skeleton_prio): Extern it.
+ (language_prio): Extern it.
+ * src/parse-gram.y: Use grammar_prio rather than 1.
+
+2008-11-04 Akim Demaille <demaille@gostai.com>
+
+ * NEWS: Mention the trailing semicolon in action.
+
+2008-11-04 Akim Demaille <demaille@gostai.com>
+
+ Reformat NEWS.
+ * NEWS: Use more outline-mode markup.
+ Suggested by Jim Meyering.
+
+2008-11-04 Joel E. Denny <jdenny@ces.clemson.edu>
+
+ Fix user actions without a trailing semicolon.
+ Reported by Sergei Steshenko at
+ <http://lists.gnu.org/archive/html/bug-bison/2008-11/msg00001.html>.
+ * THANKS (Sergei Steshenko): Add.
+ * src/scan-code.l (SC_RULE_ACTION): Fix it.
+ * tests/regression.at (Fix user actions without a trailing semicolon):
+ New test case.
+
+2008-11-02 Joel E. Denny <jdenny@ces.clemson.edu>
+
+ Initiate further development.
+ * NEWS: Create an empty section for new entries.
+ * gnulib: Update submodule to HEAD.
+
+2008-11-02 Joel E. Denny <jdenny@ces.clemson.edu>
+
+ * NEWS: Version 2.4.
+
+2008-11-02 Joel E. Denny <jdenny@ces.clemson.edu>
+
+ Prepare for next release.
+ * NEWS: Briefly mention changes since 2.3b.
+ * README: Say GNU m4 1.4.6, which we've been requiring in release
+ announcements already, not 1.4.3, which breaks the build.
+
+2008-11-02 Joel E. Denny <jdenny@ces.clemson.edu>
+
+ Say %language is experimental.
+ We're thinking of extending it's effect on output file naming. See the
+ thread at
+ <http://lists.gnu.org/archive/html/bison-patches/2008-10/msg00003.html>.
+ * NEWS: Say it's experimental.
+ * doc/bison.texinfo (Decl Summary): Say it's experimental, and so don't
+ recommend it over %skeleton for now.
+ (Bison Options): Likewise.
+ (C++ Bison Interface): Use %skeleton not %language.
+ (Calc++ Parser): Use %skeleton not %language.
+ * src/getargs.c (usage): Say it's experimental.
+
+2008-11-01 Di-an Jan <dianj@freeshell.org>
+ Paolo Bonzini <bonzini@gnu.org>
+
+ Support all Java parser class modifiers.
+ * data/java.m4 (b4_percent_define_get3): New.
+ (b4_final_if, b4_strictfp_if): New.
+ * data/lalr1.java (final, strictfp, extends, implements): Support.
+ * doc/bison.texinfo (final, strictfp, extends, implements): Add
+ documentation.
+ * tests/java.at (AT_CHECK_JAVA_MINIMAL): New.
+ (AT_CHECK_JAVA_MINIMAL_W_LEXER): New.
+ (AT_CHECK_JAVA_GREP): New.
+ (Java parser class modifiers): New test.
+ (Java parser class extends and implements): New test.
+
+ Model exception propagation better with throws and lex_throws.
+ * data/java.m4 (b4_list2): New.
+ (throws): Change default.
+ * data/lalr1.java (yyaction): Add throws.
+ (parse): Add lex_throws in addition to throws.
+ * doc/bison.texinfo (throws, lex_throws): Add documentation.
+ * tests/java.at (Java throws specifications): New test.
+
+ Improve documentation for Java parsers.
+ * doc/bison.texinfo (Java Parsers): Add subsections.
+ Don't quote first argument of %define.
+ (Java Bison Interface): Document output files. Move documentation
+ of parser class and merge into Java Parser Interface. Document
+ features that error out. Document directives with no effect.
+ Move note about Javadoc higher.
+ (Java Semantic Values): Explicitly mention stype.
+ Document that generic types cannot be used.
+ (Java Location Values): Use @deftypeivar. Document constructors.
+ Correct return value for toString.
+ (Java Parser Interface): List undocumented constants/fields.
+ Move documentation of fields added by %parse-param closer to list
+ of members. Document that token names are added as fields.
+ Document constructors accurately. Remove error method.
+ (Java Scanner Interface): Move note on %pure-parser to Java Bison
+ Interface. Describe %code lexer and yylex accutately.
+ Remove documentation that does not match the code.
+ (Java Action Features): New.
+ (Java Differences): Add reference. Add item on semantic values.
+ Add note about @{ ... @}. Clarify %% epilogue placement.
+ (Java Declarations Summary): New.
+
+ Fix Java skeleton.
+ * data/java.m4 (b4_prefix): Correct quoting for m4_define_default.
+ (b4_remove_comma): Quote test argument.
+ (b4_identification): Remove "bison" field.
+ * tests/java.at (Java parser class and package names): New test.
+ (Java %parse-param and %lex-param): New test.
+ (Java stype, position_class and location_class): New test.
+
+2008-10-31 Di-an Jan <dianj@freeshell.org>
+
+ * data/lalr1.jave: Update copyright years.
+ (YYParser): Correct name of "generated from" file in Javadoc:
+ use b4_file_name instead of @ofile@.
+ (Location constructor): Correct Javadoc parameter name.
+ (yylloc): Add missing opening m4 quote after b4_location_if.
+ This removes a stray [ in the Javadoc of Lexer.getStartPos.
+ (Lexer.yyerror): Fix incorrect m4 and Javadoc.
+ (YYParser constructor): Correct Javadoc parameter name.
+
+2008-10-30 Joel E. Denny <jdenny@ces.clemson.edu>
+
+ Always put auxiliary code files in the same dir as other output files.
+ * src/files.c (compute_file_name_parts): When the user specifies
+ --output but not --file-prefix, extract the directory prefix from the
+ file prefix not from the grammar file name. This affects the location
+ of files like location.hh generated by the C++ skeleton. The includes
+ in the other output files require this fix.
+ * tests/output.at (AT_CHECK_OUTPUT): Automatically create directories
+ for expected output files.
+ (Output files): Add a test for the above.
+
+2008-10-29 Joel E. Denny <jdenny@ces.clemson.edu>
+
+ * gnulib: Update submodule to HEAD.
+
+2008-10-28 Joel E. Denny <jdenny@ces.clemson.edu>
+
+ Update copyright year.
+ * src/files.c: Here.
+
+2008-10-28 Di-an Jan <dianj@freeshell.org> (tiny change)
+
+ Don't overwrite the input file.
+ * src/files.c (output_file_name_check): Fatal error if using input file
+ for output.
+ * tests/output.at: (AT_CHECK_CONFLICTING_OUTPUT): Add return status
+ argument.
+ (Conflicting output files): Add test.
+
+2008-10-28 Akim Demaille <demaille@gostai.com>
+
+ Space changes.
+ * data/lalr1.cc: Formatting changes.
+
+2008-10-28 Akim Demaille <demaille@gostai.com>
+
+ Don't define debugging functions when !YYDEBUG.
+ * data/lalr1.cc (debug_stream, set_debug_stream)
+ (debug_level_type, debug_level, set_debug_level): Don't
+ declare them when YYDEBUG is not defined.
+ The implementation are already YYDEBUG-aware.
+
+2008-10-28 Akim Demaille <demaille@gostai.com>
+
+ Prefer "continue" for empty loop bodies.
+ * etc/bench.pl.in: Use "continue" instead of {}.
+
+2008-10-28 Akim Demaille <demaille@gostai.com>
+
+ Space and comments changes.
+ * data/c++.m4, data/glr.c, data/lalr1.cc: Copyright year changes.
+ * data/c.m4, data/lalr1.cc: Space changes.
+
+2008-10-28 Akim Demaille <demaille@gostai.com>
+
+ Make gnulib a submodule.
+ * gnulib: New.
+ * .gitmodules (gnulib): New.
+
+2008-10-18 Joel E. Denny <jdenny@ces.clemson.edu>
+
+ Fix yyerror_range for user-defined location type in C++. Reported by
+ Georg Sauthoff at
+ <http://lists.gnu.org/archive/html/bug-bison/2008-08/msg00008.html>.
+ * data/lalr1.cc (parse): Change type of yyerror_range to location_type.
+ * THANKS (Georg Sauthoff): Add.
+
+2008-10-18 Joel E. Denny <jdenny@ces.clemson.edu>
+
+ Update several administrative files mainly to facilitate releasing.
+ * HACKING (Administrivia): Make the git-merge-changelog notes more
+ helpful.
+ (Test suite): Don't say lalr1.cc is not exercised in the test suite.
+ (Release Procedure): Update for git and add numerous details that were
+ previously missing.
+ * Makefile.am (EXTRA_DIST): Remove Makefile.cfg and Makefile.maint.
+ * maint.mk (announcement): Don't list bison as a bootstrap tool so
+ that announcements don't claim we bootstrapped with whatever bison
+ happened to be in PATH. Add flex as a bootstrap tool.
+ * Makefile.maint: Remove, previously replaced by maint.mk.
+ * Makefile.cfg: Remove, and migrate settings to...
+ * cfg.mk: ... here for the sake of `make announcement'.
+ * bootstrap.conf (gnulib_modules): Add announce-gen.
+ * README: Say GNU Bison instead of just Bison. Suggested by Karl
+ Berry.
+
+2008-10-08 Di-an Jan <dianj@freeshell.org> (tiny change)
+
+ Small but important bugfixes for the Java skeleton.
+ * data/lalr1.java (yyerror): Change Location to b4_location_type.
+ (yy_symbol_print): Call toString on yyvaluep.
+
+2008-08-29 Akim Demaille <demaille@gostai.com>
+
+ Clarify UPDATED use.
+ * doc/bison.texinfo: It refers to the last edition of this file,
+ not to the release date of Bison.
+ Reported by Joel E. Denny.
+
+2008-08-29 Akim Demaille <demaille@gostai.com>
+
+ * README: Update FAQ pointer.
+ Reported by Joel E. Denny.
+
+2008-08-27 Eric Blake <ebb9@byu.net>
+
+ Resync m4sugar from autoconf.
+ * data/m4sugar/m4sugar.m4 (m4_defn, m4_popdef, m4_undefine)
+ (m4_init): Adjust to latest m4.git changes.
+ (m4_mapall_sep, _m4_list_cmp, m4_version_compare): Reduce side
+ effects.
+ * data/m4sugar/foreach.m4 (_m4_shiftn): Fix off-by-one bug.
+ (_m4_list_cmp): Reduce side effects.
+
+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.
+
+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.
+
+2008-08-26 Joel E. Denny <jdenny@ces.clemson.edu>
+
+ For maintainer-check*, don't recompile for a $(VERSION) update.
+ * cfg.mk: New file.
+ (_is-dist-target): Override the one in GNUmakefile.
+ * Makefile.am (EXTRA_DIST): Add cfg.mk.
+
+2008-08-26 Joel E. Denny <jdenny@ces.clemson.edu>
+
+ Update for recent change to gnulib.
+ * src/parse-gram.y: Don't include strverscmp.h. It comes from
+ string.h now.
+
+2008-08-15 Eric Blake <ebb9@byu.net>
+
+ Remaining m4sugar merge from autoconf.
+ * data/m4sugar/m4sugar.m4: Copy entire file from autoconf.
+ * data/m4sugar/foreach.m4: New file, copied from autoconf.
+ * data/Makefile.am (dist_m4sugar_DATA): Distribute it.
+ * src/output.c (output_skeleton): Tell m4 how to find it.
+
+ Partial m4sugar merge from autoconf: m4_map.
+ * data/m4sugar/m4sugar.m4 (m4_fst): Delete.
+ (m4_map, m4_map_sep, _m4_map): Rewrite more efficiently.
+ (m4_apply, _m4_apply, m4_mapall, m4_mapall_sep): New macros.
+ * data/java.m4 (b4_token_enums): Use more efficient short-circuit
+ for empty list.
+ * data/c.m4 (b4_token_defines, b4_token_enums, b4_c_ansi_formals):
+ Likewise.
+ (b4_parse_param_for): Avoid m4_fst, now that autoconf no longer
+ declares it.
+
+2008-08-07 Joel E. Denny <jdenny@ces.clemson.edu>
+
+ Keep .version and PACKAGE_VERSION in sync.
+ * Makefile.am ($(top_srcdir)/.version): Declare configure as a
+ dependency, and add comments justifying this in more detail. Discussed
+ starting at
+ <http://lists.gnu.org/archive/html/bison-patches/2008-07/msg00022.html>.
+
+2008-08-06 Eric Blake <ebb9@byu.net>
+
+ Partial m4sugar merge from autoconf: m4_shiftn.
+ * data/m4sugar/m4sugar.m4 (m4_shiftn): Faster implementation.
+ (m4_shift2, m4_shift3): New macros.
+ (m4_case, m4_bmatch, m4_bpatsubsts, m4_join): Adjust clients.
+ * data/c.m4 (b4_c_function_def, b4_c_ansi_function_def)
+ (b4_c_ansi_function_decl, b4_c_function_call): Likewise.
+ * data/java.m4 (b4_remove_comma): Likewise.
+
+ Partial m4sugar merge from autoconf: m4_wrap vs. m4 1.6.
+ * data/m4sugar/m4sugar.m4 (m4_unquote, m4_wrap_lifo): New macros.
+ (m4_wrap): Guarantee FIFO order, in spite of m4 1.6.
+ (m4_init): Consolidate wrapped text into single m4_wrap.
+ * data/bison.m4 (b4_check_user_names_wrap): Stick with LIFO order
+ in wrapped text.
+
+2008-08-05 Eric Blake <ebb9@byu.net>
+
+ Partial m4sugar merge from autoconf: builtins, version.m4.
+ * data/m4sugar/m4sugar.m4 (changeword): Nuke.
+ (m4_prepend): Remove, as it is unused and inherently quadratic,
+ whereas m4_append is linear in newer m4.
+ (m4_mkstemp): New builtin.
+ (m4_symbols): Make rename conditional.
+ (m4_version_prereq): Ensure fatal error if used in bison, which
+ intentionally lacks version.m4.
+
+ Fix comments in m4sugar.
+ * data/m4sugar/m4sugar.m4: Comment changes, borrowed from autoconf.
+
+2008-08-02 Joel E. Denny <jdenny@ces.clemson.edu>
+
+ Update for recent .gitignore fix in Gnulib.
+ * bootstrap: Back out 2008-07-18 hack now that gnulib-tool creates
+ anchored .gitignore entries.
+
+2008-08-02 Joel E. Denny <jdenny@ces.clemson.edu>
+
+ Set gnu or gnits strictness.
+ * configure.ac (AM_INIT_AUTOMAKE): Set gnu strictness during
+ development and gnits strictness for releases. Based on Eric Blake's
+ suggestion at
+ <http://lists.gnu.org/archive/html/bug-bison/2008-07/msg00019.html>.
+
+2008-07-31 Paolo Bonzini <bonzini@gnu.org>
+
+ * NEWS: Clarify documentation of %language.
+
+2008-07-31 Paolo Bonzini <bonzini@gnu.org>
+
+ Support usage of git-merge-changelog.
+ * .gitattributes: New.
+ * HACKING: Document usage of git-merge-changelog.
+ * bootstrap: Install git-merge-changelog entries in .git/config
+ if appropriate.
+
+2008-07-27 Joel E. Denny <jdenny@ces.clemson.edu>
+
+ Remove remaining dependence on CVS Id keyword.
+ * ChangeLog: For the sake of people still using CVS, don't use dollars
+ when mentioning Id.
+ * data/xslt/bison.xsl: Remove Id from header comments, where it was
+ unusual anyway.
+ * data/xslt/xml2dot.xsl: Likewise.
+ * data/xslt/xml2text.xsl: Likewise.
+ * data/xslt/xml2xhtml.xsl: Likewise.
+ * doc/Doxyfile.in (PROJECT_NUMBER): Don't use ID.
+ * doc/Makefile.am (neutralize): Remove, no longer needed.
+ (.x.1): Don't use neutralize.
+ (edit): Don't substitute for ID.
+ (Doxyfile): Don't define Id, and thus don't depend on ChangeLog.
+
+2008-07-27 Joel E. Denny <jdenny@ces.clemson.edu>
+
+ Fix dependence on computed configure variables.
+ * doc/Makefile.am (common_dep): Depend on $(top_srcdir)/configure not
+ $(top_srcdir)/configure.ac so that changes to computed variables, such
+ as PACKAGE_VERSION, are seen.
+ * tests/Makefile.am ($(srcdir)/package.m4): Likewise.
+
+2008-07-20 Joel E. Denny <jdenny@ces.clemson.edu>
+
+ Update copyright dates for recent changes.
+ * Makefile.am: Here.
+ * src/Makefile.am: Here.
+ * src/reduce.c: Here.
+ * tests/reduce.at: Here.
+
+2008-07-18 Joel E. Denny <jdenny@ces.clemson.edu>
+
+ Use git-version-gen for version names between releases.
+ * .cvsignore (.tarball-version, GNUmakefile, *~): Add.
+ * .gitignore (/.tarball-version, /GNUmakefile, /*~): Add.
+ * .prev-version: New.
+ * .version.in: Remove.
+ * ChangeLog: Remove the Id previously used for capturing the CVS
+ revision.
+ * GNUmakefile: Remove, now copied from Gnulib.
+ * Makefile.am: Add code suggested by comments in
+ build-aux/git-version-gen.
+ (EXTRA_DIST): Remove GNUmakefile, handled by Gnulib. Add maint.mk,
+ .prev-version, and .version.
+ * NEWS (2.3b+): Rename to...
+ (?.?): ... this because we're dropping the "+" version naming scheme,
+ but, in general, we still can't be sure of our next release name.
+ * bootstrap: Add a quick hack to remove from .gitignore the
+ GNUmakefile entry that gnulib adds. We already have a /GNUmakefile
+ entry. This should really be fixed in gnulib instead.
+ * bootstrap.conf (gnulib_modules): Add gnumakefile.
+ * configure.ac (AC_INIT): Set version name by invoking
+ build-aux/git-version-gen.
+ (AC_CONFIG_FILES): Remove .version, now generated by
+ build-aux/git-version-gen.
+ * maint.mk: New, copied from coreutils.
+ * doc/.cvsignore (bison.1): Add.
+ * doc/.gitignore (/bison.1): Add.
+ * doc/bison.1: Remove, generated.
+ * src/.cvsignore (revision.c): Remove.
+ * src/.gitignore (/revision.c): Remove.
+ * src/Makefile.am (bison_SOURCES): Remove revision.c and revision.h.
+ (BUILT_SOURCES): Remove revision.c.
+ (revision.c): Remove.
+ * src/getargs.c (version): Don't print revision after the VERSION.
+ * src/revision.h: Remove.
+
+2008-07-16 Joel E. Denny <jdenny@ces.clemson.edu>
+
+ Fix untranslatable composition of sentences. Reported by Goran
+ Uddeborg at
+ <http://lists.gnu.org/archive/html/bug-bison/2008-06/msg00000.html>.
+ * THANKS (Goran Uddeborg): Add.
+ * src/reduce.c (reduce_print): Report the number of nonterminals and
+ rules useless in the grammar in separate sentences.
+ * tests/reduce.at (Useless Rules): Update output.
+ (Reduced Automaton): Likewise.
+ (Underivable Rules): Likewise.
+ (Empty Language): Likewise.
+
+2008-07-15 Joel E. Denny <jdenny@ces.clemson.edu>
+
+ Fix some .gitignore and .cvsignore problems.
+ * bootstrap (insert_sorted_if_absent): Replace all uses with...
+ (insert_vc_ignore): ... this new function, which prepends `/' to all
+ .gitignore entries before passing them to insert_sorted_if_absent.
+ * bootstrap.conf (vc_ignore): Set to '.cvsignore .gitignore' so that
+ .cvsignore files are maintained even though Bison developers run
+ bootstrap while using Git.
+ * .cvsignore (*.patch *.log log patches applied): Remove, apparently
+ unneeded by Bison.
+ (gnulib): Add.
+ * .gitignore (/*.patch *.log log patches applied): Remove, broken and
+ unneeded. Reported by Eric Blake.
+ * lib/.gitignore (/*~): Add.
+ * po/.cvsignore, runtime-po/.cvsignore: Sync with .gitignore.
+ * examples/calc++/.gitignore (/calc++.exe): Add. Reported by Eric
+ Blake.
+ * src/.gitignore (/bison.exe): Add. Reported by Eric Blake.
+
+2008-07-15 Joel E. Denny <jdenny@ces.clemson.edu>
+
+ Improve forward-compatibility with GNU M4. Reported by Eric Blake at
+ <http://lists.gnu.org/archive/html/bug-bison/2008-07/msg00000.html>.
+ * bootstrap.conf (gnulib_modules): Add unsetenv.
+ * lib/.gitignore, lib/.cvsignore (/unsetenv.c): Add.
+ * m4/.gitignore, m4/.cvsignore (/environ.m4): Add.
+ (/setenv.m4): Add.
+ * src/output.c (output_skeleton): For the m4 invocation, pass -dV as
+ the first argument because it may become position-dependent, and unset
+ POSIXLY_CORRECT so Bison's skeletons have access to GNU M4 extensions.
+ Add comments explaining these issues in more detail.
+
+2008-07-14 Joel E. Denny <jdenny@ces.clemson.edu>
+
+ Add .gitignore everywhere based on .cvsignore.
+ * .gitignore: New.
+ * build-aux/.gitignore: New.
+ * data/.gitignore: New.
+ * doc/.gitignore: New.
+ * etc/.gitignore: New.
+ * examples/.gitignore: New.
+ * examples/calc++/.gitignore: New.
+ * lib/.gitignore: New.
+ * m4/.gitignore: New.
+ * po/.gitignore: New.
+ * runtime-po/.gitignore: New.
+ * src/.gitignore: New.
+ * tests/.gitignore: New.
+
+2008-05-27 Joel E. Denny <jdenny@ces.clemson.edu>
+
+ * NEWS (2.3b+): New section, empty for now.
+ * configure.ac (AC_INIT): 2.3b -> 2.3b+.
+
+2008-05-27 Joel E. Denny <jdenny@ces.clemson.edu>
+
+ * NEWS (2.3b): Update release date since there has been a delay in
+ getting the announcements and tarballs out.
+
+2008-05-23 Joel E. Denny <jdenny@ces.clemson.edu>
+
+ * NEWS: Version 2.3b.
+ * configure.ac (AC_INIT): Likewise.
+ (PACKAGE_COPYRIGHT_YEAR): Update to 2008.
+
+2008-05-23 Joel E. Denny <jdenny@ces.clemson.edu>
+
+ * HACKING: Don't say don't mention HACKING in the ChangeLog. We've
+ been doing it for years.
+ (Test suite): Mention maintainer-push-check and maintainer-xml-check.
+ (Release Procedure): Add FIXME about make alpha being unmaintained.
+
+2008-05-13 Joel E. Denny <jdenny@ces.clemson.edu>
+
+ * data/yacc.c: Reformat m4 a little for readability.
+ * src/lalr.c (build_relations): Correct comment.
+
+2008-05-12 Juan Manuel Guerrero <juan.guerrero@gmx.de>
+
+ DJGPP specific issue.
+ * djgpp/config.sed: Fixes required to run configure scripts generated
+ by autoconf 2.62.
+
+2008-05-07 Joel E. Denny <jdenny@ces.clemson.edu>
+
+ * HACKING (Release Procedure): translation@iro.umontreal.ca is now
+ coordinator@translationproject.org.
+
+2008-05-06 Joel E. Denny <jdenny@ces.clemson.edu>
+
+ * THANKS: Add Eric Blake.
+
+2008-04-23 Eric Blake <ebb9@byu.net>
+
+ Revert prior patch, by working around autoconf regression.
+ * tests/output.at (m4_expand): Add workaround for autoconf 2.62.
+ ("Output file name: ("): Uncomment test.
+ ("Output file name: )"): Likewise.
+ Based on an idea from Noah Misch.
+
+2008-04-21 Joel E. Denny <jdenny@ces.clemson.edu>
+
+ Work-around an Autoconf 2.62 AT_SETUP bug that was not present in
+ 2.61. Reported by Juan Manuel Guerrero at
+ <http://lists.gnu.org/archive/html/bug-bison/2008-04/msg00011.html>.
+ * tests/output.at ("Output file name: ("): Comment out test case for
+ now.
+ ("Output file name: )"): Likewise.
+
+2008-04-21 Joel E. Denny <jdenny@ces.clemson.edu>
+
+ * GNUmakefile: Update git-version-gen invocation so make dist
+ succeeds.
+
+2008-04-21 Joel E. Denny <jdenny@ces.clemson.edu>
+
+ Update to the current gnulib CVS repository, and fix trigraph handling
+ in Bison.
+ * bootstrap: Update gnulib CVS repository URL.
+ (symlink_to_dir): Encapsulate the code that guarantees the destination
+ directory exists into...
+ (check_dst_dir): ... this new function, and...
+ (cp_mark_as_generated): ... reuse it here so that bootstrap doesn't
+ fail when copying files into lib/uniwidth/.
+ * src/output.c (prepare_symbols): When writing yytname muscles, where
+ symbol names will be encoded in C-string literals, tell quotearg to
+ escape trigraphs. This used to be the default in gnulib.
+ * tests/regression.at (Token definitions): Because of the change in
+ gnulib's quotearg behavior, string_as_id in parse-gram.y no longer
+ escapes trigraphs in symbol names. Thus, yytname no longer has
+ trigraphs unnecessarily doubly escaped. Update test case output.
+ Extend test case to be sure Bison's own error messages will no longer
+ have trigraphs in symbol names unnecessarily escaped once.
+
+2008-04-20 Joel E. Denny <jdenny@ces.clemson.edu>
+
+ Fix make dist infinite loop reported by Juan Manuel Guerrero at
+ <http://lists.gnu.org/archive/html/bug-bison/2008-01/msg00009.html>.
+ * .cvsignore: Add .version.
+ * .version.in: New.
+ * bootstrap.conf (gnulib_modules): Add git-version-gen.
+ * configure.ac (AC_CONFIG_FILES): Add .version.
+ * build-aux/.cvsignore: Add git-version-gen.
+
+2008-03-08 Joel E. Denny <jdenny@ces.clemson.edu>
+
+ * NEWS (2.3a+): Mention that -g now takes an argument.
+ * doc/bison.texinfo (Bison Options): Reword -W entry a little for
+ consistency. Update the -g and -x entries now that they take
+ arguments. Use brackets to indicate optional arguments.
+ * src/getargs.c (usage): Explain the relationship between arguments of
+ long and short options more completely. Document --defines and -d
+ separately since the former takes an argument but, for POSIX Yacc, the
+ latter does not.
+ (short_options): Let -W take an optional argument like --warnings.
+ (getargs): Sort cases.
+
+2008-02-28 Akim Demaille <demaille@gostai.com>
+
+ * doc/bison.texinfo: Fix a few typos.
+
+2008-02-28 Akim Demaille <akim@epita.fr>
+
+ * doc/bison.texinfo (Bison Options): Document -W.
+ Based on Joel E. Denny's NEWS entry, and Automake's documentation.
+
+2008-02-28 Akim Demaille <akim@epita.fr>
+
+ * src/getargs.c (short_options): Split and sort for readability.
+ -g and -x take optional arguments, just like their long options.
+ * build-aux/cross-options.pl: Use /x to make the regexp easier to
+ understand.
+ Fix the handling of $opt which resulted in all the argument to be
+ considered as optional.
+
+2008-02-22 Joel E. Denny <jdenny@ces.clemson.edu>
+
+ * NEWS (2.3a+): Don't say %language is experimental. Mention Java and
+ say its interface is experimental.
+ * doc/bison.texinfo (Decl Summary): In the %language entry, mention
+ Java.
+ (Bison Options): In the -L and --language entry, mention Java.
+ (Java Bison Interface): Say the interface is experimental.
+ * src/getargs.c (usage): Mention -L and --language.
+
+ * NEWS (2.3a+): Say the push parsing interface is experimental.
+ * doc/bison.texinfo (Push Decl): Likewise.
+ (Decl Summary): Likewise in the "%define api.push_pull" entry.
+ (Push Parser Function): Likewise.
+ (Pull Parser Function): Likewise.
+ (Parser Create Function): Likewise.
+ (Parser Delete Function): Likewise.
+ (Table of Symbols): Likewise in the yypstate_delete, yypstate_new,
+ yypull_parse, and yypush_parse entries.
+
+ * NEWS (2.3a+): Mention XML support, and say the schema is
+ experimental.
+ * doc/bison.texinfo (Bison Options): Mention -x and --xml.
+ * src/getargs.c (usage): Say the XML schema is experimental.
+
+ * NEWS (2.3a+): Say option instead of flag.
+
+2008-02-21 Wojciech Polak <polak@gnu.org>
+
+ * data/xslt/xml2xhtml.xsl (xsl:template match="/"): Change footer
+ text.
+
+2008-02-20 Joel E. Denny <jdenny@ces.clemson.edu>
+
+ Fix impure push parser compile error reported by Bob Rossi at
+ <http://lists.gnu.org/archive/html/help-bison/2008-02/msg00023.html>.
+ * data/yacc.c: Clean up whitespace in the output a little.
+ (yypstate_allocated): Define for impure push parsers regardless of
+ whether the pull interface is also requested.
+ * tests/push.at (Push Parsing: Multiple impure instances): Extend to
+ check impure push parsers without the pull interface.
+
+ * data/yacc.c (yypstate_new): Don't try to invoke yyerror since
+ yyerror takes arguments specified by %parse-param while yypstate_new
+ does not.
+ * doc/bison.texinfo (Parser Create Function): Document that
+ yypstate_new returns 0 for multiple impure parser instances.
+ * tests/push.at (Push Parsing: Multiple impure instances): Update
+ expected stderr output.
+
+2008-02-19 Joel E. Denny <jdenny@ces.clemson.edu>
+
+ * runtime-po/POTFILES.in (push.c): Remove.
+
+2008-02-17 Joel E. Denny <jdenny@ces.clemson.edu>
+
+ * data/Makefile.am (dist_pkgdata_DATA): Remove push.c.
+ * data/push.c: Rename to...
+ * data/yacc.c: ... this, overwriting it.
+ * etc/bench.pl.in (bench_grammar): `%pure-parser'-> `%define api.pure'.
+ `%push-pull-parser' -> `%define api.push_pull "both"'.
+ Remove old yacc.c tests, and update push.c tests to yacc.c.
+
+2008-02-17 Joel E. Denny <jdenny@ces.clemson.edu>
+
+ * data/bison.m4 (b4_percent_code_get): Output %code block comments like
+ `"%code top" blocks' instead of `%code "top" blocks'.
+ * data/push.c: Import yacc.c changes from 2008-01-09 and 2007-08-03.
+ Clean up whitespace in the output a little.
+
+2008-02-16 Joel E. Denny <jdenny@ces.clemson.edu>
+
+ Fix documentation problems reported by Tim Josling at
+ <http://lists.gnu.org/archive/html/bug-bison/2008-01/msg00013.html>.
+ * NEWS (2.3a+): Mention removal of --no-parser, -n, and %no-parser.
+ * doc/bison.texinfo (Token Decl): Token numbers are *nonnegative*
+ integers. Explain the effect of literal string aliases on error
+ messages. Copy token 0 documentation from the C++ skeleton
+ documentation.
+
+2008-02-16 Joel E. Denny <jdenny@ces.clemson.edu>
+
+ Accept a token number in a %left, %right, or %nonassoc for POSIX
+ conformance. Reported by Tim Josling at
+ <http://lists.gnu.org/archive/html/bug-bison/2008-01/msg00010.html>.
+ * NEWS (2.3a+): Mention.
+ * doc/bison.texinfo (Precedence Decl): Describe how literal strings
+ and code numbers are treated by precedence declarations.
+ * src/parse-gram.y (precedence_declaration): Use symbols.prec instead
+ of symbols.1.
+ (symbols.prec): New, just like symbols.1 but uses symbol.prec instead
+ of symbol.
+ (symbol.prec): New, just like symbol but allows INT.
+ * src/symtab.c (symbol_user_token_number_set): Remove an aver that no
+ longer holds.
+ * tests/regression.at (Token number in precedence declaration): New
+ test case.
+
+2008-02-06 Juan Manuel Guerrero <juan.guerrero@gmx.de>
+
+ DJGPP specific issues.
+ * djgpp/config.bat: Add filenames that are not 8.3 clean and that must
+ be changed. Copyright timestamp adjusted.
+ * djgpp/config.sed: Add filenames that are not 8.3 clean and that must
+ be changed. Copyright timestamp adjusted.
+ * djgpp/config.site: Copyright timestamp adjusted.
+ * djgpp/config_h.sed: Copyright timestamp adjusted.
+ * djgpp/djunpack.bat: Copyright timestamp adjusted.
+ * djgpp/fnchnage.lst: Add filenames that are not 8.3 clean to the
+ filename translation list.
+ * djgpp/subpipe.c (init_subpipe): Check the environment variables
+ TMPDIR, TMP and TEMP, in that order, to determinate where the temp
+ files shall be created. Before trying to use the temp dir where the
+ environment variable points to check that the dir really exists. If
+ not default to the cwd as temp dir. Copyright timestamp adjusted.
+ * djgpp/subpipe.h: Copyright timestamp adjusted.
+ * djgpp/testsuite.sed: Copyright timestamp adjusted.
+
+2008-01-30 Paul Eggert <eggert@cs.ucla.edu>
+
+ * doc/bison.texinfo: Update Back-Cover text to reflect new GNU wording.
+
+2008-01-09 Paul Eggert <eggert@cs.ucla.edu>
+
+ * data/yacc.c (yyparse): Correct the comment when locations aren't used.
+ Problem reported by Claudio Saavedra in
+ <http://lists.gnu.org/archive/html/bug-bison/2008-01/msg00003.html>.
+
+2008-01-05 Wojciech Polak <polak@gnu.org>
+
+ * data/xslt/xml2xhtml.xsl (xsl:template match="/"): Precede an XHTML
+ document's title with the input grammar file name.
+
+2007-12-22 Joel E. Denny <jdenny@ces.clemson.edu>
+
+ Automate regression testing of the XML/XSLT implementation. Discussed
+ starting at
+ <http://lists.gnu.org/archive/html/bison-patches/2007-11/msg00021.html>.
+ * configure.ac (XSLTPROC): New substitution.
+ * Makefile.am (maintainer-xml-check): New phony target invoking...
+ * tests/Makefile.am (maintainer-xml-check): ... this new phony target
+ invoking make maintainer-check with BISON_TEST_XML=1.
+ * tests/atlocal.in (XSLTPROC): New.
+ * tests/local.at (AT_BISON_CHECK): New macro to (1) instruct Valgrind
+ not to report reachable memory when Bison is expected to have a
+ non-zero exit status and (2) to compare XML/XSLT output with --graph
+ and --report=all output for every working grammar when
+ BISON_TEST_XML=1.
+ (AT_BISON_CHECK_NO_XML): Likewise, but skip XML checks.
+ (AT_BISON_CHECK_XML): New.
+ (AT_QUELL_VALGRIND): New.
+ * tests/testsuite.at (ORIGINAL_AT_CHECK): Remove this and...
+ (AT_CHECK): ... don't redefine this since this was the old way to
+ quell Valgrind.
+ * tests/actions.at: Rewrite all AT_CHECK invocations for bison as
+ AT_BISON_CHECK invocations.
+ * tests/c++.at: Likewise.
+ * tests/calc.at: Likewise.
+ * tests/conflicts.at: Likewise.
+ * tests/cxx-type.at: Likewise.
+ * tests/existing.at: Likewise.
+ * tests/glr-regression.at: Likewise.
+ * tests/headers.at: Likewise.
+ * tests/input.at: Likewise.
+ * tests/java.at: Likewise.
+ * tests/output.at: Likewise.
+ * tests/push.at: Likewise.
+ * tests/reduce.at: Likewise.
+ * tests/regression.at: Likewise.
+ * tests/sets.at: Likewise.
+ * tests/skeletons.at: Likewise.
+ * tests/synclines.at: Likewise.
+ * tests/torture.at: Likewise.
+ (Big triangle): Use AT_BISON_CHECK_NO_XML instead since this grammar
+ tends to hang xsltproc.
+ (Big horizontal): Likewise.
+
+2007-12-08 Joel E. Denny <jdenny@ces.clemson.edu>
+
+ In XML output, remove redundant class attribute on symbol element.
+ * data/xslt/bison.xsl (xsl:key name="bison:symbolByName"): New.
+ * data/xslt/xml2xhtml.xsl (xsl:template match="symbol"): Use it to
+ look up a symbol to determine whether it's a nonterminal or terminal.
+ * src/gram.c (rule_rhs_print_xml): Remove class attribute.
+ * src/state.c (state_rule_lookahead_tokens_print_xml): Likewise.
+
+ Add prec/assoc information to XML output.
+ * src/gram.c (grammar_rules_print_xml): For each rule that has a
+ %prec, add a percent_prec attribute.
+ * src/print-xml.c (print_grammar): For each terminal that has a
+ precedence or associativity, add a prec or assoc attribute.
+ (xml_indent): New.
+ (xml_puts): Use xml_indent.
+ (xml_printf): Use xml_indent.
+ * src/print-xml.h (xml_indent): Prototype.
+
+ * tests/existing.at (GNU pic Grammar): Fix a rule miscopied from
+ <http://lists.gnu.org/archive/html/bug-bison/2003-04/msg00026.html>.
+
2007-12-08 Joel E. Denny <jdenny@ces.clemson.edu>
* data/xslt/bison.xsl (bison:ruleNumber): Rename to...
glr.cc has already defined b4_pure_flag.
* data/push.c: Define b4_pure_if based on `%define api.pure'.
Remove YYPUSH and YYPULL since they're back in b4_identification again.
- * data/yacc.c Define b4_pure_if based on `%define api.pure'.
+ * data/yacc.c: Define b4_pure_if based on `%define api.pure'.
* doc/bison.texinfo (Pure Decl): Update.
(Push Decl): Update.
(Decl Summary): Add api.pure to %define entry.
* data/xslt/xml2dot.xsl (xsl:template match="automaton/state"): After
2007-10-11 change, the child elements here are items not rules.
- (<xsl:template match="item"): New.
+ (xsl:template match="item"): New.
(xsl:template match="rule"): Update for new reduced itemset.
(xsl:template match="point"): Remove.
(xsl:template match="empty"): For consistency with --graph, don't
-----
Copyright (C) 1987, 1988, 1991, 1992, 1993, 1994, 1995, 1996,
- 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007
- 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
notice are preserved.
-
-$Id$