+2007-05-20 Joel E. Denny <jdenny@ces.clemson.edu>
+
+ Extend the front-end API for %define variables to more completely
+ mirror the back-end. This will be useful in the future.
+ * data/bison.m4 (b4_percent_define_get, b4_percent_define_ifdef):
+ Update comments to mention the new front-end counterparts of these
+ macros.
+ * src/muscle_tab.c (MUSCLE_COMMON_DECODE): New macro with common code
+ for muscle_string_decode and muscle_location_decode.
+ (muscle_string_decode): New static function.
+ (muscle_location_decode): Use MUSCLE_COMMON_DECODE.
+ (muscle_percent_define_get, muscle_percent_define_ifdef): New
+ functions.
+ (muscle_percent_define_flag_if): Use muscle_percent_define_ifdef and
+ muscle_percent_define_get to mimic the b4_percent_define_flag_if
+ implementation more closely.
+ (muscle_percent_define_invalid_value): New function.
+ * src/muscle_tab.h (muscle_percent_define_get,
+ muscle_percent_define_ifdef, muscle_percent_define_invalid_value):
+ Prototype.
+
+2007-05-07 Joel E. Denny <jdenny@ces.clemson.edu>
+
+ * NEWS (2.3a+): Mention yesterday's state-removal change.
+ (2.3a): Remove the %language entry, which was added after 2.3a.
+ * src/LR0.c, src/closure.c, src/closure.h, src/conflicts.c,
+ src/conflicts.h, src/lalr.c, src/lalr.h, src/print.c,
+ src/print_graph.c, src/state.c, src/state.h, tests/conflicts.at,
+ tests/existing.at: Update copyright date.
+
+2007-05-06 Joel E. Denny <jdenny@ces.clemson.edu>
+
+ If conflict resolution makes states unreachable, remove those states,
+ report rules that are then unused, and don't report conflicts in those
+ states.
+ * src/conflicts.c, src/conflicts.h (conflicts_update_state_numbers):
+ New global function.
+ * src/lalr.c, src/lalr.h (lalr_update_state_numbers): New global
+ function.
+ * src/main.c (main): After conflict resolution, remove the unreachable
+ states and update all data structures that reference states by number.
+ * src/state.c (state_new): Initialize each state's reachable member to
+ false.
+ (state_mark_reachable_states): New static function.
+ (state_remove_unreachable_states): New global function.
+ * src/state.h (struct state): Add member bool reachable.
+ (state_remove_unreachable_states): Prototype.
+ * tests/conflicts.at (Unreachable States After Conflict Resolution):
+ New test case.
+ * tests/existing.at (GNU pic Grammar): Update test case output now that
+ an unused rule is discovered.
+
2007-05-06 Joel E. Denny <jdenny@ces.clemson.edu>
Minor code cleanup in parser table construction.