- 19
- 0
- 约2.67万字
- 约 147页
- 2017-09-10 发布于湖北
- 举报
第四章 语法分析(Syntactical Analysis) 分析器的输出 分析树 格式化的程序 合法的表达式、语句、函数 出错处理要求 尽快发现错误,准确定位, 可能时进行恢复处理,继续语法分析 top down parsing:推导 bottom up parsing:归约 4.2 自顶向下语法分析 基本思想: 从文法的开始符号出发,向下推导出句子; 试图用一切可能的办法,从文法开始符号出发,自上而下地为输入串建立一课语法树;(寻找一个最左推导) 此分析过程本质上是一种试探过程。 非确定的自上而下分析法实际上采用的是一种穷尽一切可能的试探法。 遇到的主要问题: (1)无限循环 当文法中出现左递归时,分析过程将陷入无限循环; (2)回溯 如果对同一个非终结符号,存在若干个候选,如 A →?1|?2|...|?m 推导过程中,如果候选选择错误,将导致回溯。 (3)虚假匹配; (4)难以定位出错位置; (5)效率低下。 4.2.2 文法的左递归和回溯的消除 1、文法左递归的消除 例 4-2: 表达式文法直接左递归的消除 E → E + T|T T → T * F|F F → ( E )|id 消除左递归算法: (1)把文法G的所有非终结符按一种顺序排列; (2) FOR i:=1 TO n DO BEGIN
原创力文档

文档评论(0)