一个简单的C语言编译器(15) m->code+="\tjne "+l1->text+"\n"; if(s2->word==">=") m->code+="\tjge "+l1->text+"\n"; if(s2->word=="<=") m->code+="\tjle "+l1->text+"\n"; m->code+="\tmov ax,0\n\tjmp "+l2->text+"\n"+l1->text+":\tmov ax,1\n"+l2->text+":\tpush ax\n"; delete l1; delete l2; delete s1; delete s2; delete s3; break; case 16://OK //M->!M log<<"语法分析:M->!M"<<endl; ss.pop(); ss.pop(); s2=sos.top(); sos.pop(); s1=sos.top(); sos.pop(); m=new Symbol; m->group='M'; m->line=s1->line; sos.push(m); //动作 m->code="\tpop ax\n\txor ax,ax\n\tpush ax\n"; delete s1; delete s2; break; case 17://OK //M->(G) log<<"语法分析:M->(G)"<<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='M';