[comp.unix.sysv386] yacc Problem on 386 based System V

tcm@moscom.UUCP (Tom Maszerowski) (09/05/90)

I was wondering if anyone has had problems with yacc on 386 machines. We
are running UNIX System V/386 Release 3.2.2 from Microsoft on a 25 Mhz
386 PC. This is our target machine. We do most of our development on a
Sun4 and then copy sources over to the smaller machine to build release
software. This has not been a problem until recently when a .y file that
yacc on the Sun handles fine bombs on the 386. The output looks like
this:


conflicts: 17 shift/reduce, 89 reduce/reduce

 fatal error: out of space, line 441

conflicts: 17 shift/reduce, 89 reduce/reduce


This file was originally purchased from AT&T as part of the source for
nawk and then modified. The original does make it through 386 yacc with
output like this:


conflicts: 16 shift/reduce, 79 reduce/reduce


We would like to know what space yacc is referring to here ( yes we RTFM
but it doesn't have anything on errors ). None of us here are yacc experts
so if there is something in the system we could tweek it would be a lot
easier. BTW, 386 bison handles this just fine, we can't use it due to
it's licensing requirements.

Thanks in advance.




-- 
Tom Maszerowski	tcm@moscom.com
		{rutgers,ames}!rochester!ur-valhalla!moscom!tcm
**NOTE changed addresses!!

rob@dutncp8.tudelft.nl (Rob Kurver) (09/05/90)

In <2253@moscom.UUCP> tcm@moscom.UUCP (Tom Maszerowski) writes:

>I was wondering if anyone has had problems with yacc on 386 machines. We
>are running UNIX System V/386 Release 3.2.2 from Microsoft on a 25 Mhz
>386 PC. This is our target machine. We do most of our development on a
>Sun4 and then copy sources over to the smaller machine to build release
>software. This has not been a problem until recently when a .y file that
>yacc on the Sun handles fine bombs on the 386. The output looks like
>this:

>conflicts: 17 shift/reduce, 89 reduce/reduce

> fatal error: out of space, line 441

>conflicts: 17 shift/reduce, 89 reduce/reduce

Some yacc's for 386s apear to be compiled with rather small tables (yes,
they appear to not allocate memory dynamically... heck, even the output
file name is fixed!).  I had this same problem a few years back with my
Microport UNIX, at which time Microport was kind enough to offer a version
compiled with bigger tables.  I now run Esix and have no problems with the
table sizes anymore.

My guess is that this is your 'out of space' problem:  one of the internal
tables is full.  Perhaps you can talk your UNIX vendor into giving you a
yacc binary compiled with bigger tables.

Cheers. - Rob

--
Rob Kurver                          rob@dutncp8.tudelft.nl
Computational Physics Group         rob@pact.nl
Faculty of Applied Physics, Delft University of Technology
Beware of low-flying butterflies.

tore@ifi.uio.no (Tore Solvar Karlsen) (09/06/90)

In article <rob.652549702@dutncp8>, rob@dutncp8.tudelft.nl (Rob Kurver) writes:
> 
> Some yacc's for 386s apear to be compiled with rather small tables (yes,
> they appear to not allocate memory dynamically... heck, even the output
> file name is fixed!).  I had this same problem a few years back with my
> Microport UNIX, at which time Microport was kind enough to offer a version
> compiled with bigger tables.  I now run Esix and have no problems with the
> table sizes anymore.
> 
> My guess is that this is your 'out of space' problem:  one of the internal
> tables is full.  Perhaps you can talk your UNIX vendor into giving you a
> yacc binary compiled with bigger tables.

Yesteday, I ran into almost the same problem, trying to compile the last
version of sc (scalc).  The command "yacc -d foo.y "
failed  with an error message hinting about increasing some 
buffer space with a "-Sm#" option . Anyway, changing the command to 
"yacc -d -Sm10400 foo.y " made it, in this case...

The "-S" option in yacc seems not to be documented in the manfile.

OS: SCO unix 3.2 with development kit.

Perhaps someone with more experience can give an explanation.

-- 


Tore Solvar

staff@cadlab.sublink.ORG (Alex Martelli) (09/06/90)

rob@dutncp8.tudelft.nl (Rob Kurver) writes:

	... about out-of-space problems with yacc of Tom Maszerowski ...
>My guess is that this is your 'out of space' problem:  one of the internal
>tables is full.  Perhaps you can talk your UNIX vendor into giving you a
>yacc binary compiled with bigger tables.

I'd guess the same.  However as a fix I'd try "Berkeley yacc", which
is source-distributed but freely usable (no gnu-like restrictions); I 
got it from Austin Codeworks on the same diskette as Bison (and, who 
knows, FSF may be about to change their policy on libraries...?).

-- 
Alex Martelli - CAD.LAB s.p.a., v. Stalingrado 45, Bologna, Italia
Email: (work:) staff@cadlab.sublink.org, (home:) alex@am.sublink.org
Phone: (work:) ++39 (51) 371099, (home:) ++39 (51) 250434; 
Fax: ++39 (51) 366964 (work only; any time of day or night).