第5章自底而上优先分析 ■自底向上分析简介 ■回顾:短语、直接短语和句柄 ■自下而上分析基本问题 ◆归约规范归约 ◆举例p103 2025/4/2 课程目录 ☑1
2025/4/2 1 第5章 自底而上优先分析 ◼自底向上分析简介 ◼回顾:短语、直接短语和句柄 ◼自下而上分析基本问题 ◆归约 规范归约 ◆举例 p103 课程目录
文法G: 自下而上分析简介 E→E+TT E T→TFF F→(E)|i 输入串:w=i*i+i E= 输入串最终能归约到 开始符号,说明输入串是 文法的一个句子,分析成 功结束。 2025/4/2 ☑D2
2025/4/2 2 文法G: 自下而上分析简介 E→E+T|T T→T*F|F F→(E)|i 输入串:w=i*i+i 最 右 推 导 E E + T F i T T * F F i i 最 左 归 约 E==>E+T ==>E+F ==>E+i ==>T*F+i ==>T*i+i ==>F*i+i ==>i*i+i ==>T+i 输入串最终能归约到 开始符号,说明输入串是 文法的一个句子,分析成 功结束
自下而上分析基本思想p103 ■从输入串出发,逐步进行归约,直至归约 到文法的开始符号,那么输入串是文法的 句子,否则输入串有语法错误 ■或者说,从语法树的末端开始,步步向上 归约,修剪语法树,直到只剩根结点 ■归约一用产生式的左部替代右部 ■关键 寻找每步句型中可归约串 寻找方式不同,分析方法不同 ■效率更高,对语法限制更少 2025/4/2 章节目录☑)3
2025/4/2 3 自下而上分析基本思想 p103 ◼从输入串出发,逐步进行归约,直至归约 到文法的开始符号,那么输入串是文法的 句子,否则输入串有语法错误 ◼或者说,从语法树的末端开始,步步向上 归约,修剪语法树,直到只剩根结点 ◼归约——用产生式的左部替代右部 ◼关键——寻找每步句型中可归约串 寻找方式不同,分析方法不同 ◼效率更高,对语法限制更少 章节目录
利用语法树寻找句型的短语、句柄等 ■寻找方法 句型n=E+T*i E① 句型n的语法树有: ▣n个内部节点一n棵子树 on棵子树一n个短语 每颗子树的叶结点从左至右排 列组成一个短语 口m棵直接子树一m个直接短语 只有父子两代 3个短语E+T*iT*ii 1个直接短语 i 口最左直接子树一句柄 句柄i 2025/4/2 章节目绿 ☒)4
2025/4/2 4 利用语法树寻找句型的短语、句柄等 句型η=E+T*i E E + T T * F i ◼寻找方法 句型η的语法树有: n棵子树——n个短语 m棵直接子树——m个直接短语 最左直接子树——句柄 ① ② ③ 3个短语 1个直接短语 i 句柄 i E+T*i T*i i 只有父子两代 n个内部节点——n棵子树 每颗子树的叶结点从左至右排 列组成一个短语 章节目录
自下而上分析基本问题 归约与移进归约法 规范推导与规范归约 移进归约分析器 要解决的基本问题? 2025/4/2 章节目录 D5
2025/4/2 5 自下而上分析基本问题 ◼归约与移进归约法 ◼规范推导与规范归约 ◼移进归约分析器 ◼要解决的基本问题? 章节目录