
Intermediate Code 251
| IVAR ADDEQ expr {fprintf(fout1,"%s\n+\n%s\n=\n", name($1),name($1));
fprintf(fout2,"%d: ADDE T%d %s %s\n", ++mcount, tcount, name($1),
name($1));tpush(tcount);}
| IVAR SUBEQ expr {fprintf(fout1,"%s\nR-\n%s\n=\n", name($1),name($1));
fprintf(fout2,"%d: SUBE T%d %s %s\n", ++mcount, tcount, name($1),
name($1));tpush(tcount);}
| IVAR MULEQ expr {fprintf(fout1,"%s\n*\n%s\n=\n", name($1),name($1));
fprintf(fout2,"%d: MULT T%d %s %s\n", ++mcount, tcount, name($1),
name($1));tpush(tcount);}
| IVAR DIVEQ expr {fprintf(fout1,"%s\nR/\n%s\n=\n", name($1),name($1));
fprintf(fout2,"%d: DIVE T%d %s %s\n", ++mcount, tcount, name($1), ...