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