编译原理专业课程教学大纲-西北师范大学在线教学系统
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
西北师范大学计算机科学与技术专业(非师范类)课程教学大纲
编译原理(71022411)
一、说明
(一)课程性质
《编译原理》课程是计算机科学与技术专业、软件工程专业学生必须掌握的重要专业必修课,也是一门理论性、实践性和技术性很强的课程。编译系统是现代计算机系统的基本组成之一,编译程序构造的基本原理和技术不仅应用于编译程序的设计,也广泛应用于一般软件的设计和实现。(二)教学目的
本课程的学习目的在于使学生掌握编译程序的基本概念、基本原理、设计方法和实现技术,具有初步分析实际编译系统的能力,并能编制和调试简单编译程序,为今后从事编译及其他有关软件的研究和开发工作打下较为坚实的基础。
(三)教学内容
本课程系统讲述程序设计语言的编译程序的概念、构造、以及实现的主要算法和技术。通过对本课程的学习,使学生较为透彻地理解编译程序的概念、原理,了解语言翻译的全过程(词法分析、语法分析、语义分析与中间代码生成、代码优化和目标代码生成),掌握编译程序中常用的主要算法和技巧;并通过上机实习初步掌握编译器构造的基本方法。
(四)教学时数
教学总学时数90,其中:
理论课54
实验课36
(五)教学方式
理论讲授与实验相结合。
二、本文
理论部分
第1章绪论
教学要点:
1. 高级语言程序的执行方式
2. 编译程序的基本结构及其各阶段的基本任务
教学时数:
3学时
教学内容:
1.1 引言
了解:高级程序设计语言与编译技术之间的联系
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 引言
了解:词法分析与词法分析程序
词法分析程序的实现方式
3.2 正则表达式与有穷状态自动机(4)
了解:正则式的性质
掌握:正则式
正则式和有穷自动机之间的相互转换
正则文法构造正则式
熟练掌握:
构造状态转换图,运行状态转换图
确定的有穷自动机(DFA),不确定的有穷自动机(NFA)
NFA→DFA的转换,DFA的化简
难点:NFA→DFA的转换,DFA的化简
正则式和有穷自动机之间的相互转换
3.3 词法分析程序的实现(1学时)
了解:手工编写词法分析程序的基本思路
理解:单词的描述工具
3.4 词法分析程序的自动生成(1学时)
理解:词法分析程序自动生成的思想和实质
第4章语法分析—自顶向下分析技术教学要点:
1、自顶向下分析技术解决的问题
2、递归下降分析技术及实现
3、预测分析技术及实现
教学时数:
8学时
教学内容:
4.1 引言
理解:自顶向下分析技术的实质和要解决的问题
4.2 带回溯的自顶向下分析技术(2学时)
理解:带回溯的自顶向下分析技术的基本思想,存在的问题及解决方法4.3无回溯的自顶向下分析技术(6学时)
理解:递归下降分析技术的实现思想
递归下降程序的构造方法
应用递归下降分析技术识别句子
掌握:实施无回溯的自顶向下分析技术的先决条件
预测分析技术的基本实现思想
应用预测分析技术进行句型分析时语法分析树的构造熟练掌握:
预测分析表的构造
应用预测分析技术进行句型识别
第5章语法分析—自底向上分析技术
教学要点:
1、算符优先分析技术
2、LR(k)分析技术
教学时数:
12学时
教学内容:
5.1引言(1学时)
理解:自底向上分析技术的实质和要解决的基本问题
掌握:移入-归约法
5.2算符优先分析技术(5学时)
了解:优先函数的引入
算符优先矩阵和优先函数的不足
理解:算符优先分析技术
算符文法和其性质
熟练掌握:
算法优先矩阵,算符优先关系的构造
应用算符优先分析技术识别句型
优先函数的构造
5.3LR(k)分析技术(6学时)
了解:LR(k)的定义和性质
LALR(1)分析表的构造
理解:LR识别程序和识别算法
四种LR分析技术之间的关系
掌握:可归前缀和子前缀,识别活前缀的有限自动机
活前缀及其可归前缀的一般计算方法;
LR(0)分析技术的相关概念,LR(0)文法
SLR(1)分析技术的相关概念,SLR(1)文法
LR(1)项集规范族的构造,LR(1)分析表的构造