《编译原理第五章答案》由会员分享,可在线阅读,更多相关《编译原理第五章答案(9页珍藏版)》请在金锄头文库上搜索。
1、第5章自顶向下语法分析方法第1题对文法GS Sa|TT,S|S 给出a,和,a的最左推导。 对文法G,进行改写,然后对每个非终结符写出不带回溯的递归子程序。 经改写后的文法是否是LL的?给出它的预测分析表。 给出输入串#的分析过程,并说明该串是否为G的句子。答案:也可由预测分析表中无多重入口判定文法是LL的。可见输入串a,a#是文法的句子。第3题已知文法GS:SMH|a HLSo| KdML| LeHf MK|bLM 判断G是否是LL文法,如果是,构造LL分析表。第7题对于一个文法若消除了左递归,提取了左公共因子后是否一定为LL文法?试对下面文法进行改写,并对改写后的文法进行判断。AbaB|B
2、Abb|a AaABe|a BBb|d SAa|b ASB Bab答案:先改写文法为:0 AbaB 1 A2 BbaBbb 3 Bbb 4 Ba 再改写文法为:0 AbaB 1 A2 BbN 3 Ba 4 NaBbb 5 Nb 2 文法: AaABe|a BBb|d 提取左公共因子和消除左递归后文法变为:0 Aa N 1 NA B e2 N3 Bd N1 4 N1b N1 5 N13文法:SAa|b ASB Bab 第1种改写:用A的产生式右部代替S的产生式右部的A得:SSBa|b Bab 消除左递归后文法变为:0 Sb N 1 NB a N 2 N 3 Ba b也可由预测分析表中无多重入口判定文法是LL的。第2种改写:用S的产生式右部代替A的产生式右部的S得:SAa|b AAaB|bB Bab 消除左递归后文法变为:0 SA a 1 Sb 2 Ab B N 3 Na B N4 N 5 Ba b预测分析表:. .