for(j=0; j printf(\ } printf(\ } printf(\请输入文法输入符号串以#结束:\ scanf(\ deal(); } void table() { char text[20][10]; int i,j,k,t,l,x=0,y=0; int m,n; x=0; for(i=0; i firstvt(st[i][0]); lastvt(st[i][0]); } for(i=0; i text[x][y]=st[i][0]; y++; for(j=1; st[i][j]!='\\0'; j++) { if(st[i][j]=='|') { text[x][y]='\\0'; x++; y=0; text[x][y]=st[i][0]; y++; text[x][y++]='-'; text[x][y++]='>'; } else { text[x][y]=st[i][j]; y++; } } text[x][y]='\\0'; x++; y=0; } r1=x; printf(\转化后的文法为:\\n\ for(i=0; i printf(\ } for(i=0; i string[i][0]=text[i][0]; for(j=3,l=1; text[i][j]!='\\0'; j++,l++) string[i][l]=text[i][j]; //输出转化后的文法规则串 /*求每个终结符的推导结果(去掉 string[i][l]='\\0'; } for(i=0; i for(j=1; text[i][j+1]!='\\0'; j++) { if(zhongjie(text[i][j])&&zhongjie(text[i][j+1])) { m=xiabiao(text[i][j]); n=xiabiao(text[i][j+1]); data[m][n]='='; } if(text[i][j+2]!='\\0'&&zhongjie(text[i][j])&&zhongjie(text[i][j+2])&&!zhongjie(text[i][j+1])) { m=xiabiao(text[i][j]); n=xiabiao(text[i][j+2]); data[m][n]='='; } if(zhongjie(text[i][j])&&!zhongjie(text[i][j+1])) { for(k=0; k if(st[k][0]==text[i][j+1]) break; } m=xiabiao(text[i][j]); for(t=0; t n=xiabiao(first[k][t+1]); data[m][n]='<'; } } if(!zhongjie(text[i][j])&&zhongjie(text[i][j+1])) { for(k=0; k if(st[k][0]==text[i][j]) break; } n=xiabiao(text[i][j+1]); for(t=0; t m=xiabiao(last[k][t+1]); data[m][n]='>'; } } } } m=xiabiao('#'); for(t=0; t n=xiabiao(first[0][t+1]); data[m][n]='<'; } n=xiabiao('#'); for(t=0; t { m=xiabiao(last[0][t+1]); data[m][n]='>'; } data[n][n]='='; } void firstvt(char c) //求FIRSTVT集 { int i,j,k,m,n; for(i=0; i if(st[i][0]==c) break; } if(fflag[i]==0) { n=first[i][0]+1; m=0; do { if(m==2||st[i][m]=='|') { if(zhongjie(st[i][m+1])) { first[i][n]=st[i][m+1]; n++; } else {
编译原理第一次实验报告1614010102曹妍(2)
2019-06-11 13:18
编译原理第一次实验报告1614010102曹妍(2).doc
将本文的Word文档下载到电脑
下载失败或者文档不完整,请联系客服人员解决!