11、A≥1)C=C+1;elsewhile(A≤D)A=A+2;}。第10页共6页解:该语句的四元式序列如下(其中E1、E2和E3分别对应A<C∧B<D、A≥1和A≤D,并且关系运算符优先级高):100(j<,A,C,102)101(j,_,_,113)102(j<,B,D,104)103(j,_,_,113)104(j=,A,1,106)105(j,_,_,108)106(+,C,1,C)107(j,_,_,112)108(j≤,A,D,110)109(j,_,_,112)110(+,A,2,A)111(j,_,_,108)112(j,_,_,100)1135.
12、已知文法G[S]为S→aSb
13、Sb
14、b,试证明文法G[S]为二义文法。证明: 由文法G[S]:S→aSb
15、Sb
16、b,对句子aabbbb对应的两棵语法树为: 因此,文法G[S]为二义文法。 五.计算题(10分)已知文法A->aAd
17、aAb
18、ε第10页共6页判断该文法是否是SLR(1)文法,若是构造相应分析表,并对输入串ab#给出分析过程。解:增加一个非终结符S/后,产生原文法的增广文法有:S'->AA->aAd
19、aAb
20、ε下面构造它的LR(0)项目集规范族为:从上表可看出,状态I0和I2存在移进-归约冲突,该文法不是LR(0)文法。对于I0来说有:F
21、OLLOW(A)∩{a}={b,d,#}∩{a}=Φ,所以在I0状态下面临输入符号为a时移进,为b,d,#时归约,为其他时报错。对于I2来说有也有与I0完全相同的结论。这就是说,以上的移进-归约冲突是可以解决的,因此该文法是SLR(1)文法。其SLR(1)分析表为:第10页共6页对输入串ab#给出分析过程为:三、名词解释题:1.局部优化-------局限于基本块范围的优化称。2.二义性文法------如果一个文法存在某个句子对应两棵不同的语法树,则称这个文法是二义性文法。3.DISPLAY表----过程的嵌套层次显示表,记录该过程的各外层过程的最新活动记录的起
22、始地址。5.最左推导------任何一步α=>β都是对α中的最右非终结符替换。6.语法------一组规则,用它可形成和产生一组合式的程序。7.文法------描述语言的语法结构的形式规则。8.基本块------指程序中一顺序执行的语句序列,其中只有一个入口和一个出口,入口就是其中的第一个语句,出口就是其中的最后一个语句。9.语法制导翻译------在语法分析过程中,根据每个产生式所对应的语义子程序进行翻译的办法叫做语法制导翻译。10.短语------令G是一个文法,S划文法的开始符号,假定αβδ是文法G的一个句型,如果有SαAδ且Aβ,则称β是句型αβδ相对
23、非终结符A的短语。11.待用信息------如果在一个基本块中,四元式i对A定值,四元式j要引用A值,而从i到j之间没有A的其它定值,则称j是四元式i的变量A的待用信息。12.规范句型------由规范推导所得到的句型。13.扫描器------执行词法分析的程序。14.超前搜索------在词法分析过程中,有时为了确定词性,需超前扫描若干个字符。15.句柄------一个句型的最左直接短语。16.语法制导翻译------在语法分析过程中,根据每个产生式所对应的语义程序进行翻译的方法叫做语法制导翻译。17.规范句型------由规范推导所得到的句型。18.素短语
24、------素短语是指这样一个短语,至少含有一个终结符,并且,除它自身外不再含任何更小的素短语。19.语法------是组规则,用它可形成和产生一个合式的程序。20.待用信息------如果在一个基本块中,四元式i对A定值,四元式j要引用A值,而从i到j之间没有A的其它定值,则称j是四元式i的变量A的待用信息。21.语义------定义程序的意义的一组规则。四、简答题:1.写一个文法G,使其语言为不以0开头的偶数集。2.已知文法G(S)及相应翻译方案S→aAb{print“1”}S→a{print“2”}A→AS{print“3”}A→c{print“4”}输
25、入acab,输出是什么?3.已知文法G