adapted to use new em_code module, and a minor fix
authorceriel <none@none>
Thu, 14 Jan 1988 10:52:36 +0000 (10:52 +0000)
committerceriel <none@none>
Thu, 14 Jan 1988 10:52:36 +0000 (10:52 +0000)
modules/src/em_opt/main.c
modules/src/em_opt/nopt.c
modules/src/em_opt/outcalls.c

index a3f7482..3c9a41c 100644 (file)
@@ -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:
index 90b5d0e..55f31a1 100644 (file)
@@ -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;
index 29a7f4b..163cfaf 100644 (file)
@@ -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);