编泽原理 第五章语法分析 自下而上分析 刘小豫 信息工程学院 Email:.shz灯y@126.com
编译原理 第五章 语法分析 ——自下而上分析 刘小豫 信息工程学院 Email:shzlxy@126.com
编泽原理 培法分折一自下而上分析 本章内容概要 马自下而上分析基本问题 @归约 @规范归约 算符优先分析 @算符优先文法 @算符优先分析表的构造 LR分析法 OLR分析器 OLR文法 ©LR(O)项目集族和LR(O)分析表的构造 第2列
编译原理 第2页 语法分析-自下而上分析 自下而上分析基本问题 归约 规范归约 算符优先分析 算符优先文法 算符优先分析表的构造 LR分析法 LR分析器 LR文法 LR(0)项目集族和LR(0)分析表的构造 本章内容概要
编译原理 培法分析一自下而上分析 语法分析的方法: @自下而上分析法(Bottom-up) ©自上而下分析法(Top-dowm) ◇基本思想:它从文法的开始符号出发,反复 使用各种产生式,寻找”匹配”的推导。 ◇递归下降分析法:对每一语法变量(非终结 符)构造一个相应的子程序,每个子程序识别 一定的语法单位,通过子程序间的信息反馈 和联合作用实现对输入串的识别。 令预测分析程序 优点:直观、简单和宜于手工实现。 第3觉
编译原理 第3页 语法分析-自下而上分析 语法分析的方法: 自下而上分析法(Bottom-up) 自上而下分析法(Top-down) 基本思想:它从文法的开始符号出发,反复 使用各种产生式,寻找"匹配"的推导。 递归下降分析法:对每一语法变量(非终结 符)构造一个相应的子程序,每个子程序识别 一定的语法单位,通过子程序间的信息反馈 和联合作用实现对输入串的识别。 预测分析程序 优点:直观、简单和宜于手工实现
编泽原理 培法分析-自下而上分析 5.1自下而上分析基本问题 5.1.1自下而上分析法(Bottom-up) ©基本思想:从输入串开始,逐步进行 “归约”,直到文法的开始符号。即从 树末端开始,构造语法树。 第苑
编译原理 第4页 语法分析-自下而上分析 5.1.1 自下而上分析法(Bottom-up) 基本思想:从输入串开始,逐步进行 “归约”,直到文法的开始符号。即从 树末端开始,构造语法树。 5.1 自下而上分析基本问题
编泽原理 培法分析一自下而上分析 归约 @所谓归约,是指根据文法的产生式规则, 把产生式的右部替换成左部符号。 ©采用“移进一归约”思想进行自下而上分 析。 ©实现思想:用一个寄存符号的先进后出栈, 把输入符号一个一个地移进到栈里,当栈 顶形成某个产生式的候选式时,即把栈顶 的这一部分(可归约串)替换成(归约为) 该产生式的左部符号。 返回 第5页
编译原理 第5页 语法分析-自下而上分析 归约 所谓归约,是指根据文法的产生式规则, 把产生式的右部替换成左部符号。 采用“移进-归约”思想进行自下而上分 析。 实现思想:用一个寄存符号的先进后出栈, 把输入符号一个一个地移进到栈里,当栈 顶形成某个产生式的候选式时,即把栈顶 的这一部分(可归约串)替换成(归约为) 该产生式的左部符号。 返回