编译原理第五章习题

一、 问答题

问答第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的句子。


问答第2题
  已知文法G[S]:
  S→MH|a
  H→LSo|ε
  K→dML|ε
  L→eHf
  M→K|bLM
  判断G是否是LL(1)文法,如果是,构造LL(1)分析表。


问答第3题
  对于一个文法若消除了左递归,提取了左公共因子后是否一定为LL(1)文法?试对下面文法进行改写,并对改写后的文法进行判断。
  (1) A→aABe|a
    B→Bb|d
  (3) S→Aa|b
    A→SB
    B→ab