|too many gotos in bison email@example.com (2004-10-17)|
|Re: too many gotos in bison firstname.lastname@example.org (2004-10-21)|
|From:||email@example.com (Nick Chapman)|
|Date:||17 Oct 2004 16:08:26 -0400|
|Keywords:||yacc, question, comment|
|Posted-Date:||17 Oct 2004 16:08:26 EDT|
I have a grammar which exceeds the limit on the number of gotos in
bison. I get this problem in versions 1.28 and 1.875.
The problem is that short is used for indexing the goto_map, which
limits the number of gotos to 32767.
typedef short goto_number;
# define GOTO_NUMBER_MAXIMUM SHRT_MAX
Making a quick change to my bison 1.875 sources, to avoid the abort, I
can see that my grammar has around 45000 gotos.
I understand that other limits have been increased/removed in the more
recent versions of bison - why not the number of gotos? Is this not a
Is the solution just a `simple' matter of changing the typedef for
goto_number to be int, or are there other more subtle dependencies?
Or is it better to try transforming the grammar to reduce the number
of gotos? The problem is, I don't know what aspects of a grammar will
[How many rules does your grammar have? I don't ever recall coming
close to the goto limit. -John]
Return to the
Search the comp.compilers archives again.