[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: MAXTABLE & Serious issues with bison 1.30
From: |
Akim Demaille |
Subject: |
Re: MAXTABLE & Serious issues with bison 1.30 |
Date: |
03 Jan 2002 13:46:26 +0100 |
User-agent: |
Gnus/5.0808 (Gnus v5.8.8) XEmacs/21.4 (Common Lisp) |
>>>>> "Tim" == Tim Van Holder <address@hidden> writes:
Tim> Yes, but now try with 'bison -d'; plain bison did work with 1.30
Tim> as well.
???
/tmp % ~/src/bison-1.29/tests/bison -d i4gl.y nostromo 13:41
i4gl.y contient 31 useless nonterminals et 52 useless rules
i4gl.y contient 1059 shift/reduce conflicts and 617 reduce/reduce conflicts.
i4gl.y:4110: erreur fatale: taille maximale de la table (32767) dépassée
/tmp % ~/src/bison-exp/tests/bison -d i4gl.y nostromo Err 1
i4gl.y contient 31 useless nonterminals et 52 useless rules
i4gl.y contient 1059 shift/reduce conflicts and 617 reduce/reduce conflicts.
i4gl.y:4110: erreur fatale: taille maximale de la table (32767) dépassée
Tim> IIRC CVS bison also crashed with -k or -t (not sure which). It
Tim> seems to be pretty rare (other grammars I tried had no such
Tim> problem), so my guess is that this grammar's utter crappyness is
Tim> somehow triggering rare behavior.
???
/tmp % ~/src/bison-exp/tests/bison -d -v -k -t i4gl.y nostromo Err 1
i4gl.y contient 31 useless nonterminals et 52 useless rules
i4gl.y contient 1059 shift/reduce conflicts and 617 reduce/reduce conflicts.
i4gl.y:4110: erreur fatale: taille maximale de la table (32767) dépassée
/tmp % ~/src/bison-1.29/tests/bison -d -v -k -t i4gl.y nostromo Err 1
i4gl.y contient 31 useless nonterminals et 52 useless rules
i4gl.y contient 1059 shift/reduce conflicts and 617 reduce/reduce conflicts.
i4gl.y:4110: erreur fatale: taille maximale de la table (32767) dépassée
Tim> I thought loc was an int (but I could be wrong). Another option
Tim> would be to make MAXTABLE a variable, and double this (followed
Tim> by a realloc of the two or three relevant arrays) if needed.
Tim> This would allow for (probably rare) grammars that need even more
Tim> than 64K.
The problem is the impact on the other architectures. We have to
carefully make sure we don't overflow some arch.
>> Are you in a hurry?
Tim> Not particularly; we're only using this grammar (it's from the
Tim> aubit4gl project on sourceforge, it seems) as a starting point
Tim> for writing our own, so getting this one to work isn't a high
Tim> priority.
OK, good. Thanks!
>> How was this grammar handled before?
Tim> You mean bison flags? We usually use 'bison -dkvt'
I mean, it appears that Bison doesn't handle this grammar, and that it
never did. So my question is: what tool was used? I'd like to see
the code it outputs.
>> ~/src/bison-1.29 % tests/bison /tmp/i4gl.y nostromo 11:17
>> /tmp/i4gl.y contient 31 useless nonterminals et 52 useless rules
Tim> non-terminaux inutils/re`gles inutiles (*)
Yeah, this is atrocious :)
>> /tmp/i4gl.y contient 1059 shift/reduce conflicts and 617
>> reduce/reduce conflicts.
Tim> conflits de shifter/reduire (*)
Tim> (*) Ok, so my French isn't great either :-)
:)
Actually `shift/reduce conflict' is to be said `conflit de
décalage/réduction'.