[Top][All Lists]

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

Re: MAXTABLE & Serious issues with bison 1.30

From: Tim Van Holder
Subject: Re: MAXTABLE & Serious issues with bison 1.30
Date: 03 Jan 2002 12:50:58 +0100

On Thu, 2002-01-03 at 11:19, Akim Demaille wrote:
> >>>>> "Akim" == Akim Demaille <address@hidden> writes:
> Akim> Sorry, I was pretty unclear: I meant what Bison limit is hit?
> Akim> Number of rules, number of items, number of symbols, number of
> Akim> gotos etc.  But you seem to have given a grammar, I'll have a
> Akim> look myself, thanks!
> Well, CVS Bison seems to be OK with it :)
> ~/src/bison-exp % LANG=C tests/bison /tmp/i4gl.y                 nostromo Err 
> 1
> /tmp/i4gl.y contains 31 useless nonterminals and 52 useless rules
> /tmp/i4gl.y contains 1059 shift/reduce conflicts and 617 reduce/reduce 
> conflicts.

Yes, but now try with 'bison -d'; plain bison did work with 1.30 as
well.  IIRC CVS bison also crashed with -k or -t (not sure which).
It seems to be pretty rare (other grammars I tried had no such problem),
so my guess is that this grammar's utter crappyness is somehow
triggering rare behavior.

> /tmp/i4gl.y:4110: fatal error: maximum table size (32767) exceeded
> Wow, it is a limitation I had never seen hit before:

Neither did I.

> We are in trouble...  OTOH, since you seem to say doubling is enough,
> we might be OK just by moving to unsigned.

I thought loc was an int (but I could be wrong).  Another option would
be to make MAXTABLE a variable, and double this (followed by a realloc
of the two or three relevant arrays) if needed.  This would allow for
(probably rare) grammars that need even more than 64K.

> Are you in a hurry?

Not particularly; we're only using this grammar (it's from the aubit4gl
project on sourceforge, it seems) as a starting point for writing our
own, so getting this one to work isn't a high priority.

> How was this grammar handled before?

You mean bison flags?  We usually use 'bison -dkvt'

> ~/src/bison-1.29 % tests/bison /tmp/i4gl.y                       nostromo 
> 11:17
> /tmp/i4gl.y contient 31 useless nonterminals et 52 useless rules

non-terminaux inutils/re`gles inutiles (*)

> /tmp/i4gl.y contient 1059 shift/reduce conflicts and 617 reduce/reduce 
> conflicts.

conflits de shifter/reduire (*)

(*) Ok, so my French isn't great either :-)

reply via email to

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