第五章自顶向下语法分析方法.pptVIP

  • 3
  • 0
  • 约1.45万字
  • 约 88页
  • 2017-06-18 发布于四川
  • 举报
用预测分析程序,栈和预测分析表对输入串i+i*i#进行分析 本章小结 确定的自顶向下分析方法虽对文法有一定的限制,但由于实现方法简单、直观,便于手工构造或自动生成语法分析器,因而仍是目前常用的方法之一。要求通过本章的学习后,能够对一个给定的文法判断是否是LL(1)文法;能构造预测分析表;能用预测分析方法判断给定的输入符号串是否是该文法的句子;对某些非LL(1)文法做等价变换后可能变成LL(1)文法。 复习要点 语法分析常用的方法 会求FIRST、FOLLOW集 LL(1)文法的条件 左递归文法 构造LL(1)分析表 * 写成一般形式为: A→??1|??2|…|??n, 提取左公共因子后变为: A→?(?1|?2|…|?n), 再引进非终结符A,变为:   A→ ?A   A→ ?1| ?2|…| ?n  若在?i、?j、?k … (其中1≤i,j,k≤n)中仍含有左公共因子,这时可再次提取,这样反复进行提取直到引进新非终结符的有关产生式再无左公共因子为止。 例5.6 若文法G1的产生式为: (1) S→aSb (2) S→aS (3) S→? 请提取文法中的左公因子。 对产生式(1)、(2)提取左公因子后得: S→ aS(b|?) S→? 进一步变换为文法G1: S→aSA A→b A→? S→? 例5.7 若文法G2的产生式为:

文档评论(0)

1亿VIP精品文档

相关文档