编译原理—清华大学—第2版_第5章 自顶向下语法分析方法.ppt

编译原理—清华大学—第2版_第5章 自顶向下语法分析方法.ppt

第5章 自顶向下语法分析方法 教学要求:本章介绍编译程序的第二个阶段语法分析的设计方法和实现原理,包括自上而下分析的无回朔的递归下降分析、 LL(1)分析法。要求理解递归下降分析、LL(1)文法的基本概念;掌握LL(1)分析表的构造与分析方法。 教学重点:LL(1)文法,预测分析表构造,LL(1)分析法。 5.1 确定的自顶向下分析思想 文法G1[S]: S→pA S→qB A→cAd A→a B→dB B→b 确定的自顶向下分析 1、基本思想: 从识别符出发,不断建立直接推导,试图构造一个推导序列,最终由它推导出与输入符号串相同的符号串。 2、遇到问题: (1)回溯(出现若干个左部相同的产生式) (2)无限循环(文法出现左递归) 3、解决方法: (1)避免回溯 (2)消除左递归 为了避免回溯,先研究三个定义: 符号串α的开始符号FIRST集 非终结符A后跟符号FOLLOW集 产生式的选择集合SELECT集 定义:设 G = (VT ,VN , S , P) 是上下文无关文法, FIRST(α) = {a|α aβ,a∈ VT,α,β∈V*} 若α ε,则规定ε∈FIRST(α) FIRST(Ap)={a,c} FIRST(Bq)={b,d} 2、非终结符A后跟符号FOLLOW集的定义: 定义:设 G = (VT ,VN

文档评论(0)

1亿VIP精品文档

相关文档