编译原理第五章 作业参考答案.docVIP

  • 62
  • 0
  • 约6.94千字
  • 约 7页
  • 2016-02-26 发布于江西
  • 举报
编译原理第五章 作业参考答案.doc

第五章 自顶向下语法分析方法 1.对文法G[S] S(a|∧|(T) T(T,S|S 给出(a,(a,a))和(((a,a),∧,(a)),a)的最左推导。 对文法G,进行改写,然后对每个非终结符写出不带回溯的递归子程序。 经改写后的文法是否是LL(1)的?给出它的预测分析表。 给出输入串(a,a)#的分析过程,并说明该串是否为G的句子。 解: (1) (a,(a,a))的最左推导为S((T)((T,S)((S,S)((a,(T))((a,(T,S))((a,(S,a))((a,(a,a)) (((a,a),∧,(a)),a)的最左推导为 S((T)((T,S)((S,a)(((T),a)(((T,S),a)(((T,S,S),a)(((S,∧,(T)),a)((((T),∧,(S)),a) ((((T,S),∧,(a)),a)((((S,a),∧,(a)),a)((((a,a),∧,(a)),a) (2)由于有T(T,S的产生式,所以消除该产生式的左递归,增中一个非终结符U有新的文法G/[S]: S(a|∧|(T) T(SU U(,SU|ε 分析子程序的构造方法 对满足条件的文法按如下方法构造相应的语法分析子程序。 (1) 对于每个非终结号U,编写一个相应的子程序P(U); (2) 对于规则U::=x1|x2|..|xn,有一个关于U的子程序P(U),P(U)按如下

文档评论(0)

1亿VIP精品文档

相关文档