编译原理实验三正规文法到正规式的转换

编译原理实验三正规文法到正规式的转换

ID:32699465

大小:60.12 KB

页数:9页

时间:2019-02-14

编译原理实验三正规文法到正规式的转换_第1页
编译原理实验三正规文法到正规式的转换_第2页
编译原理实验三正规文法到正规式的转换_第3页
编译原理实验三正规文法到正规式的转换_第4页
编译原理实验三正规文法到正规式的转换_第5页
资源描述:

《编译原理实验三正规文法到正规式的转换》由会员上传分享,免费在线阅读,更多相关内容在工程资料-天天文库

1、编译原理实验三:正规文法到正规式的转换导读:就爱阅读网友为您分享以下“编译原理实验三:正规文法到正规式的转换”的资讯,希望对您有所帮助,感谢您对92to.com的支持!实验三:正规文法到正规式的转换一:要求输入任意的正规文法,输出相应的正规式二:实验目的1.熟练掌握正规文法到正规式的转换规则2.理解正规文法和正规式的等价性三:实验原理1•一个正规语言可以由正规文法定义,也可以由正规式定义,对任意一个正规文法,存在一个定义同一个语言的正规式,反之,对每个正规式,存在生成同一个语言的正规文法2正规文法与正规式的转

2、换规则:1.A-)xB,B・>y则:A=xy2.A-)xA,A->y则:A-)x*y3・A-)x,A-)y贝U:A=x

3、ystructChomskystringleft;!1!数据结构与算法stringright;};voidapart(Chomsky*p,inti)//分开产生式左右部voidVNVT(Chomsky*p)〃求VN和VTintzero(Chomsky*p)//0型文法intone(Chomsky*p)//l型文法inttwo(Chomsky*p)//2型文法intthree(Ch

4、omsky*p)//3型文法voidchange(Chomsky*p)〃正规文法到正规式的转换函数五:出错分析1:#include<iostream>忽视了C++语言中的头文件应当去掉・h,须再另加上usingnamespacestd;2:规则分解不对,导致结果出错。3:太多循环嵌套容易造成程序出错,养成把括号提前打好的习惯。六:实验结果与分析不是正规文法的不能转换:是正规文法的才可以转换:七:源代码#include<iostream>#include<string>usi

5、ngnamespacestd;#definemax50intNONE=1;stringstTings,noend,eiid;〃非终结符与终结符存储intn;〃产生式总数structChomsky{stringleft;stringright;};(++CS空©.!L)JOJ5-u一HA吴NA長0(尸A5ISUI0lo)HANApca亠KT()lp"ug・s0I)lqhs,I+Dhsqns・ss.ghSH201)T・Ed=ro)hsqns・saupysEJg・Ed(++rolpo£lwrsOI)lIrJSiio

6、ar®HDJOJ)毎膜朋帘^Kfcov(=-sF^sluolo)tEdEPOA(OOI-lS^([n>Pr[!]d)puij-pua)ji}asp{•[nu^r[!]d=+puaou(OOlb8^([fHPr[!]d)puiJ-p«30U)ji}竦條谢彩溺非//(C6£#$Z,6£#$-)【$[巾」可・[!]d,dure$fdure$,6£#$V,6£#$•眉觀[巾2【・[!]<1))胆}(++£()叩甌町・WI・[!]d(!iq)訂[$£o=®ojend+upEJeffE;foroo;j^s;(inf)pm

7、・righfjengfh();j++)ia(p三・righfE^gfll'Am#39Gamp^amp;p三・righs冠芽

8、

9、以#392匂#39;)迄瞬总苹*=雪(if(endbnd(p三.righsD^gJTloo)end+upE.rigmE;if(noend.find(p[i].right[j])>100)noend+=p[i].right[j];}}}}intzero(Chomsky*p)//0型文法{intflag(0),count(0);intij;for(i=0;i<n;i++

10、)

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

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

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