[comp.sys.amiga] vc notes, minor BLINK annoyance, major lettuce annoyance

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