编译原理第四章
(本章有一些手写图片,后来编辑的时候才发现有些较小的图片没有改成png导致排版看起来不太合理,后续一定注意~)
4-1 自顶向下分析概述
-
从文法的开始符号S推导出词串w的过程
-
最左推导:总是选择每个句型的最左非终结符进行替换
最左句型:
-
最右推导:总是选择每个句型的最右非终结符进行替换
-
最左推导和最右推导具有唯一性
-
扫描器从左向右扫描,故自顶向下的分析采用最左推导
-
自顶向下语法分析的通用形式:
递归下降分析:由一组过程组成,每个过程对应一个非终结符
预测分析:一种确定的自顶向下分析方法,不需要回溯
4-2 文法转换
(不是所有的文法都适合自顶向下的分析)
- 问题:同一个非终结符的多个候选式存在共同前缀,导致回溯现象;
左递归导致无限循环;
3. 消除直接左递归→左递归转换为右递归
消除直接左递归的一般形式:
4. 消除间接左递归