raymund@sci.UUCP (01/27/87)
Our news has been a little spotty lately so I may have missed part of this
discussion .
The following are problems you'll find when using lettuce 3.03 and blink
to compile vc:
The lettuce "CXERR: 25" was caused by register declarations inside of a
switch/case statement in the function "eval". That is easy enough to fix.
Change the register declarations to ints.
double eval(e)
register struct enode *e; {
......
switch (e->op) {
......
case O_REDUCE('a'):
{ register r,c; /* dies here */
register maxr, maxc; /* dies here */
register minr, minc; /* dies here */
......
}
}
Blink complaining about variables being defined in multiple files can
be remedied by using Alink (ouch!) instead. It is only a warning with Alink.
Another problem you'll find is that lettuce doesn't know what to do with
the following type of printf statement:
printf("lattice cant handle this %*.*f",int1,int2,floatnum);
Lettuce (3.03) prints the "*".
The printf problem can be fixed by sprintf'ing the format string into
a temporary string before calling printf. Pass the temporary string
to printf as the format string.
After hacking around all of these problems, I was left with a partially
working spreadsheet with a minimum muber of bell and whistles that was
extremely slow to update the screen.
Next time around, I'm going to buy the MANX compiler.
- Ray Galvin