]> git.saurik.com Git - bison.git/blobdiff - ChangeLog
Now that states have a complete set of members, the linked list of
[bison.git] / ChangeLog
index dbf340ac37b46d216f63472f47e0b3ed9b89caf2..1df9c0a26582fc998cff4881e429097f52bc27a6 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,75 @@
+2001-12-10  Akim Demaille  <akim@epita.fr>
+
+       Now that states have a complete set of members, the linked list of
+       shifts is useless: just fill directly the state's shifts member.
+
+       * src/state.h (shifts): Remove the `next' member.
+       * src/LR0.c (first_state, last_state): Remove.
+       Adjust the callers.
+       (augment_automaton): Don't look for the shifts that must be added
+       a shift on EOF: it is those of the state we looked for!  But now,
+       since shifts are attached, it is no longer needed to looking
+       merely by its id: its number.
+
+       
+2001-12-10  Akim Demaille  <akim@epita.fr>
+
+       * src/LR0.c (augment_automaton): Better variable locality.
+       Remove an impossible branch: if there is a state corresponding to
+       the start symbol being shifted, then there is shift for the start
+       symbol from the initial state.
+
+       
+2001-12-10  Akim Demaille  <akim@epita.fr>
+
+       * src/LR0.c (augment_automaton): Call `insert_eof_shifting_state'
+       only when appropriate: when insert_start_shifting_state' is not
+       invoked.
+       * tests/regression.at (Rule Line Numbers): Adjust.
+
+       
+2001-12-10  Akim Demaille  <akim@epita.fr>
+
+       * src/LR0.c (augment_automaton): Now that all states have shifts,
+       merge the two cases addition shifts to the initial state.
+
+       
+2001-12-10  Akim Demaille  <akim@epita.fr>
+
+       * src/lalr.c (set_state_table): Move to...
+       * src/LR0.c: here.
+       * src/lalr.c (lalr): Don't call it...
+       * src/LR0.c (generate_states): do it.
+       * src/LR0.h (first_state): Remove, only the table is used.
+
+       
+2001-12-10  Akim Demaille  <akim@epita.fr>
+
+       * src/LR0.h (first_shift, first_reduction): Remove.
+       * src/lalr.c: Don't use first_shift: find shifts through the
+       states.
+
+       
+2001-12-10  Akim Demaille  <akim@epita.fr>
+
+       * src/LR0.c: Attach shifts to states as soon as they are
+       computed.
+       * src/lalr.c (set_state_table): Instead of assigning shifts to
+       state, just assert that the mapping was properly done.
+
+       
+2001-12-10  Akim Demaille  <akim@epita.fr>
+
+       * src/LR0.c (insert_start_shift): Rename as...
+       (insert_start_shifting_state): this.
+       (insert_eof_shifting_state, insert_accepting_state): New.
+       (augment_automaton): Adjust.
+       Better locality of the variables.
+       When looking if the start_symbol is shifted from the initial
+       state, using `while (... symbol != start_symbol ...)' sounds
+       better than `while (... symbol < start_symbol ...)': If fail
+       to see how the order between symbols could be relevant!
+
 2001-12-10  Akim Demaille  <akim@epita.fr>
 
        * src/getargs.h: Don't declare `spec_name_prefix' and