预览加载中,请您耐心等待几秒...
1/9
2/9
3/9
4/9
5/9
6/9
7/9
8/9
9/9

在线预览结束,喜欢就下载吧,查找使用更方便

如果您无法下载资料,请参考说明:

1、部分资料下载需要金币,请确保您的账户上有足够的金币

2、已购买过的文档,再次下载不重复扣费

3、资料包下载后请先用软件解压,在使用对应软件打开

编译原理《编译原理》课程信息《编译原理》课程的重要性 编译原理一直是计算机专业的最重要的核心课程之一,是历来的、国内外所有高等院校中各种计算机类以及信息类本科教育的份量颇重的必修专业基础课,也是大多数研究生培养单位招考研究生的必考科目之一。 《编译原理》课程的教学目的与要求 编译是计算机系统软件的最重要组成部分之一,也是用户最直接关心的工具之一。自从20世纪50年代中期第一个编译程序(FORTRAN语言的编译)研制成功后,经过40多年的努力。现在已形成了一套比较成熟的、系统化的理论和方法。 编译原理不但涉及计算机科学中的大量的基本理论、基本原理和基本方法,而且具有很强的实践性。因此,它是计算机科学和技术的最重要的内容之一。 本课程重点讲述编译程序(编译器)的设计原理和常用实现技术。 通过课程的学习和实验的完成: (1)应该清楚地理解一个编译程序是如何工作的; (2)如果在以后遇到了任何一个程序设计语言,应该知道如何实现这个语言的多数机制; (3)应具有一定的使用编译构造工具开发编译程序的经验; (4)会将所学的常用技术和算法应用于类似的软件的设计和实现中。课程架构教材及主要参考书教学内容3、词法分析程序的自动构造(2次课) 词法分析程序是编译程序的一个构成部分,它的主要任务是扫描源程序,按构词规则识别单词,并报告发现的词法错误。正则表达式和有穷状态自动机分别作为单词的描述工具和识别机制,成为词法分析程序的自动构造原理,学习Lex(Flex)工具的使用方法。 4、语法分析程序的构造 自顶向下的语法分析。可以看作是为一个输入串寻找一个最左推导的过程,也等价于从根开始,按前序生成结点,为输入串构造分析树的过程。讨论一种有效的无回溯的自顶向下分析程序,这种分析程序称为预测分析程序。介绍对于一个文法类:LL(1)文法,如何自动的构造预测分析程序。(5次课) 自底向上(自下而上)语法分析方法,也称移进-归约分析法。它的实现思想是对输入符号串自左向右进行扫描,并将输入符逐个移入一个后进先出栈中,边移进边分析,一旦栈顶符号串形成可归约串,就用相应非终结符代替可归约串,这称为一步归约,重复这一过程,直到归约到栈中只剩文法的开始符号时,则为分析成功,并确认输入串是文法的句子。本章介绍简单优先分析法、算符优先分析法、LR分析法,LR分析法分析过程中归约的是当前句型的句柄,称为规范归约。重点讲解LR类(LR(0)、SLR(1)、LALR(1)、LR(1))文法的分析表的构造原理。(8次课)5、语法制导翻译、中间代码生成(6次课) 在词法分析和语法分析之后,编译程序下一个逻辑阶段的任务是语义分析和生成中间代码。引入属性文法和语法制导的翻译的概念,介绍中间代码的形式,针对一些语法成分讨论相应语义处理工作的描述。 6、代码优化(3次课) 代码优化是对代码作一些等价变换,以使得最后生成的目标代码更为高效。介绍优化技术、优化分类以及优化工作的基础-控制流和数据流分析问题。 7、目标代码生成(1次课) 编译的最后一个逻辑阶段是目标代码生成。目标代码生成程序的设计细节要考虑目标语言和操作系统的特点。讨论目标代码生成程序设计的一般问题,包括指令选择、寄存器分配和计算顺序选择。教师联系信息