Anyone extended MAXTABLE in yacc parsers?

"C. H. Seet" <chseet@mbox2.singnet.com.sg>
22 Sep 1998 14:37:09 -0400

          From comp.compilers

Related articles
Anyone extended MAXTABLE in yacc parsers? chseet@mbox2.singnet.com.sg (C. H. Seet) (1998-09-22)
Re: Anyone extended MAXTABLE in yacc parsers? vmakarov@cygnus.com (Vladimir Makarov) (1998-09-22)
Re: Anyone extended MAXTABLE in yacc parsers? corbett@lupa.Eng.Sun.COM (1998-09-24)
Re: Anyone extended MAXTABLE in yacc parsers? corbett@lupa.Eng.Sun.COM (1998-09-24)
Re: Anyone extended MAXTABLE in yacc parsers? mtew@cds.duke.edu (Max TenEyck Woodbury) (1998-09-26)
Re: Anyone extended MAXTABLE in yacc parsers? vadik@siber.com (Vadim Maslov) (1998-09-26)
| List of all articles for this month |
From: "C. H. Seet" <chseet@mbox2.singnet.com.sg>
Newsgroups: comp.compilers
Date: 22 Sep 1998 14:37:09 -0400
Organization: Singapore Telecommunications Ltd
Keywords: yacc, question

I'm using byacc 1.9 on Win32 platform, and I've been trying to generate
a parse table with about 130000 elements (grammar is large).
Byacc's limit (defined by MAXTABLE) is 32500. I've tried extending this
number to 150000, but the resultant table does not work.
I then tried a combination of the following:
    - extend MAXTABLE to 150000
    - redefine BITS_PER_WORD from 32 to 64
    - redefine SETBIT and BIT macros to cope with 64 bit "word"
    - replace "unsigned" by "unsigned __int64" (I'm using Visual C++)
    - replace short by int
    - redefine MAXSHORT from 32767 to 2147483647


I still could not generate a table that works. Does anyone have a
solution, or has anyone successfully extended some variant of yacc
(with source code in public domain) to cope with large grammars? The
source code is necessary as I would like to port over some extensions
I've made.


Looking forward to some help,
    C.H. Seet
[Sorry, I've never used a grammar that didn't fit in the byacc defaults.
Maybe Bob C. will have some suggestions. -John]


--


Post a followup to this message

Return to the comp.compilers page.
Search the comp.compilers archives again.