编译原理 第2章习题课.docx

上传人:b****6 文档编号:7112981 上传时间:2023-01-18 格式:DOCX 页数:20 大小:200.14KB
下载 相关 举报
编译原理 第2章习题课.docx_第1页
第1页 / 共20页
编译原理 第2章习题课.docx_第2页
第2页 / 共20页
编译原理 第2章习题课.docx_第3页
第3页 / 共20页
编译原理 第2章习题课.docx_第4页
第4页 / 共20页
编译原理 第2章习题课.docx_第5页
第5页 / 共20页
点击查看更多>>
下载资源
资源描述

编译原理 第2章习题课.docx

《编译原理 第2章习题课.docx》由会员分享,可在线阅读,更多相关《编译原理 第2章习题课.docx(20页珍藏版)》请在冰豆网上搜索。

编译原理 第2章习题课.docx

编译原理编译原理第第2章习题课章习题课1.构造正规式的DFA。

(1)1(0|1)*101首先构造NFA:

NFA化为DFA:

状态转换表:

Q10XAABCBABCBBCDCBCDBCDCBCDCBCEEBCDBCDCBCDBCEEBCDYYBCDBCDYYBCDCBCEE1状态转换图:

初态10ABBCDCCEDCDEYDYCE化简后得:

0

(2)(a|b)*(aa|bb)(a|b)*?

NFA化为DFA:

QabX121231241231235Y1241241231245Y1235Y1235Y124Y1245Y123Y1245Y124Y123Y1245Y123Y1235Y124Ya所以,DFA为:

化简得:

(3)(0|11*0)*NFA到DFA:

Q10XAYXBCDAAYBBCDACDYAYBAYBBCDAAYBCDYCDYAYB化简后得;2.将下图确定化和最小化。

aa01a,b解:

首先取A=-CLOSURE(0)=0,NFA确定化后的状态矩阵为:

QabA00,11B0,10,11C10NFA确定化后的DFA为:

aaABabbC将A,B合并得:

abACa3.构造一个DFA,它接受=0,1上所有满足如下条件的字符串,每个1都有0直接跟在后边。

解:

按题意相应的正规表达式是0*(0|10)*0*构造相应的DFA,首先构造NFA为000Y10用子集法确定化II0I1S01X,0,1,3,Y0,1,3,Y21,3,Y0,1,3,Y0,1,3,Y1,3,Y1,3,Y22/212342244333DFA为01021101404.给出NFA等价的正规式R。

方法一:

首先将状态图转化为11消去得0,111消去其余结点、0,1(0|1)*11NFA等价的正规式为(0|1)*11方法二:

NFA右线性文法正规式A0A|1A|1BB1CCA=0A+1A+1BB=1A=0A+1A+11A=(0+1)*11(0|1)*115.试证明正规式(a|b)*与正规式(a*|b*)*是等价的。

证明:

(1)正规式(a|b)*的NFA为=babX,1,y1,y1,y1,y1,y1,ya其最简DFA为=b

(2)正规式(a*|b*)*的NFA为:

a其最简化DFA为:

a=X=bbDFA的状态转换表:

abx,1,2,3,y1,2,3,y1,2,3,y1,2,3,y1,2,3,y1,2,3,y由于这两个正规式的最小DFA相同,所以正规式(a|b)*等价于正规式(a*|b*)*。

6.设字母表=a,b,给出上的正规式R=b*ab(b|ab)*。

(1)试构造状态最小化的DFAM,使得L(M)=L(R)。

(2)求右线性文法G,使L(G)=L(M)。

解:

(1)构造NFA:

(2)将其化为DFA,转换矩阵为:

QabX,1,21321,23324,5,Y41,23321,234,5,Y4655,Y6655,Y65,Y6655,Y6再将其最小化得:

(2)对应的右线性文法G=(X,W,Y,a,b,P,X)P:

XaW|bXWbY|byaW|bY|b3.8文法G单词为:

单词-标识符|整数标识符-标识符字母|标识符数字|字母整数-数字|整数数字字母-A|B|C数字|-1|2|3

(1)改写文法G为G,使L(G)=L(G)。

(2)给出相应的有穷自动机。

解:

(1)令D代表单词,I代表标识符,Z代表整数,有G(D):

DI|ZIA|B|C|IA|IB|IC|I1|I2|I3Z1|2|3|Z1|Z2|Z3

(2)左线性文法G所对应的有穷自动机为:

M=(S,D,I,Z,1,2,3,A,B,C,f,S,D)f:

f(S,A)=I,f(S,B)=I,f(S,C)=If(S,1)=Zf(S,2)=Zf(S,3)=Zf(I,A)=If(I,B)=If(I,C)=If(I,1)=If(I,2)=If(I,3)=If(I,)=If(Z,1)=Zf(Z,2)=Zf(Z,3)=Zf(Z,)=D3.10给出下述文法所对应的正规式。

S0A|1BA1S|1B0S|0解:

相应的正规式方程组为:

S=0A+1BA=1S+1B=0S+0将,代入,得S=01S+01+10S+10对使用求解规则,得(01|10)*(01|10)为所求。

3.4给出文法GS,构造相应最小的DFA。

S-aS|bA|bA-aS方法一:

S=aS+bA+bA=aSS=aS+baS+bS=(a+ba)*b即:

S=(a|ba)*b正规式(a|ba)*b对应的NFA:

正规式(a|ba)*b对应的DFA:

QabX12X1213YY1211213YY3YY121化简后:

方法二:

P43右线性正规文法到有穷自动机的转换。

文法S-aS|bA|bA-aS对应的NFA为:

M=(S,A,D,a,b,f,S,D)其中:

f(S,a)=S,f(S,b)=A,f(S,b)=D,f(A,a)=S其NFA图为:

aSbAabDNFA确定化后的状态矩阵为:

Qab1SSA,D2A,DSNFA确定化后的DFA为:

ab12a3.5给出下述文法所对应的正规式:

S-aAA-bA+aB+bB-aA解:

将文法改为:

S=aAA=bA+aB+bB=aA将代入,得A=bA+aaA+b将用求解规则,得A=(b|aa)*b,带入得,S=a(b|aa)*b,故文法所对应的正规式为R=a(b|aa)*b。

3.6给出与下图等价的正规文法G。

aAaBbCbabDb答:

该有穷自动机为:

M=(A,B,C,D,a,b,f,A,C,D)其中f(A,a)=B,f(A,b)=D,f(B,a)=,f(B,b)=C,f(C,a)=A,f(C,b)=D,f(D,a)=B,f(D,b)=D根据其转换规则,与其等价的正规文法G为G=(A,B,C,D,a,b,P,A),其中P:

AaB|bDBbCCaA|bD|DaB|bD|3.12.解释下列术语和概念:

(1)确定有穷自动机答:

一个确定有穷自动机M是一个五元组M=(Q,f,S,Z),其中:

Q是一个有穷状态集合,每一个元素称为一个状态;是一个有穷输入字母表,每个元素称为一个输入字符;f是一个从Q*到Q的单值映射;f(qi,a)=qj(qi,qjQ,a)表示当前状态为qi,输入字符为a时,自动机将转换到下一个状态qj,qj称为qi的一个后继状态。

我们说状态转换函数是单值函数,是指f(qi,a)惟一地确定了下一个要转移的状态,即每个状态的所有输出边上标记的输入字符不同。

SQ,是惟一的一个初态;Z真包含于Q,是一个终态集。

(2)非确定有穷自动机一个非确定有穷自动机M是一个五元组M=(Q,f,S,Z),其中:

Q是一个有穷状态集合,每一个元素称为一个状态;是一个有穷输入字母表,每个元素称为一个输入字符;状态转换函数是一个多值函数。

f(qi,a)=某些状态的集合(qiQ),表示不能由当前状态、当前输入字符惟一地确定下一个要转移的状态,即允许同一个状态对同一输入字符有不同的输出边。

S包含于A,是非空初态集。

Z真包含于Q,是一个终态集。

(3)正规式和正规集有字母表=a1,a2,an,在字母表上的正规式和它所表示的正规集可用如下规则来定义:

(1)是是的正规式,它所表示的正规集是,即空集。

(2)是上的正规式,它所表示的正规集仅含一空符号串,即。

(3)是上的一个正规式,它所表示的正规集是由单个符号ai所组成,即ai。

(4)e1和e2是是的正规式,它们所表示的正规集分别为L(e1)和L(e2),则e1|e2是上的一个正规式,它所表示的正规集为L(e1|e2)=L(e1)L(e2).e1e2是上的一个正规式,它所表示的正规集为L(e1e2)=L(e1)L(e2).(e1)*是上的一个正规式,它所表示的正规集为L(e1)*)=L(e1)*.31构造下列正规式相应的DFA。

(1)1(0|1)*101

(2)(a|b)*(aa|bb)(a|b)*(3)(0|1)*|(11)*(4)(0|11*0)*32将下面图(a)和(b)分别确定化和最小化.aa01a,b(a)bba02b3aaaabba145b(b)3.3构造一个DFA,他接收=0,1上所有满足如下条件的字符串,每个1都有0直接跟在右边。

3.4给出文法GS,构造相应最小的DFA。

SaS|bA|bAaS3.5给出下述文法所对应的正规式:

S-AaA-bA+aB+bB-aA3.6给出与下图等价的正规文法G。

aAaBbCbabDb3.7给出与图3.29中的NFA等价的正规式R。

3.8文法G单词为:

单词标识符|整数标识符标识符字母|标识符数字|字母整数数字|整数数字字母A|B|C数字1|2|3

(1)改写文法G为G,使L(G)=L(G).

(2)给出相应的有穷自动机。

3.9试证明正规式(a|b)*与正规式(a*|b*)*是等价的。

310给出下述文法所对应的正规式:

S0A|1BA1S|1B0S|0311设字母表=a,b,给出上的正规式R=b*ab(b|ab)*.

(1)试构造状态最小化的DFAM,使得L(M)=L(R)。

(2)求右线性文法G,使L(G)=L(M)。

312解释下列术语和概念。

(1)确定有穷自动机

(2)非确定有穷自动机(3)正规式和正规集

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > PPT模板 > 动态背景

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1