复习要点:
第1章:翻译程序与编译程序概念,编译过程、遍的概念,编译程序总体框架,如何构造编译程序;
第2章:语法规则,语义规则,闭包概念,上下文无关文法,最左(右)推导,文法类型; 第3章:词法分析的任务、功能,预处理问题,状态转换图,正规式和正规集的递归定义,空字闭包,DFA、NFA转换与化简;
第4章:语法分析的任务与功能,LL(1)文法证明,非LL(1)文法改造为LL(1)文法,LL(1)分析表的构造和应用,FIRST集、FOLLOW集的构造,预测分析过程;
第5章:LR(0)项目集族与分析表的构造和应用,SLR分析表的构造和应用,LR分析器的工作过程,LR文法,移进归约法的内容,规范推导与规范句型,算符优先文法及优先表的构造和应用,规范归约的分析过程;
第6章:属性文法概念,属性分类,S-属性文法,L-属性文法概念; 第7章:中间语言形式;
第8章:符号表的作用,操作分类,组织方式,线性、二叉、杂凑技术; 第9章:参数传递,活动记录结构,存储分配策略;
第10章:优化的目的、原则,优化的一般手段,基本块的划分,流图的构建,循环优化的内容与意义。
第11章:目标代码生成的任务、形式,重点考虑的2个问题,窥孔优化概念及相关技术
复习例题:
1. P49例,构造正规式
(a|b)* (aa|bb) (a|b)*
的DFA ,并化简。
解:第一步,构造NFA,P49 第二步,进行确定化(包括重命名)P50 第三步,构造DFA,P51 第四步,化简,P57
2. P69例,构造文法 G[E]: (1)E → TE’ (2) E’→ +TE’ | ε (3) T →FT’ (4) T’→ *FT’| ε (5)F →(E) | i 的预测分析表。
解:第一步,求每个非终结符的FIRST和FOLLOW集合,P79 第二步,求每个侯选式的FIRST集合,P78算法 第三步,构造预测分析表,P79算法,P80结果
3. P111例,构造文法 G[S’]: (0) S’ → E (1)E → E+T (2) E→ T (3) T → T*F (4) T→ F
(5)F → (E) (6)F → i 的SLR分析表。
解:第一步,构造该文法的LR(0)项目集规范族,P111 第二步,求每个非终结符的FOLLOW集,P78-79算法 第三步,构造SLR分析表,P112算法,P101图5.5结果