全文预览

编译原理不确定有穷自动机的确定化。

上传者:蓝天 |  格式:doc  |  页数:10 |  大小:19KB

文档介绍
;i<n_t;i++) { if(strcmp(u,t[i].a)==0) { bo++; ed[n_ed][0]=nn-1; ed[n_ed][1]=(int)a; ed[n_ed][2]=i; n_ed++; break; } } if(bo==0) if(u_i!=0) { strcpy(t[n_t].a,u); t[n_t].b=0; t[n_t].a_n=u_i; ed[n_ed][0]=nn-1; ed[n_ed][1]=(int)a; ed[n_ed][2]=n_t; n_ed++; n_t++;Р }Р a++;Р }Р nn++;Р }Р for(i=0;i<n_t;i++){Р t[i].c=t[i].a[i];Р printf("用%c 代表%s\n",t[i].c,t[i].a); } for(i=0;i<n_ed;i++)Р {Р printf("%c-%c-%c\n",t[ed[i][0]].c,ed[i][1],t[ed[i][2]].c);Р }Р }Р void closure(int nn)Р {Р int i,j,k;Р int ii,jj;Р for(i=0;i<t[nn].a_n;i++)Р for(j=0;j<n;j++)Р {Р if(t[nn].a[i]==nfa[j][0])Р if(nfa[j][1]=='*')Р {Р int b=0;Р for(ii=0;ii<t[nn].a_n;ii++) {Р if(t[nn].a[ii]==nfa[j][2]) b=1;Р }Р if(b==0)Р {Р t[nn].a[t[nn].a_n]=nfa[j][2]; t[nn].a_n++;Р }Р }Р }Р t[nn].a[t[nn].a_n]='\0';Р }

收藏

分享

举报
下载此文档