一个简单的C语言编译器(17) delete s1; break; case 20://OK //T->T*F log<<"语法分析:T->T*F"<<endl; ss.pop(); ss.pop(); ss.pop(); s3=sos.top(); sos.pop(); s2=sos.top(); sos.pop(); s1=sos.top(); sos.pop(); m=new Symbol; m->group='T'; m->line=s1->line; sos.push(m); //动作 if(s2->word=="*") m->code=s3->code+s1->code+"\tpop ax\n\tpop bx\n\tmov dx,0\n\tmul bx\n\tpush ax\n"; if(s2->word=="/") m->code=s3->code+s1->code+"\tpop ax\n\tpop bx\n\tmov dx,0\n\tdiv bx\n\tpush ax\n"; if(s2->word=="%") m->code=s3->code+s1->code+"\tpop ax\n\tpop bx\n\tmov dx,0\n\tdiv bx\n\tpush dx\n"; delete s1; delete s2; delete s3; break; case 21://OK //T->F log<<"语法分析:T->F"<<endl; ss.pop(); s1=sos.top(); sos.pop(); m=new Symbol; m->group='T'; m->line=s1->line; sos.push(m); //动作 m->code=s1->code; delete s1; break;