发布时间 : 星期日 文章算符优先分析方法更新完毕开始阅读9436228102d276a200292e00
{ w.e=b; push(sta,w); search(w); i++; } else i++; }
charLode ww; while(!IsEmpty(sta)) {
pop(sta,ww); for(i=0;i<=n;i++) {
w.E=str[i][0];
if(str[i][3]==ww.E&&str[i][4]=='\\0') {
w.e=ww.e; push(sta,w); search(w); break; } } }
p=0;int k=1;i=1; while(i if(F[i-1].flag==1) { arr[p][0]=F[i-1].R; 12 arr[p][k]=F[i-1].r; } while(F[i].flag==0&&i if(F[i].flag==1) { if(F[i].R==arr[p][0]) k++; else {arr[p][k+1]='\\0';p++;k=1;} i++; } } } void LastVT(int n)//求LastVT { charstack sta; charLode w; for(int i=0;i int k=strlen(str[i]); w.E=str[i][0]; char a=str[i][k-1]; char b=str[i][k-2]; if(!IsLetter(a)) { w.e=a; 13 push(sta,w); search(w); i++; } else if(IsLetter(a)&&!IsLetter(b)) { w.e=b; push(sta,w); search(w); i++; } else i++; } charLode ee; while(!IsEmpty(sta)) { pop(sta,ee); for(i=0;i<=n;i++) { w.E=str[i][0]; if(str[i][3]==ee.E&&str[i][4]=='\\0') { w.e=ee.e; push(sta,w); search(w); } } } int k=1;i=1; ppp=0; 14 while(i if(F[i-1].flag==1) { brr[ppp][0]=F[i-1].R; brr[ppp][k]=F[i-1].r; } while(F[i].flag==0&&i if(F[i].flag==1) { if(F[i].R==arr[ppp][0]) k++; else {brr[ppp][k+1]='\\0';ppp++;k=1;} i++; } } } void createYXB(int n)//构造优先表 { int i,j; for(j=1;j<=kk;j++) ccrr1[0][j]=r[j-1]; for( i=1;i<=kk;i++) ccrr2[i][0]=r[i-1]; for(i=1;i<=kk;i++) for(j=1;j<=kk;j++) crr[i][j]=0; int I=0,J=3; while(I<=n) 15