如果您无法下载资料,请参考说明:
1、部分资料下载需要金币,请确保您的账户上有足够的金币
2、已购买过的文档,再次下载不重复扣费
3、资料包下载后请先用软件解压,在使用对应软件打开
《编译原理》教学大纲课程英文名称:课程编号:课程类型:专业(专业方向)选修总学时:48学分:3适用对象:计算机科学与技术、软件工程本科专业先修课程:程序设计语言、数据结构使用教材及参考书:教材《编译原理》(第2版)张素琴、吕映芝、蒋维杜、戴桂兰编著,清华大学出版社,2005年参考书《程序设计语言编译原理》(第3版)陈火旺、刘春林编著,国防工业出版社2000年《编译原理》(第2版)蒋立源、康慕宁主编,西北工业大学出版社,2002年《编译原理习题精选》陈意云、张昱著,中国科技大学出版社,2002年《编译原理习题与解析》伍春香著,清华大学出版社,2001年一、课程性质、目的和任务编译器(又称编译程序)是计算机的重要系统软件之一,它将高级语言程序翻译成低级语言程序,使之能在计算机上运行。相关的原理与技术不但适用于编译器的构造,其基本思想也可广泛应用于系统和应用软件的开发与设计。所以编译原理是一门理论与实践并重的、计算机专业、软件工程专业学生必须掌握的专业课。本课程的学习目的在于使学生掌握编译程序的基本概念、基本原理、设计方法和实现技术,具有初步分析实际编译系统的能力,为其今后在相关领域开展工作打下坚实的基础。本课程的主要任务是介绍通用程序设计语言编译器构造的基本原理与技术。通过对本课程的学习,使学生了解语言翻译的全过程(词法分析、语法分析、语义分析与中间代码生成、代码优化和目标代码生成),理解语言翻译的基本原理、并通过上机实习初步掌握编译器构造的基本方法。二、教学基本要求课程包括课堂教学与课程实验两部分,课堂教学在方法上,采用课堂讲授,课后自学,课堂讨论等教学形式。通过本课程学习,使学生了解什么是编译程序,掌握编译系统的基本原理,实现机制和基本算法,并结合目前的典型编译系统进行具体分析,加深对编译系统基本原理的理解和认识。三、教学内容及要求第1章引论教学内容:编译系统的功能、编译过程和编译程序的结构。教学要求:使学生建立起编译系统的基本概念。了解编译系统的功能,理解编译过程和编译程序的结构。第3章文法和语言教学内容:符号和符号串、文法和语言的形式定义、文法的类型、上下文无关文法及其语法树、句型的分析。教学要求:了解符号和符号串;了解文法的定义;理解推导的概念;掌握句型、句子和语言的求法;理解文法的类型;掌握语法树、短语、简单短语、句柄的求法。第4章词法分析教学内容:词法分析程序的设计、单词的描述工具、有穷自动机、正规式和有穷自动机的等价性。教学要求:了解词法分析程序的设计思想;理解单词的描述工具;掌握有穷自动机的概念、NFA转换为等价的DFA、确定有穷自动机的化简;掌握正规式和有穷自动机的相互转换。第5章自顶向下语法分析方法教学内容:确定的自顶向下分析思想、LL(1)文法的判别、某些非LL(1)文法到LL(1)文法的等价变换、确定的自顶向下分析方法。教学要求:了解确定的自顶向下分析思想;掌握LL(1)文法的判别;掌握提取左公共因子方法;掌握消除左递归的方法;掌握FIRST、FOLLOW、SELECT集合的求法;掌握预测分析方法。第6章自底向上优先分析教学内容:自底向上优先分析概述、算符优先分析法。教学要求:了解自底向上优先分析方法的思想;掌握FIRSTVT集合、LASTVT集合的求法;掌握算符优先分析方法。第7章LR分析教学内容:LR分析概述、LR(0)分析、SLR(1)分析、LR(1)分析、LALR(1)分析。教学要求:了解LR分析方法的思想;掌握LR(0)项目集规范族的构造;掌握LR(0)、SLR(1)分析方法;掌握LR(1)项目集规范族的构造;了解LR(1)分析方法;了解LALR(1)分析方法。第8章语法制导翻译和中间代码生成教学内容:属性文法、语法制导翻译概论、中间代码的形式、简单赋值语句的翻译、布尔表达式的翻译。教学要求:了解属性文法、语法制导翻译的概念;掌握中间代码的写法;理解简单赋值语句、布尔表达式的翻译方法。第10章目标程序运行时的存储组织教学内容:数据空间的三种不同使用方法和管理方法、参数传递。教学要求:了解数据空间的三种不同使用方法和管理方法;掌握参数传递的方法。第11章代码优化教学内容:优化技术简介、局部优化、控制流分析和循环优化。教学要求:了解优化技术的思想;理解局部优化技术;了解控制流分析和循环优化技术。四、教学重点与难点第1章引论。重点是编译程序的结构。第3章文法和语言。重点是文法的概念、语言的概念、推导的概念、句型、句子和语言的求法、短语、简单短语、句柄的求法。难点是短语、简单短语、句柄的求法。第4章词法分析。重点是单词的描述工具、有穷自动机的概念、NFA转换为等价的DFA、确定有穷自动机的化简。难点是