正规文法与有限自动机地相互转换.doc

正规文法与有限自动机地相互转换.doc

ID:58691287

大小:139.50 KB

页数:21页

时间:2020-10-08

正规文法与有限自动机地相互转换.doc_第1页
正规文法与有限自动机地相互转换.doc_第2页
正规文法与有限自动机地相互转换.doc_第3页
正规文法与有限自动机地相互转换.doc_第4页
正规文法与有限自动机地相互转换.doc_第5页
资源描述:

《正规文法与有限自动机地相互转换.doc》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库

1、工学院编译原理课程设计报告选题名称:正规文法与有限自动机的相互转换系(院):计算机工程学院专业:计算机科学与技术(软件工程方向)班级:软件1082姓名:超学号:1081305202指导教师:高丽王文豪江波于永彦学年学期:2011~2012学年第1学期2012年01月07日摘要:正规文法包括左线性文法和右线性文法。由于正规文法和正规表达式在描述语言的能力上是等价的,而正规表达式和有限自动机在描述语言的能力上也是等价的,因此,正规文法和有限自动机之间也存在着等价性。通常,对于正规文法G和有限自动机M,G所定义的语言记作L(

2、G),M所能识别的语言记作L(M),如果有L(G)=L(M),则称G和M是等价的。关键词:正规文法;有限自动机;等价性;构造方法目录1课题综述31.1目的31.2设计容31.3设计原则42系统分析42.1正规式42.2有限自动机(有穷自动机)52.3NFA向DFA的转换52.4正规式与有限自动机之间的转换63系统设计63.1从正规文法到有限自动机63.11正规文法到有限自动机的等价性证明63.12正规文法到有限自动机的构造方法83.2从有限自动机到正规文法83.21有限自动机到正规文法的等价性证明83.22有限自动机到

3、正规文法的构造方法94代码编写105运行与测试141课题综述1.1目的1.理解正规文法与有限自动机(FA)的本质联系;2.掌握正规文法与有限自动机之间相互转化的算法原理;3.学会使用VisualC++等编程工具实现正规文法与有限自动机之间的相互转化;1.2设计容使用VisualC++/VisualC#等工具,设计软件MySoft_3,可以实现以下功能:1.根据用户输入的文本文件(*.txt)的名称,打开文件,并从文件中获取文法的产生式、非终结符、终结符、开始符等基本信息;2.判断该文法是否为正规文法,若是,则将其转化为

4、有限自动机;3.根据用户输入的文本文件(*.txt)的名称,打开文件,并从文件中获取有限自动机的状态集、字母表、初态、终态集、转移函数等基本信息;4.判断该自动机是否合法,若合法,则将其转化为正规文法;1.3设计原则正规文法与有穷自动机有着特殊的关系,采用下面的规则可从正规文法G直接构造一个有穷自动机NFAM;使得L(M)=L(G):(1)M的字母表与G的终结符相同;(2)为G中的每一个非终结符生成M的一个状态,G的开始符S是开始状态;(3)增加一个新状态Z,作为NFA的终态;(4)对G中的形如A->tB的规则(其中T

5、为终结符或,A为非终结符的产生式),构造M的一个转换函数f(A,t)=B;(5)对G中形如A->t的产生式,构造M的一个转换函数f(A,t)=Z。2系统分析2.1正规式正规式:正则表达式,表示正规集的工具。一个正规式对应一个正规文法(3型文法)之间能够进行准换三个基本规则:A->xB,B->y 则A=xy。A->xA

6、y 则A=x*y (x*代表x从1到无穷多个)A->x,A->y则A=x

7、y正规式主要用到了递归的思想,无论遇到多复杂的正规式都可以拆分成上面这三种形式,然后进行解题。2.2有限自动机(有穷自动机)DFA

8、(DeterministicFiniteAutomation):确定的有限自动机表达式:M=(S,∑,f,So,Z)1.S为一个有限状态集合2.∑是一个字母表,它所包含的的每个元素称为一个输入字符;3.f是一个从SX∑(笛卡尔乘积)至S的单值部分映射。f(S,a)=s'意味着当现在的状态为s,输入字符a时,将转换到下一状态s'.s'为s的一个后继状态。4.So∈S,是唯一的初态;5.Z⊆S,是一个终态集。NFA(Nondeterministic Finite Automata):不确定的有限自动机如果理解了有限自动机,

9、则无限自动机和它的区别就是上面的第四项。So⊆S,它的初态不是唯一的,而是一个集合。2.3NFA向DFA的转换这个转换是一个比较简单的过程。1.如果有一个不确定的有限自动机,则可以转化为图的方式。此处不详述怎样转图的方式。2.先将初态确定,然后根据输入的每个元素可以得到哪些状态,依次列表。3.这些状态集合可以称为这个有限状态集合n个子集。按0,1,2……的顺序编号。4.因为这些子集之间的关系是输入一个确定值确定的,所以这些子集之间存在一些关系,即把这些子集的关系写出来完成NFA向DFA的转换。如果不懂可以从网上找一个例

10、子进行理解。2.4正规式与有限自动机之间的转换任意的正规式都可以转换为上述三种的表现形式。在一个有限自动机转换为正规式时,就是考虑从初态到终态可以输入哪些数据到达。而这些数据可以用哪种正规式概括进来。3系统设计3.1从正规文法到有限自动机3.11正规文法到有限自动机的等价性证明定理1:对于每一个右线性正规文法GR和左线性正规文法G

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

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

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