mirror of
https://git.savannah.gnu.org/git/bison.git
synced 2026-03-21 18:23:03 +00:00
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.
This commit is contained in:
14
ChangeLog
14
ChangeLog
@@ -1,3 +1,17 @@
|
|||||||
|
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>
|
2001-12-29 Akim Demaille <akim@epita.fr>
|
||||||
|
|
||||||
* src/gram.c (ritem_print): Be sure to subtract 1 when displaying
|
* src/gram.c (ritem_print): Be sure to subtract 1 when displaying
|
||||||
|
|||||||
@@ -34,7 +34,14 @@
|
|||||||
#include "reduce.h"
|
#include "reduce.h"
|
||||||
|
|
||||||
int nstates;
|
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 *first_state = NULL;
|
||||||
|
|
||||||
static state_t *this_state = NULL;
|
static state_t *this_state = NULL;
|
||||||
|
|||||||
@@ -328,6 +328,8 @@ state 0
|
|||||||
|
|
||||||
'a' shift, and go to state 1
|
'a' shift, and go to state 1
|
||||||
|
|
||||||
|
$default reduce using rule 3 (@2)
|
||||||
|
|
||||||
expr go to state 2
|
expr go to state 2
|
||||||
@2 go to state 3
|
@2 go to state 3
|
||||||
|
|
||||||
|
|||||||
@@ -158,7 +158,11 @@ transpose: output
|
|||||||
0:
|
0:
|
||||||
|
|
||||||
Lookaheads: BEGIN
|
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 1: 0 lookaheads
|
||||||
State 2: 0 lookaheads
|
State 2: 0 lookaheads
|
||||||
State 3: 0 lookaheads
|
State 3: 0 lookaheads
|
||||||
|
|||||||
Reference in New Issue
Block a user