]> git.saurik.com Git - bison.git/blobdiff - ChangeLog
doc: fix confusing citation of LAC publication.
[bison.git] / ChangeLog
index ba91749bdff3a0c3a5ea035c6f3b923de6532cfe..12def4defc059e8b4d1bffed612e35a7ad7954ba 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
+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