]> git.saurik.com Git - bison.git/blame - ChangeLog
Now that states have a complete set of members, the linked list of
[bison.git] / ChangeLog
CommitLineData
190c4f5f
AD
12001-12-10 Akim Demaille <akim@epita.fr>
2
3 Now that states have a complete set of members, the linked list of
4 shifts is useless: just fill directly the state's shifts member.
5
6 * src/state.h (shifts): Remove the `next' member.
7 * src/LR0.c (first_state, last_state): Remove.
8 Adjust the callers.
9 (augment_automaton): Don't look for the shifts that must be added
10 a shift on EOF: it is those of the state we looked for! But now,
11 since shifts are attached, it is no longer needed to looking
12 merely by its id: its number.
13
14
2a73b93d
AD
152001-12-10 Akim Demaille <akim@epita.fr>
16
17 * src/LR0.c (augment_automaton): Better variable locality.
18 Remove an impossible branch: if there is a state corresponding to
19 the start symbol being shifted, then there is shift for the start
20 symbol from the initial state.
21
22
74392f6a
AD
232001-12-10 Akim Demaille <akim@epita.fr>
24
25 * src/LR0.c (augment_automaton): Call `insert_eof_shifting_state'
26 only when appropriate: when insert_start_shifting_state' is not
27 invoked.
28 * tests/regression.at (Rule Line Numbers): Adjust.
29
30
37c82725
AD
312001-12-10 Akim Demaille <akim@epita.fr>
32
33 * src/LR0.c (augment_automaton): Now that all states have shifts,
34 merge the two cases addition shifts to the initial state.
35
36
6a164e0c
AD
372001-12-10 Akim Demaille <akim@epita.fr>
38
39 * src/lalr.c (set_state_table): Move to...
40 * src/LR0.c: here.
41 * src/lalr.c (lalr): Don't call it...
42 * src/LR0.c (generate_states): do it.
43 * src/LR0.h (first_state): Remove, only the table is used.
44
45
7215de24
AD
462001-12-10 Akim Demaille <akim@epita.fr>
47
48 * src/LR0.h (first_shift, first_reduction): Remove.
49 * src/lalr.c: Don't use first_shift: find shifts through the
50 states.
51
52
80e25d4d
AD
532001-12-10 Akim Demaille <akim@epita.fr>
54
55 * src/LR0.c: Attach shifts to states as soon as they are
56 computed.
57 * src/lalr.c (set_state_table): Instead of assigning shifts to
58 state, just assert that the mapping was properly done.
59
60
0ab3728b
AD
612001-12-10 Akim Demaille <akim@epita.fr>
62
63 * src/LR0.c (insert_start_shift): Rename as...
64 (insert_start_shifting_state): this.
65 (insert_eof_shifting_state, insert_accepting_state): New.
66 (augment_automaton): Adjust.
67 Better locality of the variables.
68 When looking if the start_symbol is shifted from the initial
69 state, using `while (... symbol != start_symbol ...)' sounds
70 better than `while (... symbol < start_symbol ...)': If fail
71 to see how the order between symbols could be relevant!
72
78af9bbc
AD
732001-12-10 Akim Demaille <akim@epita.fr>
74
75 * src/getargs.h: Don't declare `spec_name_prefix' and
76 `spec_file_prefix', declared by src/files.h.
77 * src/files.c, src/files.h: Default for spec_name_prefix is "yy".
78 * src/muscle_tab.c (muscle_init): Default prefix to NULL.
79 * src/output.c (prepare): Adjust.
80 * src/reader.c (symbols_output): Likewise.
81 * src/vmsgetargs.c: Vaguely adjust, but who cares?
82
83
bdef2a41
AD
842001-12-10 Akim Demaille <akim@epita.fr>
85
86 * src/muscle_tab.c (muscle_init): NULL is a better default than
87 `"0"'.
88
89
3735969c
AD
902001-12-10 Akim Demaille <akim@epita.fr>
91
92 * src/reader.c (reader): Calling symbols_output once is enough.
93
94
49701457
AD
952001-12-10 Akim Demaille <akim@epita.fr>
96
97 Now that states have a complete set of members, the linked list of
98 reductions is useless: just fill directly the state's reductions
99 member.
100
101 * src/state.h (struct reductions): Remove member `number' and
102 `next'.
103 * src/LR0.c (first_reduction, last_reduction): Remove.
104 (save_reductions): Don't link the new reductions, store them in
105 this_state.
106 * src/lalr.c (set_state_table): No need to attach reductions to
107 states, it's already done.
108 * src/output.c (output_actions): No longer free the shifts, then
109 the reductions, then the states: free all the states and their
110 members.
111
112
0edad749
AD
1132001-12-10 Akim Demaille <akim@epita.fr>
114
115 * src/options.c (OPTN, DRTV, BOTH): New.
116 (option_table): Use them.
117
118
119 * src/muscle_tab.c: Don't include xalloc.h and string.h: that's
120 the job of system.h.
121 * src/options.c: Don't include stdio.h and xalloc.h for the same
122 reasons.
123
124
5449dd0f
AD
1252001-12-10 Akim Demaille <akim@epita.fr>
126
127 * src/output.c (output, prepare): Make sure the values of the
128 muscles `action' and `prologue' are 0-terminated.
129
a870c567
AD
1302001-12-10 Akim Demaille <akim@epita.fr>
131
132 Clean up GCC warnings.
133
134 * src/reader.c (copy_action): `buf' is not used.
135 (parse_skel_decl): Be static.
136 * src/muscle_tab.c (mhash1, mhash2, muscle_insert): Preserve `const'.
137 * src/options.h (create_long_option_table): Have a real prototype.
138 * lib/hash.c, lib/hash.h (hash_insert, hash_insert_at, hash_delete)
139 (hash_delete_at): Return const void *.
140 Adjust casts to preserve the const.
141
80df8768
AD
1422001-12-10 Akim Demaille <akim@epita.fr>
143
144 * configure.in: Require 2.52g.
145 M4 is not needed, but AUTOM4TE is.
146 * m4/m4.m4: Remove.
147 * tests/Makefile.am: Adjust.
148
149
f693ad14
AD
1502001-12-10 Akim Demaille <akim@epita.fr>
151
152 One structure for states is enough, even though theoretically
153 there are LR(0) states and LALR(1) states.
154
155 * src/lalr.h (state_t): Remove.
156 (state_table): Be state_t **, not state_t *.
157 * src/state.h (core, CORE_ALLOC): Rename as...
158 (state_t, STATE_ALLOC): this.
159 Add the LALR(1) members: shifts, reductions, errs.
160 * src/LR0.c (state_table): Rename as...
161 (state_hash): this, to avoid name clashes with the global
162 `state_table'.
163 * src/print_graph.c, src/LR0.c, src/LR0.h, src/conflicts.c
164 * src/lalr.c, src/lalr.h, src/output.c, src/print.c: Adjust.
165
166
74ffbcb6
AD
1672001-12-10 Akim Demaille <akim@epita.fr>
168
169 Bison dumps core on bash.y.
170 Reported by Pascal Bart.
171
172 * src/warshall.c (bitmatrix_print): New.
173 (TC): Use it.
174 When performing a transitive closure R(i, j) && R(j, k) => R(i, k),
175 j must be the outer loop.
176 * tests/regression.at (Broken Closure): New.
177
07708e19
AD
1782001-12-05 Akim Demaille <akim@epita.fr>
179
180 * tests/atlocal.in (CPPFLAGS): Do not leave a space between -I and
181 its argument.
182