--- cci/usr/src/lib/fmip/scan.c 2019/07/28 12:24:19 1.1 +++ cci/usr/src/lib/fmip/scan.c 2019/07/28 12:24:42 1.1.1.2 @@ -4,8 +4,8 @@ # include /* temporarily */ -int asm_esc = 0; /* asm escaped used in file */ - /* lexical actions */ +#define LXGET(c, m) (lxgcp = &yytext[0], lxmore(c, m)) + # define A_ERR 0 /* illegal character */ # define A_LET 1 /* saw a letter */ @@ -46,6 +46,12 @@ int asm_esc = 0; /* asm escaped used in # define AR_E 5 /* enum */ # define AR_A 6 /* asm */ +#ifndef ASMBUF +#define ASMBUF 100 +#endif +static char asmbuf[ASMBUF + 1]; +static char *asmp; + /* text buffer */ #ifndef FLEXNAMES # define LXTSZ 100 @@ -66,7 +72,7 @@ unsigned caloff(); /* ARGSUSED */ mainp1( argc, argv ) int argc; char *argv[]; { /* control multiple files */ - register i; + register int i; register char *cp; extern int idebug, bdebug, tdebug, edebug, ddebug, xdebug, gdebug; extern unsigned int offsz; @@ -182,7 +188,7 @@ short lxmask[CSSZ+1]; lxenter( s, m ) register char *s; register short m; { /* enter a mask into lxmask */ - register c; + register int c; while( c= *s++ ) lxmask[c+1] |= m; @@ -191,7 +197,7 @@ lxenter( s, m ) register char *s; regist # define lxget(c,m) (lxgcp=yytext,lxmore(c,m)) -lxmore( c, m ) register c, m; { +lxmore( c, m ) register int c, m; { register char *cp; *(cp = lxgcp) = c; @@ -250,7 +256,7 @@ struct lxdope *lxcp[CSSZ+1]; lxinit(){ register struct lxdope *p; - register i; + register int i; register char *cp; /* set up character classes */ @@ -295,9 +301,9 @@ int lxmatch; /* character to be matched lxstr(ct){ /* match a string or character constant, up to lxmatch */ - register c; - register val; - register i; + register int c; + register int val; + register int i; i=0; while( (c=getchar()) != lxmatch ){ @@ -411,7 +417,7 @@ lxstr(ct){ } lxcom(){ - register c; + register int c; /* saw a /*: process a comment */ for(;;){ @@ -475,9 +481,10 @@ lxcom(){ } yylex(){ + register int lxchar; + for(;;){ - register lxchar; register struct lxdope *p; register struct symtab *sp; int id; @@ -639,7 +646,7 @@ yylex(){ case A_BCD: { - register i; + register int i; int j; for( i=0; i