From: utzoo!decvax!duke!harpo!ihnp4!ihldt!ll1!mn Newsgroups: net.followup Title: SC changes for 11/70's Article-I.D.: ll1.146 Posted: Thu Dec 16 08:50:18 1982 Received: Sun Dec 19 08:10:07 1982 Subject: sc on an 11/70 I had the problem refered to with James Gosling's sc program on an 11/70. The problem is simply that James didn't consider that the program might be run on a 16 bit machine. The fix is really simple I'll try to outline all the changes necessary, I'm not really sure if I can remember everyone of them. I didn't save the orginal source after I got it working. File gram.y: OLD aprox line 14 %union { long ival; double fval; struct ent *ent; struct enode *enode; char *sval; } NEW %union { ! int ival; ! long lval; double fval; struct ent *ent; struct enode *enode; char *sval; } OLD aprox line 23 %type e term %type var %token STRING %token NUMBER NEW %type e term %type var %token STRING !%token NUMBER File lex.c OLD aprox line 65 } else { ret = NUMBER; yylval.ival = v; NEW } else { ret = NUMBER; ! yylval.lval = v; The result was that row and col (and a few others) were longs in the output of yacc (y.tab.c), and the 'C' code routines were expecting int's. Hope this is of some help to someone out there. Mark Nettleingham ll1!mn