+2011-03-20 Joel E. Denny <joeldenny@joeldenny.org>
+
+ doc: fix confusing citation of LAC publication.
+ Suggested by Akim Demaille.
+ * doc/bison.texinfo (LAC): Here.
+
+2011-03-20 Joel E. Denny <joeldenny@joeldenny.org>
+
+ lr.default-reductions: rename "full" value to "most".
+ Unlike "consistent" and "accepting", "full" doesn't answer the
+ question of "which states".
+ * doc/bison.texinfo (%define Summary): Update.
+ (Default Reductions): Update.
+ * src/print.c (print_reductions): Update.
+ * src/reader.c (prepare_percent_define_front_end_variables):
+ Update.
+ * src/tables.c (action_row): Update.
+ * tests/input.at (%define enum variables): Update.
+ * tests/reduce.at (%define lr.default-reductions): Update.
+
+2011-03-13 Joel E. Denny <joeldenny@joeldenny.org>
+
+ * src/parse-gram.c, src/parse-gram.h: Regenerate.
+
+2011-03-09 Akim Demaille <akim@lrde.epita.fr>
+
+ named references: fix double free.
+ In `rhs[name]: "a" | "b"', do not free "name" twice.
+ Reported by Tys Lefering.
+ <http://lists.gnu.org/archive/html/bug-bison/2010-06/msg00002.html>
+ * src/named-ref.h, src/named-ref.c (named_ref_copy): New.
+ * src/parse-gram.y (current_lhs): Rename as...
+ (current_lhs_symbol): this.
+ (current_lhs): New function. Use it to free the current lhs
+ named reference.
+ * src/reader.c: Bind lhs to a copy of the current named reference.
+ * src/symlist.c: Rely on free (0) being valid.
+ * tests/named-refs.at: Test this.
+
+2011-03-09 Akim Demaille <akim@lrde.epita.fr>
+
+ tests: style changes.
+ * tests/named-refs.at (Redundant words in LHS brackets)
+ (Unresolved references): here.
+
+2011-03-06 Joel E. Denny <joeldenny@joeldenny.org>
+
+ java: fix parser tracing bug.
+ * NEWS (2.5): Document.
+ * data/lalr1.java (YYParser::YYStack::print): Don't skip top
+ element.
+
+2011-03-06 Joel E. Denny <joeldenny@joeldenny.org>
+
+ java: finish fixing parser stack popping bug.
+ * NEWS (2.5): Document.
+ * data/lalr1.java (YYParser::YYStack::pop): Fix off-by-one error
+ in clearing the location stack. Also fix pop function that
+ accepts no arguments.
+
+2011-03-06 Angelo Borsotti <angelo.borsotti@gmail.com> (tiny change)
+
+ java: fix parser stack popping bug.
+ Reported at
+ <http://lists.gnu.org/archive/html/bug-bison/2011-02/msg00005.html>.
+ * THANKS (Angelo Borsotti): Add.
+ * data/lalr1.java (YYParser::YYStack::pop): Fix off-by-one error
+ in clearing the value stack. Previously, the top element of the
+ stack wasn't cleared and so the value was not garbage collected.
+
+2011-03-06 Joel E. Denny <joeldenny@joeldenny.org>
+
+ doc: cite publication for LAC.
+ * doc/bison.texinfo (LAC): Here.
+
+2011-03-06 Joel E. Denny <joeldenny@joeldenny.org>
+
+ doc: clean up terminology for mysterious conflicts.
+ * doc/bison.texinfo (Mystery Conflicts): Rename node to...
+ (Mysterious Conflicts): ... this, which is already the section
+ title and the name used in the index. Update all cross-references
+ to this node. Also, don't imply that R/R conflicts are the only
+ kind of mysterious conflict.
+
+2011-03-06 Joel E. Denny <joeldenny@joeldenny.org>
+
+ lr.default-reductions: rename "all" value to "full".
+ States that shift the error token do not have default reductions,
+ and GLR disables some default reductions, so "all" was a misnomer.
+ * doc/bison.texinfo (%define Summary): Update.
+ (Default Reductions): Update.
+ * src/print.c (print_reductions): Update.
+ * src/reader.c (prepare_percent_define_front_end_variables):
+ Update.
+ * src/tables.c (action_row): Update.
+ * tests/input.at (%define enum variables): Update.
+ * tests/reduce.at (%define lr.default-reductions): Update.
+
+2011-03-06 Joel E. Denny <joeldenny@joeldenny.org>
+
+ doc: create a new Tuning LR section in the manual.
+ And clean up all other documentation of the features described
+ there.
+ * NEWS (2.5): Tweak wording of lr.type and parse.lac entries a
+ bit, update the cross-references to the manual, and point out that
+ LAC has caveats. Don't be so adamant that IELR+LAC=canonical LR.
+ That is, as the referenced section in the manual documents, LAC
+ does not fix infinite parsing loops on syntax errors.
+ * doc/bison.texinfo: Consistently drop the "(1)" suffix from LALR,
+ IELR, and LR in @cindex.
+ (%define Summary): Condense the entries for lr.default-reductions,
+ lr.keep-unreachable-states, lr.type, and parse.lac into brief
+ summaries, and cross-reference the appropriate subsections of
+ Tuning LR. For parse.lac, mention that it's only implemented for
+ deterministic parsers in C. In parse.error entry, mention LAC,
+ and add cross-reference to the LAC section.
+ (Error Reporting): When mentioning parse.error, mention LAC, and
+ add cross-reference to the LAC section.
+ (Tuning LR): New section with an extended version of the
+ documentation removed from %define Summary. Change all
+ cross-references in the manual to point here instead of there.
+ (Calc++ Parser): When mentioning parse.error, mention LAC, and add
+ cross-reference to the LAC section.
+ (Table of Symbols): In %error-verbose entry, add cross-reference
+ to Error Reporting.
+ (Glossary): Capitalize entry titles consistently. Add definitions
+ for "defaulted state" and "unreachable state". Expand IELR
+ acronym in IELR's entry.
+
+2011-02-20 Joel E. Denny <joeldenny@joeldenny.org>
+
+ doc: add bibliography to manual.
+ * doc/bison.texinfo (Mystery Conflicts): Cross-reference
+ bibliography instead of citing publications directly.
+ (Generalized LR Parsing): Likewise.
+ (Bibliography): New section. Not all entries are cross-referenced
+ yet, but that will come in future patches.
+
+2011-02-19 Joel E. Denny <joeldenny@joeldenny.org>
+
+ java: test and document previous bug fix.
+ * NEWS (2.5): Document it.
+ * tests/java.at (_AT_DATA_JAVA_CALC_Y): To one of the yyerror
+ invocations, pass a location that spans multiple tokens. Change
+ yyerror to report all of a location rather than just the begin
+ position. Extend yylex and Position to count tokens on a line.
+ Remove getHashCode as it's unused. Update all expected output.
+
+2011-02-19 Bernd Kiefer <kiefer@dfki.de> (tiny change)
+
+ java: fix location handling bug.
+ Reported at
+ <http://lists.gnu.org/archive/html/bison-patches/2011-02/msg00005.html>.
+ * data/lalr1.java (YYParser::yylloc): For non-empty RHS, fix
+ reversed access to location stack.
+ * THANKS (Bernd Kiefer): Add.
+
+2011-02-13 Joel E. Denny <joeldenny@joeldenny.org>
+
+ doc: fix some minor inconsistencies.
+ * doc/bison.texinfo (%define Summary): Fix mislabeled entry for
+ lex_symbol.
+ (%code Summary): For consistency with the variable list in the
+ %define Summary, enclose the list of %code qualifiers in a table
+ instead of an itemize.
+
+2011-02-06 Joel E. Denny <joeldenny@joeldenny.org>
+
+ doc: clean up new subsections in manual.
+ * doc/bison.texinfo (%define Summary): Reword so it reads well as
+ a separate section. For example, add an intro, and move most of
+ the text outside of the @deffn so it is not indented so far.
+ (%code Summary): Likewise.
+ (Table of Symbols): Reword %code entry to match the %code entry in
+ Decl Summary.
+
+2011-02-06 Joel E. Denny <joeldenny@joeldenny.org>
+
+ doc: finish splitting apart the manual's Decl Summary section.
+ Suggested by Akim Demaille at
+ <http://lists.gnu.org/archive/html/bison-patches/2009-05/msg00013.html>.
+ * doc/bison.texinfo (Decl Summary): Extract most of the %define
+ entry into...
+ (%define Summary): ... this new subsection, and update all
+ cross-references. For readability of the patches, rewriting of
+ the text so it makes sense as a separate subsection will come in a
+ later patch. Moreover, the majority of the text describing the
+ various new LR features should likely move to another new section
+ somewhere.
+
+2011-02-06 Joel E. Denny <joeldenny@joeldenny.org>
+
+ doc: begin to split apart the manual's Decl Summary section.
+ Discussed in thread starting at
+ <http://lists.gnu.org/archive/html/bison-patches/2009-05/msg00013.html>.
+ * doc/bison.texinfo (Decl Summary): Extract most of the %code
+ entry into...
+ (%code Summary): ... this new subsection, and update all
+ cross-references. For readability of the patches, rewriting of
+ the text so it makes sense as a separate subsection will come in a
+ later patch.
+
+2011-02-06 Joel E. Denny <joeldenny@joeldenny.org>
+
+ doc: clean up naming of various Bison files.
+ The Bison manual's names for various files associated with a Bison
+ parser has devolved into inconsistency. This patch makes the
+ naming consistent for the most important files. First, it chooses
+ "grammar file" over "input file". The former appears to be more
+ traditional in the Bison manual, and Bison has other input
+ files (skeletons). Second, it chooses "parser implementation
+ file" over names like "parser file", "parser source file", "parser
+ source code file", and "parser output file". The new name makes
+ it clearer where Bison generates the main parser implementation,
+ and it is easily distinguishable from "parser header file".
+ * doc/bison.texinfo: Implement throughout.
+
+2011-02-06 Joel E. Denny <joeldenny@joeldenny.org>
+
+ doc: give credit to more of Bison's developers.
+ * doc/bison.texinfo (Introduction): Don't imply that only Robert
+ Corbett, Richard Stallman, and Wilfred Hansen have contributed to
+ Bison. However, I don't have time to write a full history, so
+ just point readers to THANKS and ChangeLog.
+
+2011-02-06 Joel E. Denny <joeldenny@joeldenny.org>
+
+ doc: document experimental features better.
+ * doc/bison.texinfo (Introduction): Say that IELR(1) and canonical
+ LR(1) are experimental. Mention Java. Normally experimental
+ features probably shouldn't be mentioned in the introduction.
+ However, if Bison's limitations to LALR(1), C, and C++ are so
+ important that they should be mentioned here, then it's important
+ to point out that Bison is beginning to escape those limitations.
+ Moreover, these particular experimental features have very little
+ chance of being removed.
+ * src/getargs.c (usage): Say that IELR(1) and canonical LR(1) are
+ experimental.
+
+2011-01-29 Joel E. Denny <joeldenny@joeldenny.org>
+
+ Do not allow identifiers that start with a dash.
+ This cleans up our previous fixes for a bug whereby Bison
+ discarded `.field' in `$-1.field'. The previous fixes were less
+ restrictive about where a dash could appear in an identifier, but
+ the restrictions were hard to explain. That bug was reported and
+ this final fix was originally suggested by Paul Hilfinger. This
+ also fixes a remaining bug reported by Paul Eggert whereby Bison
+ parses `%token ID -123' as `%token ID - 123' and handles `-' as an
+ identifier. Now, `-' cannot be an identifier. Discussed in
+ threads beginning at
+ <http://lists.gnu.org/archive/html/bug-bison/2011-01/msg00000.html>,
+ <http://lists.gnu.org/archive/html/bug-bison/2011-01/msg00004.html>.
+ * NEWS (2.5): Update entry describing the dash extension to
+ grammar symbol names. Also, move that entry before the named
+ references entry because the latter mentions the former.
+ * doc/bison.texinfo (Symbol): Update documentation for symbol
+ names. As suggested by Paul Eggert, mention the effect of periods
+ and dashes on named references.
+ (Decl Summary): Update documentation for unquoted %define values,
+ which, as a side effect, can no longer start with dashes either.
+ * src/scan-code.l (id): Implement.
+ * src/scan-gram.l (id): Implement.
+ * tests/actions.at (Exotic Dollars): Extend test group to exercise
+ bug reported by Paul Hilfinger.
+ * tests/input.at (Symbols): Update test group, and extend to
+ exercise bug reported by Paul Eggert.
+ * tests/named-refs.at (Stray symbols in brackets): Update test
+ group.
+ ($ or @ followed by . or -): Likewise.
+ * tests/regression.at (Invalid inputs): Likewise.
+
2011-01-24 Joel E. Denny <joeldenny@joeldenny.org>
* data/yacc.c: Fix last apostrophe warning from xgettext.
2011-01-09 Paul Eggert <eggert@cs.ucla.edu>
- Simplify handling of '.' and '-' after unbracketed named references.
- * doc/bison.texinfo (Mid-Rule Actions): Mention that periods and
- dashes make symbol names less convenient for named references.
- * src/scan-code.l:
- (handle_action_dollar): New arg textlen. All callers changed.
- (handle_action_at): Likewise. Also, args are pointers to const.
- (ref_tail_fields): Remove; no longer used.
- (letter): Now includes '-' and '.', since this is for Bison
- identifiers.
- (id): Now the simpler traditional defn, since letters now include
- '-' and '.'.
- (c_letter, c_id): New defns.
- (ref): Use c_id for unbracketed IDs.
- (<SC_RULE_ACTION>): Simplify, now that the distinction between
- Bison and unbracketed IDs are now in the regular expressions.
- (VARIANT_BAD_BRACKETING): Remove.
- (VARIANT_NOT_VISIBLE_FROM_MIDRULE): Renumber.
- (find_prefix_end): Remove, replacing with ....
- (identifier_matches): New function.
- (variant_add): Use it. Omit EXPLICIT_BRACKETING arg; no longer
- needed. CP arg is pointer to constant. All callers changed.
- (show_sub_messages): Remove args CP, EXPLICIT_BRACKETING, DOLLAR_OR_AT.
- New arg TEXT. All callers changed. Do not worry about showing
- trailing context.
- (parse_ref): Args CP, RULE, TEXT are now pointers to const. New
- arg TEXTLEN. Remove arg DOLLAR_OR_AT. All callers changed.
- Simplify code now that the regular expressions capture the
- restrictions.
- * src/scan-gram.l (letter, id): Adjust to match scan-code.l.
- * src/symlist.c (symbol_list_null): Arg is now pointer to const.
- * src/symlist.h: Likewise.
- * tests/named-refs.at (Misleading references): These are now caught
- by the C compiler, not by Bison; that's good enough. Adjust test
- to reflect this.
- (Many kinds of errors, Unresolved references): Adjust expected
- diagnostics to match new behavior. The same errors are caught,
- though the diagnostics are not quite as fancy.
- ($ or @ followed by . or -): Likewise. Also, Make the grammar
- unambiguous, so that diagnostics are not complicated by ambiguity
- warnings.
-
Fix minor problems encountered by a fresh bootstrap.
* data/glr.c, data/yacc.c: Do not use apostrophes in '#' comments,
as they confuse xgettext, which tries to parse them as C character