6-自底向上优先分析法new.pptVIP

  • 4
  • 0
  • 约8.9千字
  • 约 59页
  • 2016-09-29 发布于江西
  • 举报
6-自底向上优先分析法new

第6章 自底向上优先分析法 6.1 概 述 对待分析的符号串,自左向右逐个扫描,输入符号栈,一旦栈顶符号串形成某个句型的句柄或可归约串(对应于某产生式的右部),就用该产生式的左部非终结符代替相应右部的文法符号,即归约成识别符号。 在分析过程中,每次归约的都是最左边的简单短语(或其它短语)。 从语法树的角度,以输入符号为树的末端结点,试图向根结点方向往上构造语法树。 讨论前提 和自顶向下技术同样,不考虑符号的具体构成方式。 识别过程是从左到右,自底向上进行的。一般都采用规范归约:每一步都是对句柄进行归约(特例除外)。 基本方法 采用移入-归约方法。 使用一个栈来存放归约得到的符号。 在分析的过程中,识别程序不断地移入符号。移入的符号暂时存放在一个栈中。一旦在已经移入的(和归约得到的)符号串中包含了一个句柄时,将这个句柄归约成为相应的非终结符号。 基本方法(续) 归约中的动作有4类 移入:读入一个符号并把它归约入栈。 归约:当栈中的部分形成一个句柄(栈顶的符号序列)时,对句柄进行归约。 接受:当栈中的符号仅有#和识别符号的时候,输入符号也到达结尾的时候,执行接受动作。 错误处理:当识别程序发现输入符号串不是句子时,即出错,调用错误处理模块。 例 子 i *i+i i*i+i i E::=i E *i+i E*i+i E* i+i E

文档评论(0)

1亿VIP精品文档

相关文档