adapted to use new em_code module, and a minor fix
This commit is contained in:
parent
b90cc5ceb9
commit
a726f7d49e
|
@ -15,6 +15,9 @@ static char rcsid1[] = "$Header$";
|
|||
char *filename; /* Name of input file */
|
||||
int errors; /* Number of errors */
|
||||
|
||||
extern arith C_bsssize, C_holsize;
|
||||
extern int C_bssinit, C_holinit;
|
||||
|
||||
main(argc,argv)
|
||||
char **argv;
|
||||
{
|
||||
|
@ -37,7 +40,7 @@ main(argc,argv)
|
|||
}
|
||||
else if (!O_open( (char *) 0)) fatal("O_open failed");
|
||||
O_magic();
|
||||
EM_mkcalls(p);
|
||||
C_out(p);
|
||||
|
||||
for(;;) {
|
||||
EM_getinstr(p=GETNXTPATT());
|
||||
|
@ -66,14 +69,23 @@ main(argc,argv)
|
|||
case ps_pro:
|
||||
case ps_end:
|
||||
break;
|
||||
case ps_hol:
|
||||
C_holsize = EM_holsize;
|
||||
C_holinit = EM_holinit;
|
||||
C_out(p);
|
||||
OO_nxtpatt--;
|
||||
continue;
|
||||
case ps_bss:
|
||||
C_bsssize = EM_bsssize;
|
||||
C_bssinit = EM_bssinit;
|
||||
default:
|
||||
EM_mkcalls(p);
|
||||
C_out(p);
|
||||
OO_nxtpatt--;
|
||||
continue;
|
||||
}
|
||||
break;
|
||||
default:
|
||||
EM_mkcalls(p);
|
||||
C_out(p);
|
||||
OO_nxtpatt--;
|
||||
continue;
|
||||
case EM_EOF:
|
||||
|
|
|
@ -159,9 +159,9 @@ OO_flush()
|
|||
register int i,n;
|
||||
printstate("Flush");
|
||||
for(p=OO_buffer;p<OO_patternqueue;p++)
|
||||
EM_mkcalls(p);
|
||||
C_out(p);
|
||||
if(p->em_opcode!=OTHER)
|
||||
EM_mkcalls(p);
|
||||
C_out(p);
|
||||
if(OO_endbackup) {
|
||||
n = OO_endbackup-OO_nxtpatt;
|
||||
BTSCPY(p,q,i,OO_buffer,OO_nxtpatt,n);
|
||||
|
@ -186,7 +186,7 @@ OO_halfflush()
|
|||
printstate("Half flush");
|
||||
n = MAXBUFFER / 2;
|
||||
for(p=OO_buffer,i=n;i--;)
|
||||
EM_mkcalls(p++);
|
||||
C_out(p++);
|
||||
/* now copy the rest of buffer and pattern back */
|
||||
BTSCPY(p,q,i,OO_buffer,OO_buffer+n,n+(OO_nxtpatt-OO_buffer));
|
||||
OO_patternqueue -= n;
|
||||
|
|
|
@ -34,7 +34,7 @@ outputincalls()
|
|||
}
|
||||
/* fall thru */
|
||||
case CST:
|
||||
fprintf(ofile,"%s\t| int:n\t|\n",s);
|
||||
fprintf(ofile,"%s\t| arith:n\t|\n",s);
|
||||
if(op->id_used) {
|
||||
fprintf(ofile,"\tEM_mkcst(GETNXTPATT(),op_%s,n);\n",s);
|
||||
fprintf(ofile,"\tOO_dfa(op_%s);\n",s);
|
||||
|
@ -78,7 +78,7 @@ outputincalls()
|
|||
}
|
||||
break;
|
||||
case EXT:
|
||||
fprintf(ofile,"%s\t| int:n\t|\n",s);
|
||||
fprintf(ofile,"%s\t| arith:n\t|\n",s);
|
||||
if(op->id_used) {
|
||||
fprintf(ofile,"\tEM_mkcst(GETNXTPATT(),op_%s,n);\n",s);
|
||||
fprintf(ofile,"\tOO_dfa(op_%s);\n",s);
|
||||
|
@ -87,7 +87,7 @@ outputincalls()
|
|||
fprintf(ofile,"\tFLUSHDFA();\n");
|
||||
fprintf(ofile,"\tC_%s(n);\n",s);
|
||||
}
|
||||
fprintf(ofile,"%s_dnam\t| char *:s int:n\t|\n",s);
|
||||
fprintf(ofile,"%s_dnam\t| char *:s arith:n\t|\n",s);
|
||||
if(op->id_used) {
|
||||
fprintf(ofile,"\tEM_mksof(GETNXTPATT(),op_%s,s,n);\n",s);
|
||||
fprintf(ofile,"\tOO_dfa(op_%s);\n",s);
|
||||
|
@ -96,7 +96,7 @@ outputincalls()
|
|||
fprintf(ofile,"\tFLUSHDFA();\n");
|
||||
fprintf(ofile,"\tC_%s_dnam(s,n);\n",s);
|
||||
}
|
||||
fprintf(ofile,"%s_dlb\t| label:l int:n\t|\n",s);
|
||||
fprintf(ofile,"%s_dlb\t| label:l arith:n\t|\n",s);
|
||||
if(op->id_used) {
|
||||
fprintf(ofile,"\tEM_mknof(GETNXTPATT(),op_%s,l,n);\n",s);
|
||||
fprintf(ofile,"\tOO_dfa(op_%s);\n",s);
|
||||
|
|
Loading…
Reference in a new issue