1、编译原理课后答案AVV *第二早1、 L(GS)= abc 2、 L(GN)= n位整数或空字符串| n03、 GE : EE+D | E-D | DD0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 94、 L(GZ)= a nbn | n0 5、(1)考虑不包括“ 0”的情况GS: S 0S | ABC | 2 | 4| 6 | 8A1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 BAB | 0B | &C0 | 2 | 4 | 6 | 8考虑包括“ 0”的情况:GS: S AB | CBAB | CA0 | 1 | 2 | 3 | 4 | 5 |
2、 6 | 7 | 8 | 9C0 | 2 | 4 | 6 | 8(2)方法1:GS: S ABC | 2 | 4 | 6 | 8A1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9BAB | 0B | &C0 | 2 | 4 | 6 | 8方法2:GS: S AB | CB AB | 0B | C | 0A 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9C2 | 4 | 6 | 8&设为E, 为T, T = F = i(4) E = E+T = T+T = T*F+T = F*F+T = i*F+T = i*i+T = i*i+F = i*i+i(6) E
3、= E+T = T+T = F+T = i+T = i+T*F = i+F*F = i+i*F = i+i*I8、 是有二义性的,因为句子abc有两棵语法树(或称有两个最左推导或有两个最右 推导)最左推导1: S = Ac = abc最左推导2: S = aB = abc9、 a a(2)该文法描述了变量a和运算符+、*组成的逆波兰表达式10、 (1)该文法描述了各种成对圆括号的语法结构(2)是有二义性的,因为该文法的句子()()存在两种不同的最左推导: 最左推导 1: S = S(S)S = (S)S = ()S = ()S(S)S = ()(S)S = ()()S = ()() 最左推导
4、2: S = S(S)S = S(S)S(S)S = (S)S(S)S= ()S(S)S = ()(S)S = ()()S = ()()11、 因为从文法的开始符E出发可推导出E+T*F,推导过程如下:E = E+T =E+T*F,所以 E+T*F 是句型。从子树和短语之间的关系可知:E+T*F是句型E+T*F相对于E的短语;T*F是句型E+T*F相对于T的短语,也是简单短语和句柄。13、 (1)最左推导:S = ABS = aBS = aSBBS = aBBS = abBS = abbS = abbAa = abbaa(2)S ABS | Aa | AaBSBB | b(3)首先为了区别句子
5、abbaa中的a和b,把它写成a1b1b2a2a3 该句子的短语有:a1b1b2a2a3,b1b2, a2a3, a1, a2, b1, b2,直接短语有:a1,a2,b1,b2,句柄:a114、 (1) GS: S ABAaAb | BaBb | (2)GS: S 1S0 | AA0A1 | (3)GS: S 0S0 | aSa | a 16、(1) GA : AaA |(2) GA : A aA | aBB bB | b(3)GA : AaA | BB bB | CC- cC | 、/、(和)17、习题6、习题7和习题7中的文法所描述的语言都是由变量i、+、-、组成算术表达式,因此它们之间
6、是等价的第四章参考答案第1题:确定化:|0I1-SAAAABABACABACAABZ+ABZACABSABCZ重新命名,令AB为B、AC为C、ABZ为Z 其中S为初态,Z为终态01-SAAABBCBCAD+ZCBa,babb确定化:01234I aIb-SAAABAZABABABZ+AZABAZ+ABZABABZ重新命名,以 0、1、2、3、4 代替S,A, AB,AZ,ABZ 得 DFAI aIb-01123224+323+424其中0为初态,3, 4为终态第2题:ABCDEFIo11ZX+ZXZY+XZXZXYYXYXYXYZX+XYZXYZXY以 A、E、C、D、E、F代替 X,Z ,X
7、Z , Y , XY ,XYZ得DFA01ABA重新命名,其中A为初态,E,C, F为终态+BCD+CCEDEEFA+FFE第3题:得DFA确定化:IoIl-SVQQUVQVZQUQUVQUZ+VZZZVZ+QUZVZQUZ+ZZZBCDEFG重新命名,以 A、E、C、D、E、F代替 S,VQ ,QU , VZ , V ,QUZ,Z 其中A为初态,D, F, G为终态01-ABCBDCCEF+DGGEG+FDF+GGG第4题:确定化:laIb-+o011+0101110ABC重新命名,以A、E、C代替 0、01、1得DFA 其中A为初态,A , B为终态ab-+ABC+BBCCA最小化:初始分
8、划得终态组A,B,非终态组Cno: A,B , C以A、C代替A,B、对终态组进行审查,判断A和B是等价的,故这是最后的划分重新命名,C得 DFAab-+AACCA(2)这是DFA,直接最小化初始分划得:终态组0,非终态组1,2,3,4,5no: 0 , 1,234,5对1,2,3,4,5进行审查: 4输入a后到达0 , 1,2,3,5输入a后到达1,3,5,故得到新分划 0,1,3,5 , 4ni: 0 , 4 , 1,2,3,5对1,2,3,5进行审查: 1,5输入b后到达4 , 2,3输入b后到达2,3,故得到新分划 1,5 , 2,3口2: 0 , 4 , 1,5 , 2,3对1,5
9、, 2,3进行审查:1, 5输入a后到达1, 52输入a后到达1 , 3输入a后到达,故得到新分划2 , 3口3: 0 , 2 , 3 , 4 , 1,5这是最后分划了重新命名,以 0, 2, 3, 4, 1 代替0 , 2 , 3 , 4 , 1,5得 DFA 略确定化:最小化:初始分划得:终态组 3,4,非终态组 0,1,2,5,6口0: 3,4 , 0,1,2,5,6对 0,125,6进行审查:1,2输入b到达 3,4,而0,5,6输入b到达 2,5,6,故得到新分划 1,2 , 0,5,6ni: 3,4 , 1,2 , 0,5,6对 0,5,6进行审查:0经过b到达2 , 5,6经过b
10、到达 5,6,故得到新分划 0 5,6n3: 0 , 1,2 , 3,4 , 5,6这是最后划分了。重新命名,以 0, 1, 3, 5代替0 , 1,2 , 3,4 , 5,6得DFA略第9题这是DFA ,直接最小化初始分划得:终态组 6,7,非终态组 1,2,3,4,5no: 6,7 , 1,2,3,4,5对 1,2,3,4,5进行审查:1,2输入b到达 2,而3,4输入b到达 6,7, 5输入b不会有任何动作,故得到新分 划 1,2 , 3,4 ,5ni: 6,7 , 3,4 , 5 , 1,2这是最后划分了。重新命名,以 1 , 3, 5, 6代替 1,2 , 3,4 , 5 , 6,7
11、得DFA第11题根据正则文法(左线性文法)转化为 NFA的方法构造NFA :确定化:所识别的语言是: 4(a|b) a (ba|a)*第13题(1)假设d A,B,Y,Z n 0,1,2,8,9文法可以等价得化为:单词 标识符 | 整数标识符 标识符d | 标识符n | d整数 整数n | n(2)根据正则文法(左线性文法)转化为 NFA的方法构造NFA :重新命名状态,令 A、B、C分别代表 单词 、标识符 、整数第五章习题参考答案1、 对(a,(a,a)的最左推导为: S二(T) =(T,S) = (S,S) = (a,S) = (a,(T) = (a,(T,S) = (a,(S,S)尸(
12、a,(a,S)=(a,(a,a)对(a,a),卜、,(a),a)的最左推导为: S=.(T) =(T,S) =(S,S)二(T),S)=. (T,S),S) = (T,S,S),S)=.(S,S,S),S) =:(T),S,S),S)=、(T,S),S,S),S)=(S,S),S,S),S尸,(a,S),S,S),S) =(a,a),S,S),S) = (a,a),人,S),S)=(a,a),人,(T),S) (a,a),人,(S),S) =,(a,a),人,(a),S) (a,a),人,(a),a)对(a,a), ,(a),a)的最左推导为:S (T) (T,S) (S,S) (T),S) (T,S)
copyright@ 2008-2022 冰豆网网站版权所有
经营许可证编号:鄂ICP备2022015515号-1