《编译原理》课程 教学设计方案
适用专业:计算机科学技术 编 制 人: 系部主任:
审 核 人: 编制日期:
2014年4院15日
目 录
一、《编译原理》课程整体教学设计方案 ......................................... 1
(一)基本信息 .......................................................... 1 (二)课程设计 .......................................................... 1 (三)考核方案设计 ...................................................... 4 (四)教学组织形式 ...................................................... 5 (五)教学材料 .......................................................... 5 二、课程单元教学方案设计 .................................................... 6
(一)教学内容1 ......................................................... 6
1、教案头 ............................................................ 6 2、教学过程设计 ...................................................... 6 (二)教学内容2 ......................................................... 7
1、教案头 ............................................................ 7 2、教学过程设计 ...................................................... 8 (三)教学内容3 ........................................................ 10
1、教案头 ........................................................... 10 2、教学过程设计 ..................................................... 10
《编译原理》课程设计方案
《编译原理》课程教学设计方案
一、《编译原理》课程整体教学设计方案
(一)基本信息
课程名称:编译原理 学时:72学时 课程类型:专业技能课 学分:3学分
所属系部:计算机科学系 授课对象:二年级学生 先修课程:《数据结构》、《离散数学》 后续课程:《JAVA程序设计》
课程团队负责人及成员:孔玉静 (二)课程设计 1、课程目标设计
(1)能力目标: 培养学生掌握构造编译程序的基本原理与设计方法,为培养计算机语言与大型应用程序的开发人才打下良好的基础。
(2)知识目标: 通过本课程学习,使学生掌握编译程序的一般构造原理,包括语言基础知识、词法分析程序设计原理和构造方法。各种语法分析技术和中间代码生成符号表的构造、代码优化、并行编译技术常识及运行时存储空间的组织等基本方法和主要实现技术。
2、课程教学内容设计
序号 第1章 第2章 第3章 第4章 第5章 第6章 第7章 第8章 第9章 第10章 11 教学内容 引论 编译基础 词法分析 自上而下语法分析 自下而上语法分析 语法制导翻译和中间代码生成 运行时的存储空间组织 优化 目标代码生成 面向对象语言的编译 综合复习 合计 学时 8 8 8 4 4 8 8 4 8 8 4 72 3、能力训练项目设计
1
《编译原理》课程设计方案
编能力训练 学时 号 项目名称 能力目标 运用所学知识,选择语言、选择算法(数据结构),编程实现符号表管理程序,读出源程序中的标识符,并在符号表中进行查找,若存在则输出该标识符及其编号和位置;否则将其填入符号表,并分配编号,确定位置,输出标识符表。 通过设计调试词法分析程序,实现从源程序中分出各种单词的方法;加深对课堂教学的理解;提高词法分析方法的实践能力。掌握从源程序文件中读取有效字符的方法和产生源程序的内部表示文件的方法;掌握词法分析的实现方法;上机调试编出的词法分析程序。 建立运算符优先级表,利用C或Java语言,实现逆波兰式的生成算式,将简单算术表达式转化为逆波兰表达式。输出生成的逆波兰表达式。 通过选用不同的语法分析方法(自上而下或自下而上语法分析方法),编写完整的表达式(或算术表达式)语法分析程序。功能包括:输入符号串,判断该输入串是否为该语言的一个合法的表达式,同时检查语法错误。 选用目前世界上普遍采用的语义分析方法──语法制导翻译技术。编程实现LR(k)算法,能根据预先定义的文法规生成LR(k)分析表,并对输入串进行语法分析。 主要支撑知识 训练方式及步骤 1 查填符号表 8 搜索算法、标识符解析等 上机指导、组织讨论关键问题。 2 简单词法分析 4 词法分析程序的设计、单词的描述工具、有穷自动机、文法等 上机指导、组织讨论关键和难点问题的解决方案。 3 逆波兰式生成 8 栈的运用、中间代码的形式等。 上机指导、组织讨论关键问题。 4 表达式分析 8 自顶向下语法分析方法、自底向上优组织讨论关键先分析、LR问题和难点的分析及语法解决方案。 制导和中间代码生成等。 词法分析、语法分析、符号表管理及语义分析等。 组织对关键问题和难点解决方案的讨论。并对完成较好的实验程序进行展示。 5 综合实验 8
4、教学进度表设计
2
《编译原理》课程设计方案
教学目标与主要内容 序号周次学时单元标题 能力目标 能力训练项目编号 知识目标 考核内容与方法
1 1-2 2 3-4 3 5-6 8 引论 1. 理解编译程序的概念; 2. 理解编译的过程; 1 了解编译程序与解释程序的区别; 1. 理解文法、语言的基本概念; 2. 了解字母表,符号串,符号串的头尾,符号串的连接和符号串的方幂等概念; 3. 掌握语言的定义方法、符号串的推导; 4. 了解文法的类型; 考查 8 1. 理解语法分析树的构造、了解文法的二义性判断编译基础 方法; 2. 理解句型的分析方法; 1 考查 8 1.掌握正规文法正规式,两者之间的转换; 2. 掌握状态转换图,DFA ,NFA,词法分析 把NFA变为DFA, DFA的化简; 3. 掌握正规文法和有穷自动机间的转换; 2 了解词法分析器的功能和输出形式; 考查 4 7 4 1. 了解不确定的自顶向下分析思自上而下想; 语法分析 2. 掌握LL(1)分析方法; 4 1. 了解确定的自顶向下分析思想,掌握First集与Follow集的构造算法; 2. 掌握LL(1)文法的判别方法; 3. 掌握某些非LL(1)文法到LL(1)文法的等价变换方法; 考查 3