{ /*将该非终结符的FIRST集合除去ε并入到当前 非终结符的FIRST集合中*/ for(k=0;k if(!fchange) { for(i=0;i { if(l[i].flag) { l[i].first[l[i].s]='@'; l[i].s++; l[i].first[l[i].s]='\\0'; } printf(\ %s\\n\ } printf(\ break; } } } //求产生式右部的First集合 void seekFirstRight() { struct Right{ char a[MAX]; char first[MAX]; int s; }r[MAX]; int i,j,k,t; int cnt=0,len,len1,flag=0; for(i=0;i for(i=0;i { len=strlen(r[i].a); for(j=0;j r[i].first[r[i].s]='\\0'; } continue; } else break; } } } for(i=0;i printf(\} //求每个非终极符的Follow集合 void seekFollow() { int i,j,k,t,t1,t2,t3,c=0; int flag=0,len; int fchange;//判断一次循环是否有改动的地方 char a[MAX][MAX],ch[MAX]; for(i=0;i l[0].follow[l[0].l]='#'; l[0].l++; l[0].follow[l[0].l]='\\0'; while(1) { fchange=0; for(i=0;i
安徽工业大学编译原理实验报告(3)
2019-04-21 10:11
安徽工业大学编译原理实验报告(3).doc
将本文的Word文档下载到电脑
下载失败或者文档不完整,请联系客服人员解决!