]> git.saurik.com Git - bison.git/commitdiff
* data/glr.c (yyreportTree): Make room in yystates for the state
authorJoel E. Denny <jdenny@ces.clemson.edu>
Wed, 17 May 2006 16:39:40 +0000 (16:39 +0000)
committerJoel E. Denny <jdenny@ces.clemson.edu>
Wed, 17 May 2006 16:39:40 +0000 (16:39 +0000)
preceding the RHS.  This fixes the segmentation fault reported by Derek
M. Jones in
<http://lists.gnu.org/archive/html/help-bison/2006-05/msg00035.html>.
(yyreportTree, yypdumpstack): Subtract 1 from yyrule before printing
to the user.  Reported for yyreportTree by Derek M. Jones later in the
same thread.
* THANKS: Add Derek M. Jones.
Update my email address.
Fix typo in Steve Murphy's name.

ChangeLog
THANKS
data/glr.c

index 0b94fe9a8b6454e6b02b4bb4595dec6615430266..54c344060e14677a82ab6f18e0c662ae75717474 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,16 @@
+2006-05-17  Joel E. Denny  <jdenny@ces.clemson.edu>
+
+       * data/glr.c (yyreportTree): Make room in yystates for the state
+       preceding the RHS.  This fixes the segmentation fault reported by Derek
+       M. Jones in
+       <http://lists.gnu.org/archive/html/help-bison/2006-05/msg00035.html>.
+       (yyreportTree, yypdumpstack): Subtract 1 from yyrule before printing
+       to the user.  Reported for yyreportTree by Derek M. Jones later in the
+       same thread.
+       * THANKS: Add Derek M. Jones.
+       Update my email address.
+       Fix typo in Steve Murphy's name.
+
 2006-05-14  Paul Eggert  <eggert@cs.ucla.edu>
 
        * data/glr.c (yyreportSyntaxError): Fix off-by-one error in
diff --git a/THANKS b/THANKS
index 4ae2d2f8a6f75a57c78bfb95c642154b210e7568..c00580e0b8afbb7432684abf0a8707ef45340773 100644 (file)
--- a/THANKS
+++ b/THANKS
@@ -21,6 +21,7 @@ Cris Bailiff              c.bailiff+bison@awayweb.com
 Cris van Pelt             cris@amf03054.office.wxs.nl
 Daniel Hagerty            hag@gnu.org
 David J. MacKenzie        djm@gnu.org
+Derek M. Jones           derek@knosof.co.uk
 Dick Streefland           dick.streefland@altium.nl
 Enrico Scholz             enrico.scholz@informatik.tu-chemnitz.de
 Evgeny Stambulchik        fnevgeny@plasma-gate.weizmann.ac.il
@@ -34,7 +35,7 @@ Jan Nieuwenhuizen         janneke@gnu.org
 Jesse Thilo               jthilo@gnu.org
 Jim Kent                  jkent@arch.sel.sony.com
 Jim Meyering              jim@meyering.net
-Joel E. Denny             jdenny@hubcap.clemson.edu
+Joel E. Denny             jdenny@ces.clemson.edu
 Juan Manuel Guerrero      ST001906@HRZ1.HRZ.TU-Darmstadt.De
 Kees Zeelenberg           kzlg@users.sourceforge.net
 Keith Browne              kbrowne@legato.com
@@ -67,7 +68,7 @@ Raja R Harinath           harinath@cs.umn.edu
 Richard Stallman          rms@gnu.org
 Robert Anisko             anisko_r@epita.fr
 Shura                     debil_urod@ngs.ru
-Steve Murhpy             murf@parsetree.com
+Steve Murphy             murf@parsetree.com
 Tim Josling               tej@melbpc.org.au
 Tim Van Holder            tim.van.holder@pandora.be
 Tom Lane                  tgl@sss.pgh.pa.us
index 0a4b89996c05b4e9f52cbcb0c36df18a98384f32..d01122a1ded6d34dacb5573e451ddf70799fc64a 100644 (file)
@@ -1741,7 +1741,7 @@ yyreportTree (yySemanticOption* yyx, int yyindent)
   int yynrhs = yyrhsLength (yyx->yyrule);
   int yyi;
   yyGLRState* yys;
-  yyGLRState* yystates[YYMAXRHS];
+  yyGLRState* yystates[1 + YYMAXRHS];
   yyGLRState yyleftmost_state;
 
   for (yyi = yynrhs, yys = yyx->yystate; 0 < yyi; yyi -= 1, yys = yys->yypred)
@@ -1757,11 +1757,11 @@ yyreportTree (yySemanticOption* yyx, int yyindent)
   if (yyx->yystate->yyposn < yys->yyposn + 1)
     YYFPRINTF (stderr, "%*s%s -> <Rule %d, empty>\n",
               yyindent, "", yytokenName (yylhsNonterm (yyx->yyrule)),
-              yyx->yyrule);
+              yyx->yyrule - 1);
   else
     YYFPRINTF (stderr, "%*s%s -> <Rule %d, tokens %lu .. %lu>\n",
               yyindent, "", yytokenName (yylhsNonterm (yyx->yyrule)),
-              yyx->yyrule, (unsigned long int) (yys->yyposn + 1),
+              yyx->yyrule - 1, (unsigned long int) (yys->yyposn + 1),
               (unsigned long int) yyx->yystate->yyposn);
   for (yyi = 1; yyi <= yynrhs; yyi += 1)
     {
@@ -2578,7 +2578,7 @@ yypdumpstack (yyGLRStack* yystackp)
       else
        {
          fprintf (stderr, "Option. rule: %d, state: %ld, next: %ld",
-                  yyp->yyoption.yyrule,
+                  yyp->yyoption.yyrule - 1,
                   (long int) YYINDEX (yyp->yyoption.yystate),
                   (long int) YYINDEX (yyp->yyoption.yynext));
        }