编译原理分知识点习题 词法分析与有穷自动机.doc

上传人:s9****2 文档编号:542670929 上传时间:2023-08-20 格式:DOC 页数:5 大小:149.01KB
返回 下载 相关 举报
编译原理分知识点习题 词法分析与有穷自动机.doc_第1页
第1页 / 共5页
编译原理分知识点习题 词法分析与有穷自动机.doc_第2页
第2页 / 共5页
编译原理分知识点习题 词法分析与有穷自动机.doc_第3页
第3页 / 共5页
编译原理分知识点习题 词法分析与有穷自动机.doc_第4页
第4页 / 共5页
编译原理分知识点习题 词法分析与有穷自动机.doc_第5页
第5页 / 共5页
亲,该文档总共5页,全部预览完了,如果喜欢就下载吧!
资源描述

《编译原理分知识点习题 词法分析与有穷自动机.doc》由会员分享,可在线阅读,更多相关《编译原理分知识点习题 词法分析与有穷自动机.doc(5页珍藏版)》请在金锄头文库上搜索。

1、1. 将图1所示的有穷自动机转换成与其等价的正规文法,其中4、5为终止状态。解答:本题考查有穷自动机到正规文法的转换方法。这类题只需要书中所介绍的方法进行即可得到正规文法,本题有穷自动机对应的正规文法GS为: AaB|bB|cCBaB|bD|aE|cC|b|aCbB|cC|cE|cDbD|bEaE|a12345startabbcbcaacb图1有穷自动机的状态转换图2.给定如图2所示的有穷自动机,试用正规表达式给出它能接受的语言集合。0123aaabbabb图2有穷自动机解:本题考查正规表达式与有穷自动机的等价性。对于一个在输入字母表上的FAM,一定可以在字母表上构造一个正规表达式e,使得L(

2、e)=L(M) .根据状态转换图,从开始状态出发,可以有任意个(包括0个)b作为句子的开始部分;从0状态出发,每输入一个a,不许输入两个b才能到达终止状态后,还可以通过输入a回到状态1,或输入b回到状态0,然后进入递归过程,再输入相同的符号串,所以,该有穷自动机描述的语言为: (b*(aa*b)*b)*3. 构造下述正规表达式的DFA。 Xy*|yx*y|xyx解: 本题考查由正规表达式构造有穷自动机的方法,本题可按照由正规表达式构造等价的NFA,NFA确定化,DFA最小化3步进行求解。(1) 根据题中所给的正规表达式得到相应的DFA如图3所示。ySABFGDEZCxyxxxyy图3正规表达式

3、Xy*|yx*y|xyx的DFA。(2) 依据该NFA采用子集法构造确定DFA其过程如表1(已换名)所示。 表1 将NFA确定化为DFA的过程IIxIyS0A, B, F, Z1C, D, E2A, B, F, Z1B, G, Z3C, D, E2D, E4Z5B, G, Z3Z5B, Z6D, E4D, E4Z5Z5B, Z6B, Z6以所有包含NFA的终止状态Z的DFA状态作为终止状态,得到DFA相应的状态转换图如 图4所示02455 613xxxxyyyyyy 图4DFA的状态转换图(3) 对DFA进行最小化,过程如下: 已知K=0,1,2,3,4,5,6。首先将K分成两个子集 K1=0

4、,2,3 (非终态集) K2=1,3,4,6 (终态集)在状态集合K1=0,2,3中,因为 0x=1K2 2,4x=4K1所以状态0与状态2,4不等价,故K1可分割为 K11=0 K12=2,4在状态集合K12=2,4中,因为有 2,4x=4 2,4y=5K2所以,状态2和状态4等价。在状态集合K2=1,3,4,6中,状态5无输入,状态3有x、y输入,状态1与状态6只有y输入,所以可将K2分割为 K21=1,6 K22=3 K23=5在状态集合K21=1,6中,状态1输入y到达状态3,状态6输入y到达状态6,所以状态1与6也不等价。进一步将K21分割为 K211=1 K212=6于是,将原状态

5、集合划分为:0、2,4、1、3、5、6。选2,4中的2作为代表,原来由状态4导入(出)其余状态的弧改为有状态2导入(出);然后消去状态4。最后得到最小化后的状态转化图如图5所示。0255 613xyyyyyxx图5正规表达式Xy*|yx*y|xyx的最小化DFA4. 构造正规表达式(011)*00相应的DFA。解:本题考查由正规表达式构造确定的有穷自动机的方法。(1) 构造正规表达式(011)*00的DFA。按照图3.2所示的转换规则构造正规表达式(011)*00对应的NFA如图6所示。SBCZA0100图6正规表达式(011)*00的DFA(2) 由正规表达式(011)*00的NFA构造确定

6、的有穷自动机DFA。以NFA的开始状态S的闭包-CLOSURE(S)作为DFA的开始状态,采用子集法将图3.43中所式的NFA确定化,其过程如表2所示。 表2 将NFA确定化为DFA的过程IIxIyS,A, B0A, B, C1A, B2A, B, C1A, B, C, Z3A, B2A, B2A, B, C1A, B2A, B, C, Z3A, B, C, Z3A, B2以所有包含NFA的终止状态Z的DFA状态作为终止状态,得到DFA相应的状态转换图(以换名)如图7所示。012301100011图7 正规表达式(0|1)*00的DFA(3) 对该DFA进行最小化。 采用够造状态集划分的方法对DFA进行最小化,过程如下:以知K=0,1,2,3。首先将K分成两个子集 K1=0,1,2 (非终态集) K2=3 (终态集)在K1=0,1,2中,有 00=1K1 10=3K2 20=1K1 01=2K1 11=2K1 21=2K1

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 生活休闲 > 社会民生

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号