一个简单的C语言编译器(12) log<<"语法分析:W->WS"<<endl; ss.pop(); ss.pop(); s2=sos.top(); sos.pop(); s1=sos.top(); sos.pop(); m=new Symbol; m->group='W'; m->line=s1->line; sos.push(m); //动作 m->code=s1->code+s2->code; delete s1; delete s2; break; case 10://OK //W->S log<<"语法分析:W->S"<<endl; ss.pop(); s1=sos.top(); sos.pop(); m=new Symbol; m->group='W'; m->line=s1->line; sos.push(m); //动作 m->code=s1->code; delete s1; break; case 11://OK //L->@ log<<"语法分析:L->@"<<endl; ss.pop(); s1=sos.top(); sos.pop(); m=new Symbol; m->group='L'; m->line=s1->line; sos.push(m); //动作 if(!lookup(s1->word)) symbolList.insert(symbolList.end(),s1->word); else err(11,s1->line); delete s1; break;