从正则文法构造有穷状态自动机.docx

从正则文法构造有穷状态自动机.docx

ID:48592713

大小:13.55 KB

页数:4页

时间:2020-02-26

从正则文法构造有穷状态自动机.docx_第1页
从正则文法构造有穷状态自动机.docx_第2页
从正则文法构造有穷状态自动机.docx_第3页
从正则文法构造有穷状态自动机.docx_第4页
资源描述:

《从正则文法构造有穷状态自动机.docx》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库

1、#includeusingnamespacestd;constintmaxsize=10;classDFA//定义DFA类{private:intM[maxsize][maxsize];//定义整形数组charVn[maxsize],Vt[maxsize];//分别用数组装终结符号与非终结符号intVnNum,VtNum;//定义两个整形变量分别存放终结符号与非终结符号的个数public:DFA();//构造函数~DFA(){}//析出函数voidprint();//输出函数intmo

2、ve(charstart,chars[]);//判断字符函数};intDFA::move(charstart,chars[]){chart[10];charnext=start;intleft=0,right=0,i=0,j=0;while(s[i]!=''){t[i]=s[i++];}t[i]='';while(t[0]!=''){left=0;right=0;while(next!=Vn[left]){left++;}while(t[0]!=Vt[right]){right++;}if(M

3、[left][right]!=-1&&left

4、e,left,right,final;inti=0,j=0,k=0;cout<<"rule=";cin>>rule;cout<<"Vn";cin>>n;cout<<"Vt";cin>>t;cout<<"grammar";Vn[0]='S';j=0;while(n[j]!='')Vn[j+1]=n[j++];VnNum=j+1;while(t[i]!='')Vt[i]=t[i++];VtNum=i;for(i=0;i

5、;i=0;while(i!=rule){j=0;k=0;cin>>grammar;while(Vn[k]!=grammar[0])k++;final=k;while(grammar[j]!='')j++;if(j==5){k=0;while(Vt[k]!=grammar[4])k++;left=0;right=k;}else{k=0;while(Vn[k]!=grammar[4])k++;left=k;k=0;while(Vt[k]!=grammar[5])k++;right=k;}M[left][r

6、ight]=final;i++;}}voidDFA::print()//打印五元组{inti=0,j=0;cout<<"DFA({";while(i!=VnNum){cout<

7、[i];cout<<","<>i;//输入

8、DFAs;while(i<=3)//判断输入数字{if(i==2)s.print();//如果是2,打印if(i==3){cout<<"输入串";cin>>t;if(s.move('S',t))cout<<"字符串"<>i;}system("pause");}

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。