]> git.saurik.com Git - bison.git/blobdiff - ChangeLog
* lib/.cvsignore: Add charset.alias.
[bison.git] / ChangeLog
index 6eeb9d4f6cbf5390287d92ff33f13a2f45ea6303..f30378d7eb251090a4c93e5da168f09dc5b786ed 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,95 @@
+2007-07-16  Joel E. Denny  <jdenny@ces.clemson.edu>
+
+       * build-aux/.cvsignore: Add compile.
+       * lib/.cvsignore: Add charset.alias, ref-add.sed, ref-del.sed, and
+       uniwidth.
+
+2007-07-10  Joel E. Denny  <jdenny@ces.clemson.edu>
+
+       * bootstrap (slurp): Create target directories that don't exist.
+       Specifically, we need lib/uniwidth/ because of recent Gnulib changes.
+
+2007-07-09  Joel E. Denny  <jdenny@ces.clemson.edu>
+
+       * LR0.c (new_itemsets): Fix wording in comments: say item index rather
+       than item number.
+       * closure.c (closure): Likewise.
+       * state.h (reductions): Comment sorting of rules.
+       (state): Comment sorting of items.
+
+2007-07-02  Joel E. Denny  <jdenny@ces.clemson.edu>
+
+       Fix C++ test cases after recent Gnulib changes.  Discussed starting at
+       <http://lists.gnu.org/archive/html/bug-bison/2007-07/msg00000.html>.
+       * examples/calc++/Makefile.am (DEFAULT_INCLUDES): Override Automake's
+       definition in order to avoid Gnulib headers since we don't use config.h
+       here.
+       * tests/output.at (AT_CHECK_OUTPUT_FILE_NAME): Use AT_DATA_GRAMMAR
+       rather than AT_DATA so that config.h is included.
+
+2007-07-01  Joel E. Denny  <jdenny@ces.clemson.edu>
+
+       * data/glr.c (yy_yypstack, yypstates, yypdumpstack): Use YYFPRINTF
+       instead of fprintf.  Guard these functions with #if YYDEBUG instead of
+       #ifdef YYDEBUG for consistency with all other uses of YYDEBUG in Bison
+       and so that YYFPRINTF is guaranteed to be defined here.
+
+2007-05-29  Joel E. Denny  <jdenny@ces.clemson.edu>
+
+       * src/muscle_tab.c (muscle_percent_define_invalid_value): Replace
+       with...
+       (muscle_percent_define_check_values): ... this more helpful function.
+       Again, it's not used yet, but it will be.
+       * src/muscle_tab.h: Likewise.
+
+       Improve some comments in parser table construction.
+       * src/LR0.c (new_itemsets): Explain sorting of itemset and kernel_base.
+       (generate_states): Don't mention ruleset, which is internal to closure.
+       * src/closure.c (closure): Explain sorting of core and itemset, which
+       is required for this function to behave correctly.
+       * src/closure.h (closure): Mention sorting.
+
+2007-05-28  Joel E. Denny  <jdenny@ces.clemson.edu>
+
+       * src/lalr.c (state_lookahead_tokens_count): For code readability,
+       move the check for disabled transitions to an aver since conflict
+       resolution hasn't happened yet.
+
+       * src/lalr.c (state_lookahead_tokens_count): Remove the check that
+       labels a state as inconsistent just because it has error transitions.
+       The original form of this check appeared in revision 1.1 of lalr.c,
+       which was committed on 1991-12-21.  Now (at least), changing the
+       consistency label on such a state appears to have no useful effect in
+       any of the places it is examined, which I enumerate below.  The key
+       point to understanding each item in this enumeration is that a state
+       with an error transition is labelled consistent in the first place only
+       if it has no rules, so the check cannot matter for states that have
+       rules.  (1) Labelling a state as inconsistent will cause set_conflicts
+       to try to identify its conflicts, and a state must have *rules* to have
+       conflicts.  (2) Labelling a state as inconsistent will affect how
+       action_row sets the default *rule* for the state.  (3) Labelling a
+       state as inconsistent will cause build_relations to add lookback edges
+       to *rules* in that state.
+       * src/state.h (struct state): Word the comment for member consistent
+       more carefully.
+
+2007-05-27  Joel E. Denny  <jdenny@ces.clemson.edu>
+
+       Don't depend on C99 features.
+       * src/conflicts.c (conflicts_update_state_numbers): Fix for-loop.
+       * src/lalr.c (lalr_update_state_numbers): Fix for-loop.
+       * src/reader.c (check_and_convert_grammar): Fix for-loop.
+       * src/state.c (state_mark_reachable_states): Fix for-loop.
+       (state_remove_unreachable_states): Fix for-loop.
+
+       Don't widen struct state with member reachable just to temporarily
+       record reachability.  Instead, use a local bitset.
+       * src/state.h (struct state): Remove member.
+       * src/state.c (state_new): Don't initialize it.
+       (state_mark_reachable_states): Rename to...
+       (state_record_reachable_states): ... this, and use bitset.
+       (state_remove_unreachable_states): Use bitset.
+
 2007-05-26  Joel E. Denny  <jdenny@ces.clemson.edu>
 
        * src/Makefile.am (yacc): Quote target action commands properly so