编译原理教学大纲由刀豆文库小编整理,希望给你工作、学习、生活带来方便,猜你可能喜欢“编译原理选修教学大纲”。
编译原理教学大纲
一、课程的性质、地位
本课程是计算机专业的重要专业课之一,是一门理论性和实践性较强的课程。主要介绍程序设计语言编译程序构造的基本原理和基本实现方法。本课程主要讲授形式语言、有限自动机、自上而下和自下而上的语法分析、LR分析方法、属性文法和语法制导翻译、语义分析的代码产生、存储器的动态分配与管理、符号表的组织与管理、优化问题、代码生成等内容。通过本课程学习,使学生对编译的基本概念、原理和方法有完整的和清楚的理解,并能正确地、熟练地运用。
二、课程的目的、任务和要求
该课程的目的是让学生掌握程序设计语言编译程序构造的一般原理、基本设计方法、主要实现技术和一些自动构造工具。通过本课程的学习,使学生较好地掌握编译原理的基本原理和基本技术、编译原理中涉及的基本算法、基本结构和主要实现技术,从而让学生了解将高级程序设计语言源程序翻译成计算机能处理的目标代码语言的整个过程,基本掌握计算机系统软件之一 编译程序的构造原理及相关技术,同时,还可提高学生计算机专业素质,培养学生的抽象思维能力。通过学习,学生可基本掌握计算机系统软件之一 编译程序的构造原理及相关技术,同时,还可提高学生计算机专业素质,培养学生的抽象思维能力。
三、与其它课程的关系
要求学生具有较好的计算机基础知识,对计算机的工作原理有一定了解,前导课程包括:高等数学、线性代数、计算机原理、离散数学、高级程序设计语言、数据结构等课程。
四、课程内容(建议理论课时:62 上机课时:18)第一章 编译程序概论
1、教学目的及要求:
本章介绍编译程序在计算机科学中的地位和作用,介绍编译技术的发展历史,讲解编译程序、解释程序的基本概念,概述编译过程,介绍编译程序的逻辑结构和编译程序的组织形式。要求理解编译程序、解释程序和遍的基本概念;掌握编译过程各阶段的任务和编译程序逻辑结构及其各部分的基本功能。
2、教学内容:
编译程序,编译过程概述,编译程序的结构,编译程序与程序设计环境,编译程序生成,学习构造编译程序。
3、教学重点:
重点:编译程序工作的基本过程及其各阶段的基本任务,编译程序总框。
4、教学难点:
编译的遍。
5、教学时间分配及进度安排:
建议本章教学时数2学时。
6、章节内容
1、什么是编译程序
2、编译过程概述
3、编译程序的结构
4、编译技术和软件工具 第二章 文法和语言
1、教学目的及要求:
本章是编译原理课程的理论基础,要求理解文法、语言、规范推导、规范归约和短语、简单短语、句炳的基本概念;掌握语言的求解方法、文法的二义性与递归性的判断方法及句型的分析方法。
2、教学内容:
形式语言的基本概念,包括符号串的基本概念和术语、文法和语言的形式定义、句型分析、文法和语言的Chomsky分类,二义性。
3、教学重点:
上下文无关文法,语言定义。
4、教学难点:
推导,文法与语言的相互转换。
5、教学时间分配及进度安排:
建议本章教学时数5学时。
6、章节内容
1、文法的直观概念
2、符号和符号串
3、文法和语言的形式定义
4、文法的类型
5、语法树和二义性
6、句型的分析
7、文法中的实用限制 第三章 词法分析
1、教学目的及要求:
本章介绍编译程序的第一个阶段词法分析的设计原理和设计方法,要求掌握正则文法、状态转换图、DFA、NFA、正规式和正规集的基本概念和词法分析设计与编写。
2、教学内容:
词法分析的设计原理和设计方法,源程序输入与词法分析程序输出、正则文法及其状态转换图、确定的有限自动机(DFA)不确定的有限自动机(NFA)正则表达式与正规集。
3、教学重点:
重点:词法分析器的任务与设计,状态转换图。
4、教学难点:
正则文法、正规集、DFA、NFA的相互转化。
5、教学时间分配及进度安排:
建议本章教学时数8学时。
6、章节内容
1、词法分析程序的设计
2、单词的描述工具
3、有穷自动机
4、正规式和有穷自动机的等价性
5、正规文法和有穷自动机间的转换 第四章 语法分析—自上而下分析
1、教学目的及要求:
本章介绍编译程序的第二个阶段语法分析的设计方法和实现原理,包括自上而下分析的无回朔的递归下降分析、LL(1)分析法。要求理解递归下降分析、LL(1)文法的基本概念;掌握无回朔的递归下降分析的设计和实现、LL(1)分析表的构造与分析方法。
2、教学内容:
语法分析器的功能,自上而下语法分析(递归下降分析法,预测分析程序),LL(1)分析法,递归下降分析程序构造,预测分析程序。
3、教学重点:
递归下降子程序,预测分析表构造,LL(1)文法。
4、教学难点:
LL(1)文法预测分析表构造。
5、教学时间分配及进度安排:
建议本章教学时数5学时。
6、章节内容
1、确定的自顶向下分析思想
2、LL(1)文法的判别
3、某些非LL(1)文法到LL(1)文法的等价变换
4、不确定的自顶向下分析思想
5、确定的自顶向下分析方法 第五章 语法分析—自下而上分析
1、教学目的及要求:
要求理解算符优先文法、最左素短语、有效项目的基本概念;掌握算符优先分析方法、LR(0)文法的判断及LR(0)分析表的构造与分析方法、SLR(1)文法的判断与SLR(1)分析方法和LR(1)文法的判断与LR(1)分析方法。
2、教学内容:
自下而上语法分析(算符优先分析法),算符优先分析,LR分析器,LR(0)项目集族和LR(0)分析表的构造,SLR分析表的构造,规范LR分析表的构造。
3、教学重点:
归约,算符优先表构造,LR分析法。
4、教学难点:
归约,LR分析法。
5、教学时间分配及进度安排:
建议本章教学时数12学时。
6、章节内容
1、自底向上分析思想
2、算符优先分析法
3、LR分析法 第六章 属性文法和语法制导翻译
1、教学目的及要求:
本章介绍编译程序的第三个阶段语义分析及中间代码生成的设计原理和实现方法,要求理解语法制导翻译、语义动作的基本概念;掌握算数表达式和赋值语句到中间代码的翻译、布尔表达式和几种控制语句的目标代码结构分析和到四元式的语法制导翻译;说明语句的语法制导翻译。
2、教学内容:
语法制导翻译的基本概念、中间代码的形式,可执行语句和说明语句的语法制导翻译方法。
3、教学重点:
语法制导翻译基本思想,语法制导翻译概述,基于属性文法的处理方法,自下而上分析制导翻译概述。
4、教学难点:
属性文法的处理方法
5、教学时间分配及进度安排:
建议本章教学时数9学时。
6、章节内容
1、属性文法
2、语法制导翻译概论
3、中间代码的形式
4、简单赋值语句的翻译
5、布尔表达式的翻译
6、控制语句的翻译 第七章 符号表
1、教学目的及要求:
本章介绍编译程序的组成部分之一符号表的管理,要求掌握符号表管理的基本方法。
2、教学内容:
符号表的作用、建立、符号表栏目的组织、符号表上的操作。
3、教学重点:
符号表的作用与内容。
4、教学难点:
符号表的内容。
5、教学时间分配及进度安排:
建议本章教学时数3学时。
6、章节内容
1、符号表的作用和地位
2、符号表的主要属性及作用
3、符号表的组织
4、符号表的管理 第八章 运行时存储空间组织
1、教学目的及要求:
本章介绍目标程序运行时的存储组织方式,包括静态存储分配和动态存储分配。要求掌握各种存储组织形式的基本方法。
2、教学内容:
目标程序运行时的活动,运行时存储器的划分,静态存储管理,简单的栈式存储分配的实现,嵌套过程语言的栈式实现,堆式动态存储分配。
3、教学重点:
静态分配策略和动态分配策略基本思想,嵌套过程语言栈式分配,活动记录、运行时栈的组织。
4、教学难点:
嵌套过程语言栈式分配,活动记录、运行时栈的组织。
5、教学时间分配及进度安排:
建议本章教学时数9学时。
6、章节内容
1、数据空间的三种不同使用方法
2、栈式存储分配的实现
3、参数传递
第九章 代码优化
1、教学目的及要求:
本章介绍优化的相关知识,要求掌握局部优化,基本块的DAG表示及其应用,控制流分析和循环查找算法,到达定值与引用定值链,循环优化。
2、教学内容:
主要内容:优化概述,局部优化,基本块的DAG表示及其应用,控制流分析和循环查找算法,到达定值与引用定值链,循环优化。
3、教学重点:
局部优化;DAG的构造与应用。
4、教学难点:
循环查找。
5、教学时间分配及进度安排:
建议本章教学时数6学时。
6、章节内容
1、优化技术简介
2、局部优化
3、控制流分析和循环优化 第十章 代码生成1、教学目的及要求: 本章介绍编译程序的第五阶段目标代码的生成的设计原理和实现方法,要求掌握四元式到汇编语言的目标代码生成方法。
2、教学内容:
目标机器模型,一个简单代码生成器,寄存器分配,DAG目标代码,窥孔优化。
3、教学重点:
简单代码生成器,寄存器分配策略。
4、教学难点:
寄存器分配策略。
5、教学时间分配及进度安排:
建议本章教学时数3学时。
6、章节内容
1、代码生成概述
2、一个计算机模型
3、一个简单的代码生成器
4、代码生成研究现状
注:使用教材-编译原理(第二版).张素琴,吕映芝,蒋维杜,戴桂兰编著,清华大学出版社,2005.2。参考书:
1)编译原理, 何炎祥, 华中理工大学出版社, 2000.10 2)编译原理, 陈火旺等, 国防工业出版社, 2000.1 3)编译原理, 蒋立源, 西北工业大学出版社, 1999.9
《编译原理课程设计》教学大纲课程名称: 课程编号: 适用专业: 总 学 分: 总 周 时: 主 撰 人: 撰写日期:一、目的与任务通过程序设计上机调试程序实现算法,学习编译程序调试技巧和设......
《编译原理》课程设计教学大纲揭金良 2006.10.20 1 目的通过课程设计,将《编译原理》的相关理论和技术运用到软件开发中,提高学生的应用程序设计能力,提高分析问题、解决问题的能......
《编译原理实践》课程教学大纲课程编号:07114180 适用专业:计算机科学与技术系计算机应用专业(软件本科)学时数:34(理论学时数:10 实验或讨论学时数:48) 学分数:2 执笔者:周有顺 编写日......
编译原理心得体会编译原理是计算机专业的一门重要专业课,旨在介绍编译程序构造的一般原理和基本方法,在计算机本科教学中占有十分重要的地位。该课程理论性与实践性都很强,我们......
编译原理实验报告报告完成日期 2018.5.30 一. 组内分工与贡献介绍二. 系统功能概述;我们使用了自动生成系统来完成我们的实验内容。我们设计的系统在完成了实验基本要求的前提......