home *** CD-ROM | disk | FTP | other *** search
- Path: sparky!uunet!dtix!darwin.sura.net!wupost!sdd.hp.com!elroy.jpl.nasa.gov!ames!pacbell.com!network.ucsd.edu!mvb.saic.com!ast.saic.com!agnew
- From: agnew@ast.saic.com (Robert Allen Agnew)
- Newsgroups: comp.lang.ada
- Subject: Re: Need new idea to get around sunada 1.0 error
- Message-ID: <1992Aug20.144730.5463@ast.saic.com>
- Date: 20 Aug 92 14:47:30 GMT
- References: <1992Aug19.185609.10211@src.honeywell.com>
- Sender: news@ast.saic.com
- Organization: SAIC
- Lines: 32
-
- In article <1992Aug19.185609.10211@src.honeywell.com> tap@src.honeywell.com (Thomas A Peterson) writes:
- >I am using ayacc to develop a parser and have ran into a problem with
- >the Sun Ada 1.0 compiler returning an internal assertion error.
- >
- >socrates: ada -O0 parser.a
- >internal: assertion error at file lreg.c, line 174
- >cg_ret: 1
- >socrates:
- >
- >Parser.a contains a large case statement that is apparently larger
- >than what the compiler can handle. I have talked to a Verdix employee
- >about the problem and he told me to break up the case statement into
- >smaller case statements but this has not helped.
- >
- >The case statement has 462 case statement alternatives each of which
- >contains about 3 statements. I have tried three approaches to get
- >around the problem so far but each still resulted in the same failure.
- >
- >Has anyone else experienced this problem and found a way around it?
- >
- >Any suggestions would be very much appreciated.
- >
- >Thanks, Tom
-
-
- Here's the way I've solved it. It's not efficient, but as I was bootstrapping,
- I didn't care! Replace the case statement with two or more procedure calls,
- each of which contains a smaller case statement. Extra work at compile time,
- but it works in most cases as procedures are compiled with fresh table
- allocations in most compilers.
-
- agnew@actd.saic.com
-