编译原理 3.2正规文法和状态转换图
- 格式:ppt
- 大小:901.00 KB
- 文档页数:49
第三章习题参考解答3.1 构造自动机A,使得①②③当从左至右读入二进制数时,它能识别出读入的奇数;④它识别字母表{a, b}上的符号串,但符号串不能含两个相邻的a,也不含两个相邻的b;⑤它能接受字母表{0, 1}上的符号串,这些符号串由任意的1、0和随后的任意的11、00对组成。
⑥它能识别形式如±dd*⋅ d*E ±dd的实数,其中,d∈{0, 1, 2, 3, 4, 5, 6, 7, 8, 9}。
3.2 构造下列正规表达式的DFSA:① xy*∣yx*y∣xyx;② 00∣(01)*∣11;③ 01((10∣01)*(11∣00))*01;④ a(ab*∣ba*)*b。
3.3 消除图3.24所示自动机的空移。
bεq1q2q3aba,bqaq6q4q5abεεε图3.24 含空移的自动机3.4 将图3.25所示NDFSA确定化和最小化。
xyqq1q2q4q3xyxyx,yx图3.25 待确定化的NDFSA3.5 设e、e1、e2是字母表∑上的正规表达式,试证明① e∣e=e;② {{e}}={e};③ {e}=ε∣e{e};④ {e1 e2} e1= e1{e2 e1};⑤ {e1∣e2}={{e1}{e2}}={{e1}∣{e2}}。
3.6 构造下面文法G[Z]的自动机,指明该自动机是不是确定的,并写出它相应的语言: G[Z]:Z→A0A→A0∣Z1∣03.7 设NDFSA M=({x, y},{a, b},f, x, {y}), 其中,f(x, a)={x, y}, f(x, b)={y}, f(y, a)=∅, f(y, b)={x, y}。
试对此NDFSA确定化。
3.8 设文法G[〈单词〉]:〈单词〉→〈标识符〉∣〈无符号整数〉〈标识符〉→〈字母〉∣〈标识符〉〈字母〉∣〈标识符〉〈数字〉〈无符号整数〉→〈数字〉∣〈无符号整数〉〈数字〉〈字母〉→a∣b〈数字〉→1∣2试写出相应的有限自动机和状态图。
第3章习题3-1 试构造一右线性文法,使得它与如下的文法等价S→AB A→UT U→aU|a D→bT|b B→cB|c 并根据所得的右线性文法,构造出相应的状态转换图。
3-2 对于如题图3-2所示的状态转换图(1) 写出相应的右线性文法;(2) 指出它接受的最短输入串;(3) 任意列出它接受的另外4个输入串;(4) 任意列出它拒绝接受的4个输入串。
3-3 对于如下的状态转换矩阵:(1) 分别画出相应的状态转换图;(2) 写出相应的3型文法;(3) 用自然语言描述它们所识别的输入串的特征。
3-4 将如下的NFA确定化和最小化:3-5 将如题图3-5所示的具有ε动作的NFA确定化。
题图3-5 具有ε动作的NFA3-6 设有文法G[S]:S→aA A→aA|bB B→bB|cC|c C→cC|c 试用正规式描述它所产生的语言。
3-7 分别构造与如下正规式相应的NFA。
(1) ((0* |1)(1* 0))*(2) b|a(aa*b)*b3-8 构造与正规式(a|b)*(aa|bb)(a|b)*相应的DFA。
第3章习题答案3-1 解:根据文法知其产生的语言是:L[G]={a m b n c i| m,n,i≧1}可以构造与原文法等价的右线性文法:S→aA A→aA|bB B→bB|cC|c C→cC|c 其状态转换图如下:3-2 解:(1) 其对应的右线性文法是G[A]:A →0D B→0A|1C C→0A|1F|1D→0B|1C E→0B|1C F→1A|0E|0(2) 最短输入串为011(3) 任意接受的四个输入串为:0110,0011,000011,00110(4) 任意拒绝接受的输入串为:0111,1011,1100,10013-3 解:(1) 相应的状态转换图为:(2) 相应的3型文法为:(ⅰ) S→aA|bS A→aA|bB|b B→aB|bB|a|b(ⅱ) S→aA|bB|a A→bA|aC|a|b B→aB|bC|b C→aC|bC|a|b(ⅲ) S→aA|bB|b A→aB|bA|a B→aB|bB|a|b(ⅳ) S→bS|aA A→aC|bB|a B→aB|bC|b C→aC|bC|a|b(3) 用自然语言描述的输入串的特征为:(ⅰ) 以任意个(包括0个)b开头,中间有任意个(大于1)a,跟一个b,还可以有一个由a,b组成的任意字符串。
编译原理_南京邮电大学中国大学mooc课后章节答案期末考试题库2023年1.左线性文法画状态转换图时,文法的开始符号对应的终止状态答案:正确2.e1= (a|b)*,e2=(a*b*)* e1和e2等价答案:正确3.一张状态转换图只包含有限个状态,其中有一个被认为是初态,最多只有一个终态。
答案:错误4.简单优先分析法是一种规范归约分析法答案:正确5.S∷=aAa | aBb| bAb| bBa A∷=x B∷=x 该文法不是LALR(1)文法答案:正确6.LL(1)文法无左递归、无二义性。
答案:正确7.文法:E∷=EE+ | EE* | aFOLLOW(E)={+,*,#}答案:错误8.LR分析栈中存放的状态是识别文法规范句型()的DFA的状态。
答案:活前缀9.已知文法A∷=BCc | gDBB∷=ε| bCDEC∷=DaB | caD∷=ε| dD E∷=gAf |cFOLLOW(B)={}答案:{ a,c,d,g,f,#}10.表达式(a+b)/(a-b)-(b*c)的四元式序列为:⑴.(+,a,b,T1)⑵.(-,a,b,T2)⑶.(/,T1,T2,T3)⑷.(*,b,c,T4)⑸.(-,T3,T4,T5)答案:正确11.编译程序与具体的机器有关。
答案:正确12.由文法的开始符经0步或多步推导产生文法符号序列是句子。
答案:错误13.如果在进行归约时,文法的某些规范句型的句柄不唯一,则称该文法是二义性文法。
答案:正确14.规范归约又称为最右归约。
答案:错误15.假设有一文法,如果文法G中没有形如A::=....BC....这样的规则,其中A、B和C都为非终结符号,则称该文法为()答案:算符文法16.递归下降分析法属于()分析方法答案:自顶向下17.由正规文法构造状态转换图,其右线性文法识别符号对应是状态转换图的初始状态。
答案:正确18.算符优先分析法是一种一种规范归约分析法答案:错误19.确定的有穷自动机只有唯一的终止状态答案:错误20.正规表达式(a|b)*和(a*b*)*不等价答案:错误21.含有优化部分的编译程序的执行效率高答案:错误22.FORTRAN语言是一种系统程序设计语言,可用来编写编译程序。