编译原理语法---自顶向下材料.ppt

第四章 语法分析----自顶向下分析 学习目标: 掌握:LL(1)文法的判别,预测分析法,递归子程序的构造方法 理解:LL(1)文法 了解:不确定的自顶向下分析 语法分析的作用是识别由词法分析给出的单词序列是否是给定文法的正确句子 分类: 4.2 确定的自顶向下分析思想 1 确定分析的条件 2 开始符号集FIRST(α)的定义 3 后跟符号集FOLLOW(A)的定义 4 选择集合SELECT(A→α)的定义 5 LL(1)文法的定义 确定分析的条件 从文法的开始符出发,如能根据当前的输入符号(单词符号)唯一地确定选用哪个产生式进行推导,则分析是确定的。 例1 设有文法G1[S]: S→pA|qB A→cAd|a B→dB|b 若输入串W=pccadd。自顶向下的推导过程为: 要进行确定的自顶向下的分析,文法要满足一定的限制——即文法是LL(1)文法。 先研究三个定义 1.开始符号集FIRST 2.后跟符号集FOLLOW 3.选择集合SELECT 1 . 开始符号集FIRST(α)的定义 定义:设G=(VN, VT, P, S)是上下文无关文法, ??(VN?VT)* FIRST(?) = { a ?VT | ??* a......} 若??* ε 则规定ε ∈FIRST(?) 直观上说文法符号串? 的开始符号集是

文档评论(0)

1亿VIP精品文档

相关文档