全文预览

实验二 编译原理语法分析(算符优先)

上传者:梦溪 |  格式:doc  |  页数:13 |  大小:108KB

文档介绍
='\0'; last[i][0]=--n; lflag[i]=1;?}}intdeal(){?inti,j;?intx,y;?intz;?k=1;?s[k]='#';?for(i=0;input[i]!='\0';i++);?z=i--;?i=0;?while((a=input[i])!='\0')?{ if(zhongjie(s[k])) j=k; else j=k-1; x=xiabiao(s[j]); y=xiabiao(a); if(data[x][y]=='>') { out(1,k,s); printf("%c",a); out(i+1,z,input); printf("规约\n"); do { q=s[j]; if(zhongjie(s[j-1])) j=j-1; elsej=j-2; x=xiabiao(s[j]); y=xiabiao(q); }while(data[x][y]!='<'); intm,n,N; for(m=j+1;m<=k;m++) { for(N=0;N<r1;N++) for(n=1;string[N][n]!='\0';n++) { if(!zhongjie(s[m])&&!zhongjie(string[N][n])){if(zhongjie(s[m+1])&&zhongjie(string[N][n+1])&&s[m+1]==string[N][n+1]) { s[j+1]=string[N][0]; break; } } else if(zhongjie(s[m])) if(s[m]==string[N][n]) { s[j+1]=string[N][0]; break; } } }k=j+1; if(k==2&&a=='#') { out(1,k,s); printf("%c",a); out(i+1,z,input);

收藏

分享

举报
下载此文档