编译技术课程教学大纲
课程名称:编译技术
英文名称:Compi Ie Technology
课程编号:X3050541
学时数:64其中实验(实训)学时数:16课外学时数:0
学分数:4.0
适用专业:软件工程
一、课程的性质和任务
编译技术是软件工程专业的一门理论性较强的专业课,以C++语言为模型, 介绍过程式语言的编译程序构造原理和实现技术。其主要内容包括:有限自动机与词法分析器、文法和语法分析、语法制导翻译和中间代码生成及目标代码生成的原理与技术等。
本课程的教学目的是使学生掌握编译程序的构造原理和实现技术,同时也提高学生对程序设计语言的理
解,提高程序设计能力。通过本课程的学习,使学生较好地掌握编译程序的构造原理和实现技术,从而让学生了解将高级程序设计语言源程序翻译成计算机能处理的目标代码的整个过程及相关实现技术。提高学生计算机专业素质,培养学生的抽象思维能力,为以后从事系统软件和软件工具的研究及开发奠定基础。
二、课程教学内容的基本要求、重点和难点
理解和掌握编译程序的构造原理和实现技术,从而让学生了解将高级程序设计语言源程序翻译成计算机能处理的目标代码的整个过程和实现技术。具有基本的编译程序设计能力。
(一)编译程序概述
基本要求:理解编译程序、解释程序的基本概念,熟练掌握编译程序的功能分解和组织结构,了解编译程序的复杂性,编译程序的设计实现等。
重点:编译程序的功能分解和组织结构。
难点:编译程序的组织结构。
(二)有限自动机与词法分析器
基本要求:了解和掌握词法分析的构造原理和实现技术,理解和掌握正规式与正规集的定义和性质,熟练掌握有限自动机(FA)的定义,NFA确实定化,正规式的NFA 表示,正规式与确定有限自动机的等价性及词法分析器的自动生成。
重点:正规式与正规集的定义,NFA确实定化,正规式与确定有限自动机的等价性,词法分析器的自动生成。
难点:NFA确实定化,正规式与确定有限自动机的等价性,词法分析器的自动生
成。
(三)文法与语法分析
基本要求:了解和掌握上下文无关文法、语言、规范推导、规范归约和短语、简单短语、句炳的基本概念;掌握语法分析的自顶向下及自底向上两种分析方法的构造原理和实现技术。熟练掌握递归下降分析、预测分析的设计和实现。熟练掌握First 集合、Follow集合的求法,熟练掌握LR分析表的构造与分析方法和语法错误处理。
重点:上下文无关文法,First集合、Follow集合的求法,递归下降分析法, 预测分析法,LR(O)分析表的构造与分析方法。
难点:递归下降分析法,预测分析法,LR分析表的构造。
(四)语法制导翻译和中间代码生成
基本要求:了解和掌握语法制导翻译和符号表,熟练掌握中间代码的形式,熟练掌握算术表达式和赋值语句的翻译、布尔表达式的翻译、标号和无条件转移语句的翻译和控制语句的翻译等。
重点:符号表,算术表达式和赋值语句的翻译、布尔表达式的翻译、标号和无条件转移语句的翻译和控制语句的翻译等。
难点:无条件转移语句的翻译和控制语句的翻译。
(五)目标代码生成
基本要求:了解和掌握目标计算机的虚拟实现,语法制导翻译在汇编程序自动构造中的应用,从四元式到汇编语言的翻译。
重点:语法制导翻译在汇编程序自动构造中的应用,从四元式到汇编语言的翻译。
难点:语法制导翻译在汇编程序自动构造中的应用,从四元式到汇编语言的翻译。
三、教学方法及学时分配
四、课程其他教学环节要求(一)实验环节
实验一:词法分析器的手工构造 要求:掌握源程序的词法分析程序的设计。 实验二:词法分析器的自动生成 要求:掌握利用状态转换矩阵实现状态迁 移,实现自动生成。 实验三:递归下降语法分析程序设计 要求:掌握递归下降分析的原理及实
要求:学生根据教师布置的内容查阅相关资料,编写应用程序,同时写出设 计报告。
现技术。
实验四:LL (1)语法分析程序设计 的语法分析器。
实验五:LR 语法分析器程序设计 语法分析器。
实验六:说明语句的语法制导翻译 的原理及实现技术。
实验七中间代码生成程序设计 序的设计。
实验八:微小编译器的设计 计。 (二)编译技术课程设计
现技术。
实验四:LL (1)语法分析程序设计 的语法分析器。
实验五:LR 语法分析器程序设计 语法分析器。
实验六:说明语句的语法制导翻译 的原理及实现技术。
实验七中间代码生成程序设计 序的设计。
实验八:微小编译器的设计 计。 (二)编译技术课程设计
要求:利用LL (1)分析法设计源程序 要求:利用LR 分析法设计源程序的 要求:掌握说明语句的语法制导翻译 要求:掌握源程序的中间代码生成程 要求:掌握源程序的微小编译器的设
(三)作业
根据授课进度,布置作业,每章讲授结束后,收一次作业,批改后做集体答疑,讲解作业中出现的问题。作业的题型为:问答题、简单应用题、综合应用题、程序设计题,主要是以应用题为主。
(四)课外
首先完成教师布置的作业,然后利用实验室开放进行自主学习,练习编写程序。
五、本课程与其它课程的联系
先修课程是C++程序设计、数据结构,后续课程是软件体系结构等。
六、教学参考书目
1、《编译原理实用教程》温敬和编著,清华大学出版社,2005年
2、《编译程序构造原理和实现技术》金成植编著高等教育出版社2002
3、《编译原理》吕映芝著清华大学出版社2000年
4、《编译方法》胡笔蕊著测绘出版社1996
年
5、《编译原理》陈火旺著国防工业出版社1996 年
6、《编译技术》张声儿著南京大学出版社1996
年
>汇编语言清华大学出版社
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论