第五章语法分析一自下而上分析 ■自上而下分析法(Top一down) ■自下而上分析法(Bottom-up) 国防科技大学计算机系602教研室
国防科技大学计算机系602教研室 第五章 语法分析——自下而上分析 ◼ 自上而下分析法(Top-down) ◼ 自下而上分析法(Bottom-up)
语法分析的方法: 口自下而上分析法(Bottom-up) 口自上而下分析法(Top-dowm) ■基本思想:它从文法的开始符号出发,反复 使用各种产生式,寻找“匹配“的推导。 ■递归下降分析法:对每一语法变量(非终结 符)构造一个相应的子程序,每个子程序识 别一定的语法单位,通过子程序间的信息反 馈和联合作用实现对输入串的识别。 预测分析程序 。优点:直观、简单和宜于手工实现。 国防科技大学计算机系602教研室
国防科技大学计算机系602教研室 ◼ 语法分析的方法: 自下而上分析法(Bottom-up) 自上而下分析法(Top-down) ◼基本思想:它从文法的开始符号出发,反复 使用各种产生式,寻找"匹配"的推导。 ◼递归下降分析法:对每一语法变量(非终结 符)构造一个相应的子程序,每个子程序识 别一定的语法单位,通过子程序间的信息反 馈和联合作用实现对输入串的识别。 ◼预测分析程序 优点:直观、简单和宜于手工实现
语法分析的方法: 口自下而上分析法(Bottom-up) ■基本思想:从输入串开始,逐步进行“担 约”,直到文法的开始符号。即从树末端开 始,构造语法树。所谓归约,是指根据文法的 产生式规则,把产生式的右部替换成左部符号。 ■算符优先分析法:按照算符的优先关系和结合 性质进行语法分析。适合分析表达式。 ■LR分析法:规范归约 国防科技大学计算机系602教研室
国防科技大学计算机系602教研室 ◼语法分析的方法: 自下而上分析法(Bottom-up) ◼基本思想:从输入串开始,逐步进行“归 约”,直到文法的开始符号。即从树末端开 始,构造语法树。所谓归约,是指根据文法的 产生式规则,把产生式的右部替换成左部符号。 ◼算符优先分析法:按照算符的优先关系和结合 性质进行语法分析。适合分析表达式。 ◼ LR分析法:规范归约
G(E):E->iE+E E-EI E*EE/E(E) i*i+i E*i+i E*E+i E+i E+E E E E E 米 i 国防科技大学计算机系602教研室
国防科技大学计算机系602教研室 G(E): E → i| E+E | E-E | E*E | E/E | (E) i*i+i E*i+i E*E+i E+i E+E E i + * E i i E E E E
5.1.1归约 ■采用“移进一归约”思想进行自下而上分析。 ■ 基本思想:用一个寄存符号的先进后出栈, 把输入符号一个一个地移进到栈里,当栈顶 形成某个产生式的候选式时,即把栈顶的这 一部分替换成(约为)该产生式的左部符 号。 国防科技大学计算机系602教研室
国防科技大学计算机系602教研室 5.1.1 归约 ◼ 采用“移进-归约”思想进行自下而上分析。 ◼ 基本思想:用一个寄存符号的先进后出栈, 把输入符号一个一个地移进到栈里,当栈顶 形成某个产生式的候选式时,即把栈顶的这 一部分替换成(归约为)该产生式的左部符 号