+2001-12-29 Akim Demaille <akim@epita.fr>
+
+ Fix the `GAWK Grammar' failure.
+
+ * src/LR0.c (final_state): Initialize to -1 so that we do compute
+ the reductions of the first state which was mistakenly confused
+ with the final state because precisely final_state was initialized
+ to 0.
+ * tests/sets.at (Nullable): Adjust: state 0 does have lookaheads,
+ now noticed by Bison.
+ * tests/regression.at (Rule Line Numbers): Adjust: state 0 does
+ have a reduction on $default.
+
+
2001-12-29 Akim Demaille <akim@epita.fr>
* src/gram.c (ritem_print): Be sure to subtract 1 when displaying
#include "reduce.h"
int nstates;
-int final_state;
+/* Initialize the final state to -1, otherwise, it might be set to 0
+ by default, and since we don't compute the reductions of the final
+ state, we end up not computing the reductions of the initial state,
+ which is of course needed.
+
+ FINAL_STATE is properly set by new_state when it recognizes the
+ accessing symbol: EOF. */
+int final_state = -1;
static state_t *first_state = NULL;
static state_t *this_state = NULL;
'a' shift, and go to state 1
+ $default reduce using rule 3 (@2)
+
expr go to state 2
@2 go to state 3
0:
Lookaheads: BEGIN
-State 0: 0 lookaheads
+State 0: 1 lookaheads
+ on 0 ($) -> rule -4
+ on 1 (error) -> rule -4
+ on 2 ($undefined.) -> rule -4
+ on 3 ('e') -> rule -4
State 1: 0 lookaheads
State 2: 0 lookaheads
State 3: 0 lookaheads