编译原理专业课程教学大纲(软件工程).pdf
编译原理教学大纲
一、说明
一()课程性质
《编译原理》课程是计算机科学与技术专业、软件工程专业学生必掌握的重要专业必修课,
也是一门理论性、实践性和技术性很强的课程。编译系统是现代计算机系统的基本组成之一,编译
程序构造的基本原理和技术不仅应用于编译程序的设计,也广泛应用于一般软件的设计和实现。
二()教学目的
本课程的学习目的在于使学生掌握编译程序的基本概念、基本原理、设计方法和实现技术,具
有初步分析实际编译系统的能力,并能编制和调试简单编译程序,为今后从事编译及其他有关软件
的研究和开发工作打下较为坚实的基础。
(三)教学内容
本课程系统讲述程序设计语言的编译程序的概念、构造、以及实现的主要算法和技术。通过对
本课程的学习,使学生较为透彻地理解编译程序的概念、原理,了解语言翻译的全过程词(法分析、
语法分析、语义分析与中间代码生成、代码优化和目标代码生成),掌握编译程序中常用的主要算法
和技巧;并通过上机实习初步掌握编译器构造的基本方法。
(四)教学时数
教学总学时数90,其中:
理论课54
实验课36
(五)教学方式
理论讲授与实验结合
二、本文
理论部分
第1章绪论
教学要点:
1.高级语言程序的执行方式
2.编译程序的基本结构及其各阶段的基本任务
教学时数:
3学时
教学内容:
M引言
了解:高级程序设计语言与编译技术之间的联系
1.2程序设“语言与程序(1学时)
了解:程序设计语言的定义涉及到的四个方面
掌握:BNF范式
高级语言程序的两种执行方式
1.2编译程序构造及有关概念(2学时)
理解:编译程序的功能
掌握:编译程序基本结构以及每一阶段的任务
第2章文法与语言
教学要点:
1、符号串和符号串集合及其运算。
2、文法和语言的形式定义。
3、文法和语言的分类
4、文法等价变换
5、语法树,句型分析。
教学时数:
9学时
教学内容:
2.1符号串与符号串集合(1学时)
了解:符号串与符号串集合的定义,以及相关运算
2.2文法与语言的形式定义(2学时)
理解:规则和文法的定义
推导和归约
熟练掌握:
句子与句型,短语与简单短语,句柄
语言的定义,由文法产生句型句(子),由句型(句子)确定文法
难点:短语、简单短语、句柄的求法
由文法产生句型(句子),由句型(句子)确定文法
2.3语言的分类(1学时)
了解:形式语言与自动机
掌握:Chomsky文法的定义
文法和语言的分类
2.4文法等价于等价变换(4学时)
掌握:文法等价的概念
熟练掌握:
压缩文法等价变换
消去左递归的文法等价变换
难点:压缩文法等价变换
消去左递归的文法等价变换
2.5语法分析树与句型分析(1学时)
了解:句型分析存在的基本问题
理解:语法分析树
规范推导和规范归约
掌握:文法二义性的判断
句型分析技术
难点:文法二义性的判断
第3章词法分析
教学要点:
1、状态转换图的构造和运行
2、DFA和NFA以及他们之间的转换
3、词法分析程序的实现
教学时数:
7学时
教学内容:
3.1引言
了解:词法分析与词法分析程序