- 39
- 0
- 约 34页
- 2017-06-19 发布于湖北
- 举报
《编译原理》复习 西安电子科技大学 软件工程研究所 刘 坚 课程内容 一、引言 二、词法分析 三、语法分析 四、语法制导翻译生成中间代码 五、运行环境 第一章 引言 1 语言的翻译 2 编译器的基本组成 3 编译器的分析-综合模式 第二章 词法分析 1 记号、模式与单词 3 记号的识别-有限自动机(FA) 第三章 语法分析 1 程序设计语言与文法 2 有关推导的基本概念 3 自上而下分析 4 自下而上分析 4 自下而上分析(续) 第四章 语法制导翻译生成中间代码 1 语法制导翻译与中间代码 3 声明语句的翻译 4 可执行语句的翻译 第五章 运行环境 1 过程的动态特性 2 运行时的存储空间组织 4 栈分配 关于复习 关于作业 一.教材与习题答案中的错误 教材 一.教材与习题答案中的错误(续1) 二.习题解答2003 二.习题解答2003(续1) 二.习题解答2003(续2) 二.习题解答2004 关于考试 To know how to do something well is to enjoy it. 95年夜大试题 中国计算机科学与技术学科教程 2002 战略上藐视敌人,战术上重视敌人。 谢 谢! The trees that are slow to grow bear the best fruit. * 要求 ① 牢固掌握基本概念 ② 灵活使用基本方法 ③ 善于归纳总结(抽象能力) 不同的翻译形式:汇编、编译、转换(预编译)、逆向翻译 翻译方法: 4 编译器的扫描遍数与编译器的编写 对于单词的识别,首先应该有单词形成的规则,称为构词规则,然后根据构词规则识别输入序列,称为词法分析。 主要内容 1 记号、模式与单词 2 记号的说明-模式的形式化描述(正规式与正规集) 3 记号的识别-有限自动机 4 从正规式到词法分析器 滤掉源程序中的无用成分; 处理与具体操作系统或机器有关的输入; 识别记号并交给语法分析器; 调用符号表管理器和出错处理器进行相关处理。 词法分析器是编译器与源程序打交道的唯一阶段,可以被认为是编译器的预处理阶段,它有以下几个重要作用: 模式(pattern):规定单词识别的规则 记号(token):按照某模式识别出的一类单词(记号种类) 单词(lexeme):被识别出的字符串本身 词法分析器的输出:记号=记号种类+记号属性 2 记号的说明-模式的形式化描述 ① 正规式与正规集: 正规式与正规集的定义(基本正规式、三个运算); 正规式的等价(描述相同的集合); 利用正规式的等价对正规式进行化简(正规式的代数性质)。 ② 用正规式对模式进行形式化描述: 如何用正规式描述程序设计语言中常见的记号,如标识符、数字、运算符和分隔符等; 正规式的简化形式以及辅助定义与规则。 NFA与DFA的定义:M = (S, Σ, move, s0, F); NFA与DFA的表示:定义直接表示、状态转换图、状态转换矩阵; NFA与DFA的关键区别:NFA的不确定性(当前状态下,对同一字符可能有多于一个的下一状态转移); 用NFA识别输入序列的弱点:尝试所有路径才能确定一个输入不被接收、回溯带来的问题; 模拟DFA的算法(用DFA识别记号)。 4 从正规式到词法分析器 构造NFA的Thompson算法(与NFA定义的对应关系); 模拟NFA的“并行”算法; 从NFA构造DFA-子集法:smove(S, a)与ε-闭包(T)的计算; DFA的最小化-可区分的概念:所有不可区分的状态看作是一个状态; 灵活运用各种方法构造DFA(正规式化简、状态转换图等) 语法分析是编译器中的重要阶段之一,可以认为是语法制导翻译模式编译器的核心。语法分析也有双重含义:根据一定的规则构成语言的各种结构,即语法规则;根据语法规则识别输入序列(记号流)中的语言结构,即语法分析。 语法分析的分析对象是组成语言的句子,句子具有层次结构的特征,表征该结构的最好方法是树,从而使得对语法的分析就有了从根到叶子和从叶子到根两种分析方法。 主要内容 1 程序设计语言与文法 2 有关推导的基本概念 3 自上而下分析 4 自下而上分析 正规式与正规文法:正规式与正规文法用于描述线性结构,如构成句子的记号(终结符);识别正规语言的自动机是有限自动机,它们的特征是没有记忆能力; 上下文无关文法(CFG=(N, T, S, P)):CFG用于描述层次结构,如构成程序的句子;识别CFL的自动机是下推自动机,它是在有限自动机的基础上增加了一个下推栈,从而有了简单的记忆能力; 文法的分类:0型、1型、2型和3型文法 词法分析器与语法分析器(FA与PDA)
原创力文档

文档评论(0)