第5章 自顶向下语法分析方法
第1题
对文法G[S] S→a||(T)∧ T→T,S|S
(1) 给出(a,(a,a))和(((a,a),,(a)),a)∧的最左推导。
(2) 对文法G,进行改写,然后对每个非终结符写出不带回溯的递归子程序。 (3) 经改写后的文法是否是LL(1)的?给出它的预测分析表。
(4) 给出输入串(a,a)#的分析过程,并说明该串是否为G的句子。 答案:
可复制、编制,期待你的好评与关注!
可复制、编制,期待你的好评与关注!
也可由预测分析表中无多重入口判定文法是LL(1)的。
可见输入串(a,a)#是文法的句子。 第3题
已知文法G[S]: S→MH|a H→LSo|ε K→dML|ε L→eHf M→K|bLM
判断G是否是LL(1)文法,如果是,构造LL(1)分析表。
可复制、编制,期待你的好评与关注!
第7题
对于一个文法若消除了左递归,提取了左公共因子后是否一定为LL(1)文法?试对下面文法进行改写,并对改写后的文法进行判断。
(1)A→baB|ε
可复制、编制,期待你的好评与关注!
B→Abb|a
(2) A→aABe|a B→Bb|d
(3) S→Aa|b A→SB B→ab 答案:
(1)先改写文法为:
0) A→baB 1) A→ε 2) B→baBbb 3) B→bb 4) B→a
再改写文法为: 0) A→baB 1) A→ε 2) B→bN 3) B→a 4) N→aBbb 5) N→b
(2) 文法: A→aABe|a B→Bb|d
提取左公共因子和消除左递归后文法变为: 0) A→a N 1) N→A B e 2) N→ε 3) B→d N1 4) N1→b N1 5) N1→ε
可复制、编制,期待你的好评与关注!