[net.followup] SC changes for 11/70's

mn (12/16/82)

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 <enode> e term
%type <ent> var
%token <sval> STRING
%token <ival> NUMBER
NEW
%type <enode> e term
%type <ent> var
%token <sval> STRING
!%token <lval> 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