全文预览

编译原理语义分析实验报告

上传者:业精于勤 |  格式:doc  |  页数:11 |  大小:84KB

文档介绍
*)malloc(12);?tt=(char*)malloc(12);?strcpy(eplace,factor());?while((syn==13)||(syn==14))?{ if(syn==13)strcpy(tt,"*"); elsestrcpy(tt,"/"); scaner(); strcpy(ep2,factor());?//调用factor分析产生表达式计算的第二项ep2 strcpy(tp,newtemp());?//调用newtemp产生临时变量tp存储计算结果 emit(tp,eplace,tt,ep2);?//生成四元式送入四元式表 strcpy(eplace,tp);?}?return(eplace);}char*factor(void){?char*fplace;?fplace=(char*)malloc(12);?strcpy(fplace,"");?if(syn==10)?{ strcpy(fplace,token); //将标识符token的值赋给fplace scaner();?}?elseif(syn==11)?{ itoa(sum,fplace,10); scaner();?}?elseif(syn==27)?{ scaner(); fplace=expression(); //调用expression分析返回表达式的值 if(syn==28) scaner(); else { cout<<"缺)错误!"<<endl; kk=1; }?}?else?{ cout<<"缺(错误!"<<endl; kk=1;?}?return(fplace);}voidmain(){?p=0;?cout<<"**********语义分析程序**********"<<endl;?cout<<"Pleaseinputstring:"<<endl;?do?{

收藏

分享

举报
下载此文档