1、编译原理复习,期末考试,时间:2006年6月16日上午8:00-10:00 地点:三教508教室,基本要求,掌握编译系统的一般构造原理 掌握编译系统的基本实现技术 熟悉一些自动构造工具,授课内容,第一章 编译程序概述 第二章 PL/0编译程序的实现 第三章 文法和语言 第四章 词法分析 第五章 自顶向下语法分析方法 第六章 自底向上优先分析方法 第七章 LR分析方法 第八章 语法制导翻译和中间代码生成 第九章 符号表 第一章 代码优化 第一一章 代码生成,每一章的基本概念 针对每个基本概念可能的出题形式,编译程序概述,什么是编译程序?基本功能? 编译程序一般分哪几个阶段,每个阶段的主要任务是什
2、么? 用到编译原理与技术的常见软件工具有哪些?怎样用?,PL/0编译程序的实现,目的:以PL/0为实例,学习编译程序实现的基本步骤和相关技术,对高级语言编译程序的实现建立整体概念。 PL/0编译程序的结构 PL/0编译程序总体流程 PL/0词法分析流程 PL/0语法语义分析流程,文法和语言,文法和语言的形式定义 已知文法,写出它定义的语言描述 给出语言描述,构造文法 文法的类型 如何判断文法的二义性? 给定文法判断其是否是二义的 什么是句型分析? 句型分析的两种方法: 自上而下分析法 自下而上分析法,词法分析,词法分析的基本思路:将单词符号的语法用有效的工具描述; 基于该描述建立单词的识别机制
3、; 设计和实现词法分析程序 单词的描述机制: 什么是正规式?什么是正规文法? 二者之间如何转换? 给定正规式,写出其描述的语言 给定语言,写出对应的正规式 单词的识别机制: 确定的有穷自动机的形式定义 不确定的有穷自动机的形式定义 DFA如何识别语言 构造DFA识别指定的语言 正规式和有穷自动机的等价性,自顶向下语法分析方法,确定的自顶向下分析思想 什么样的文法满足确定的自顶向下分析 LL(1)文法的含义、 LL(1)文法的判别 确定的自顶向下分析方法 表驱动的预测分析程序模型及其分析过程 给定文法,构造预测分析表,并针对输入串构造预测分析过程。,自底向上优先分析,自底向上优先分析的实现:移进
4、归约的实现思想 简单优先分析法的基本思想 算符优先分析法的基本思想 在说明算符优先文法的定义的前提下,判断给给定的文法是否算符优先文法 算符优先分析法的实现过程 给定文法、算符优先关系表和输入串,写出算符优先规约过程 算符优先关系表的构造,LR分析方法,LR分析方法的逻辑结构(由几部分组成,每部分的作用是什么?) LR分析步骤 构造LR分析表的方法 LR(0)项目集规范族的构造 给定文法的LR分析表和输入串,写出LR分析过程 LR(0)、 SLR(1)、 LR(1)、 LALR(1)几种文法的判定与比较,语法制导翻译和中间代码生成,属性文法的形式定义 综合属性和继承属性 语法制导翻译的实现 S属性文法的自下而上计算过程 L属性文法和自顶向下翻译过程 针对简单问题设计语法制导定义和翻译方案 中间代码的几种形式 给定表达式,分别用逆波兰、三元式、四元式表示,