compiler-principle07 3.3 自上而下分析 编译原理 知识讲稿.pptVIP

  • 6
  • 0
  • 约7.11千字
  • 约 32页
  • 2018-05-21 发布于天津
  • 举报

compiler-principle07 3.3 自上而下分析 编译原理 知识讲稿.ppt

compiler-principle07 3.3 自上而下分析 编译原理 知识讲稿.ppt

温故知新 0型文法 1型文法 2型文法 3型文法 上下文无关文法 自上而下 自下而上 LL(1)文法 2个函数 任何两个产生式A ?? |? 都满足下列条件: 1、FIRST(? ) ? FIRST(? ) = ? 2、若? ?* ? ,那么FIRST(?) ? FOLLOW(A) = ? 递归下降预测分析 非递归的预测分析 a + b $ 输入 预测分析程序 分析表M 输出 X Y Z $ 栈 3.3 自上而下分析 3.3.6 预测分析的错误恢复 编译器的错误概述 : 词法错误,如标识符、关键字或算符的拼写错 语法错误,如算术表达式的括号不配对 语义错误,如算符作用于不相容的运算对象 逻辑错误,如无穷的递归调用 3.3 自上而下分析 分析器对错误处理的基本目标 清楚而准确地报告错误的出现 迅速地从每个错误中恢复过来,以便诊断后面的错误,并尽量少出现伪错误 它不应该使正确程序的处理速度降低太多 3.3 自上而下分析 非递归预测分析在什么场合下发现错误 栈顶的终结符和下一个输入符号不匹配 栈顶是非终结符A,输入符号是a,而M[A , a]是空白 3.3 自上而下分析 非递归预测分析:采用紧急方式的错误恢复 发现错误时,分析器每次抛弃一个输入记号,直到输入记号属于某个指定的同步记号集合为止。 同步 词法分析器当前提供的记号流能构成的语法结构

文档评论(0)

1亿VIP精品文档

相关文档