} } tmp="#Loop#"+tmp.substr(0,tmp.length()-1); production.insert(MMAPE(t,tmp)); tmp=tmp.substr(0,tmp.length()-1)+path[i].location->second; string removeLoop(intdep,char t) { symbolmark[t]=true; MMAPRange range=production.equal_range(t); string exp,exp1; for(MMAPI i=range.first;i!=range.second;i++) { if(symbolidx[_lastchar(i->second)]!=0) { path[dep].t=t; path[dep].location=i; if(!symbolmark[_lastchar(i->second)]) { exp=exp+i->second.substr(0,i->second.length()-1)+"("+removeLoop(dep+1,_lastchar(i->second))+")|";