bison-patches
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

06-fyi-fix-gawk.patch


From: Akim Demaille
Subject: 06-fyi-fix-gawk.patch
Date: Sat, 29 Dec 2001 15:13:42 +0100

Index: ChangeLog
from  Akim Demaille  <address@hidden>
        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.
        
        
Index: src/LR0.c
--- src/LR0.c Fri, 28 Dec 2001 14:44:45 +0100 akim
+++ src/LR0.c Fri, 28 Dec 2001 15:12:20 +0100 akim
@@ -34,7 +34,14 @@
 #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;
Index: tests/sets.at
--- tests/sets.at Fri, 28 Dec 2001 15:11:05 +0100 akim
+++ tests/sets.at Fri, 28 Dec 2001 15:16:24 +0100 akim
@@ -158,7 +158,11 @@ transpose: output
   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
Index: tests/regression.at
--- tests/regression.at Thu, 27 Dec 2001 17:21:22 +0100 akim
+++ tests/regression.at Fri, 28 Dec 2001 15:15:36 +0100 akim
@@ -328,6 +328,8 @@ expr:
 
     'a'        shift, and go to state 1
 
+    $default   reduce using rule 3 (@2)
+
     expr       go to state 2
     @2         go to state 3
 



reply via email to

[Prev in Thread] Current Thread [Next in Thread]