1、NDD.=NDDDD.D=D.D 或者:允许0开头的非负整数?第题 为只包含数字、加号和减号的表达式,例如9-25,3-1,等构造一个文法。GS:S-S+D|S-D|D D-0|1|2|3|4|5|6|7|8|9 第4已知文法GZ:ZaZb|ab 写出L(GZ)的全部元素。Z=aZb=aaZbb=aaa.Z.bbb=aaa.ab.bbb L(GZ)=anbn|n=1 第5写一文法,使其语言是偶正整数的集合。要求:打头;(2)不允许0打头。(1)允许0开头的偶正整数集合的文法 ENT|D TNT|D ND|1|3|5|7|9 D0|2|4|6|8 TFT|G D2|4|6|8 FN|0 GD|0
2、 第6已知文法G::=*=()i 试给出下述表达式的推导及语法树。()i+(i+i) ()i+i*i +i () (5)(Ac=abc(2)S=aB=abc 即存在两不同的最右推导。所以,该文法是二义的。对输入字符串abc,能构造两棵不同的语法树,所以它是二义的。S B bc Ab 第9考虑下面上下文无关文法:SSS*|SS+|a (1)表明通过此文法如何生成串aa+a*,并为该串构造语法树。S* (2)GS的语言是什么?(1)此文法生成串aa+a*的最右推导如下 S=SS*=Sa*=SS+a*=Sa+a*=aa+a* (2)该文法生成的语言是:*和+的后缀表达式,即逆波兰式。第10文法SS(
3、S)S| 生成的语言是什么?该文法是二义的吗?说明理由。()嵌套的括号 ()是二义的,因为对于()()可以构造两棵不同的语法树。第11令文法GE为:ET|E+T|E-T TF|T*F|T/F F(E)|i 证明E+T*F是它的一个句型,指出这个句型的所有短语、直接短语和句柄。此句型对应语法树如右,故为此文法一个句型。因为存在推导序列:E=E+T=E+T*F,所 以E+T*F句型 此句型相对于E的短语有:E+T*F;相对于T的短语 有T*F 直接短语为:T*F 句柄为:第13一个上下文无关文法生成句子abbaa的推导树如下:(1)给出串abbaa最左推导、最右推导。(2)该文法的产生式集合P可能
4、有哪些元素?(3)找出该句子的所有短语、直接短语、句柄。BA (1)串abbaa最左推导:ABS=aBS=aSBBS=aBBS=abBS=abbS=abbAa=abbaa 最右推导:ABAa=ABaa=ASBBaa=ASBbaa=ASbbaa=Abbaa=(2)产生式有:SABS|Aa|AaBSBB|b 可能元素有:aaababbaaaaabbaa (3)该句子的短语有:是相对A的短语是相对S是相对Bbbabbaa直接短语有:句柄是:编译原理课后习题答案第四章 构造下列正规式相应的DFA. 1(0|1)*101 (1010*|1(010)*1)*0 ()a(a|b)*|ab*a)*b ()b(
5、ab)*|bb)*ab 先构造NFA:用子集法将NFA确定化 .01 XAB ABACABY ABY除X,A外,重新命名其他状态,令AB为B、AC为C、ABY为D,因为D含有Y(NFA 的终态),所以D为终态。CD DDFA的状态图:(2)先构造NFA:1E 0 FGHIJK L Y X T0=XABFL T1=ABFLYCG CGCGJ T2=T3=CGJDHDH KABFKL T4=EI EIABEFIL T5=ABFKLT6=ABEFILEJYABEFGJLY T7=ABEFGJLYEHYCGK ABEFHLY CGKABCFGJKL T8=ABEFHLYEYCGI ABEFLY CGI
6、CGJI T9=ABCFGJKLDHYDHY T10=ABEFLYT11=CGJIDHJDHJ T12=T13=EIK EIKABEFIKL T14=ABEFIKL将T0、T1、T2、T3、T4、T5、T6、T7、T8、T9、T10、T11、T12、T13、T14重新命名,分别用0、 1、2、3、4、5、6、7、8、9、10、11、12、13、14表示。因为2、7、8、10、12中含有Y, 所以它们都为终态。23 2 35 6 56789 1011 912111314 1412 7 8 4 a,b EF C ABCD T1=ABCDBEBY ABCDE BYABCDY T2=ABCDEBEFBEY ABCDEF BEYABCDEY T3=ABCDYT4=ABCDEFT5=ABCDEY将T0、T1、T2、T3、T4、T5重新命名,分别用0、1、2、3、4、5因为3、5
copyright@ 2008-2022 冰豆网网站版权所有
经营许可证编号:鄂ICP备2022015515号-1