清华大学计算机专业课程软件

更新时间:2024-03-11 作者:用户投稿原创标记本站原创 点赞:8165 浏览:32278

《编译技术》课程教学大纲

英文名称:CompilingTechnology

课程类型:学科基础课

学时学分:32/2

适用专业:计算机科学与技术

一、课程性质,目的和任务

《编译技术》是计算机专业必修课之一,目的是使学生掌握编译程序构造的一般原理,基本设计方法和主要实现技术,基本具备设计和实现小型编译程序的能力.

任务是让学生系统有效地了解编译程序的有关理论,以及整个编译程序的构造过程,提升学生对软件运行原理的理解,为日后从事软件开发尤其是编译软件开发打下基础.

二、教学基本要求

了解编译程序的相关概念及开发编译程序要注意的问题.了解文法和语言的基本知识,掌握编译理论中用到的有关形式语言理论的最基本概念.

在了解正则表达式和有限自动机的相关理论基础上,重点掌握词法分析器的设计原理与实现过程.掌握语法分析的基本概念和基本技术,理解语法分析的递归下降法,LL(1)分析方法等主要方法.了解属性文法,中间语言代码形式和用语法制导方法生成中间代码.

理解符号表的结构和符号表处理的任务及要点.了解和掌握代码优化的意义和方法.基本理解目标代码的形式和简单代码生成器的设计和构造方法.

三、课程内容

1.编译概述

(1)翻译程序和编译程序

(2)编译过程和编译程序基本结构

(3)编译程序的生成方法

(4)编译技术在软件开发中的应用

2.文法和语言的基本知识

(1)概述

(2)字母表和符号串的基本概念

(3)文法和语言的形式定义

(4)短语,直接短语和句柄

(5)语法树和文法的二义性

(6)文法和语言的分类

重点:短语,直接短语

难点:语法树和文法的二义性

3.词法分析与有限自动机

(1)词法分析程序的功能

(2)单词符号与单词的输出形式

(3)正规表达式

(4)正规式与有限自动机

(5)词法分析程序的编写方法

重点:正规式与有限自动机

难点:正规式与有限自动机

4.语法分析

(1)语法分析程序的功能

(2)自上而下分析方法

(3)自下而上分析方法的一般原理

重点:自上而下分析方法

难点:自上而下分析方法,自下而上分析方法

5.语法制导翻译技术和中间代码生成

(1)属性文法

(2)中间语言

(3)自下而上语法制导翻译

重点:中间语言

难点:属性文法

6.符号表的组织与管理

(1)符号表的作用

(2)符号表的组织和符号表处理的任务

重点:符号表的作用

难点:符号表的组织

7.中间代码优化

(1)代码优化概述

(2)局部优化

(3)循环优化

重点:优化方法

难点:循环优化

8.目标代码生成

(1)目标代码形式

(2)简单代码生成器

四、实验(上机)内容及要求

1.词法分析程序(课内2学时,课外2学时)要求:完成对词法分析程序的分析和运行,了解词法分析的过程,加深对词法分析原理及实际开发方法的理解.

2.LL(1)语法分析程序分析(课内2学时,课外2学时)要求:完成对LL(1)语法分析程序的分析和运行,了解LL(1)语法分析的过程,加深对语法分析原理的理解,巩固课堂教学内容.

五、教学环节学时分配

号教学内容学

时学时分配课外

上机

学时课外

实验学时

备注

讲授实验上机1编译概述222文法和语言的基本知识663词法分析与有限自动机86224语法分析86225语法制导翻译技术和中间代码生成226符号表的组织与管理227中间代码优化228目标代码生成22合计322844六,选用教材及参考教材

1.教材:

[1]编译原理(第二版).胡伦骏等.电子工业出版社,2005


2.参考教材:

[1]编译程序构造原理和实现技术.金成植.高等教育出版社,2000

[2]编译原理.吕映芝,张素琴,蒋维杜.清华大学出版社,1998

七,说明

1.修订大纲的指导思想

(1)本次修订大纲结合学院,专业的学生培养定位情况,加强计算机专业基础理论以及应用实例,强调对基本思想,典型技术,重要方法的理解和掌握,

(2)注重学生理论能力的培养与实际运用能力的训练.

2.本课程与其它课程的联系

(1)先修课程:计算基础,C语言程序设计.

3.教学方式与教学方法的具体改革措施

(1)教学方式主要采用CAI教学,

(2)注意培养学生的自学能力,培养学生独立解决问题的能力.

4.在本课程的全部教学过程中,对学生综合素质和能力(含自学能力,创新能力,实践能力,表达能力等)培养几个方面入手,采取哪些措施.

在提高学生素质方面主要采取如下措施:

(1)讲练结合,适当增加学生课堂训练内容,

(2)理论与应用并重,

(3)通过编译程序实例剖析,提高学生的动手实践的能力.

相关论文范文