当前位置:文档之家› 编译原理课程教学大纲

编译原理课程教学大纲

编译原理课程教学大纲一、课程简介编译原理是计算机及相关专业的重要专业课程,主要介绍程序设计语言编译器构造的基本原理和基本实现方法。

由于这门课程相对抽象且内容复杂,是较难学的一门课程。

编译系统是计算机系统中最重要的系统软件之一,它的基本作用是把高级语言等价地翻译成机器指令形式,从而能够使高级语言写成的程序顺利运行。

因此编译系统是使高级程序设计语言具有生命力的有力保证,对编译系统的理论基础、构造方法、实现技术的研究是计算机科学研究的基本内容。

设置该课程的目的是为了让学生系统地了解并掌握编译程序的构造原理,掌握符号语言的形式化处理的一般方法和步骤,熟悉编译辅助工具如LEX、YACC等。

二、课程目标(一)课程具体目标本课程是软件工程专业的一门重要的专业平台必修课,在该专业人才培养方案和课程体系中具有重要地位,对培养毕业生的专业能力和综合素质具有重要意义。

课程的具体目标如下:1. 掌握软件工程学科的专业核心知识,包括编译器构造的基本原理和基本实现方法,并能够用于解决计算机领域的复杂工程问题。

2. 能够基于软件工程的相关原理和方法,对软件工程复杂工程问题涉及的软件、模块、系统等诸多因素开展技术研究。

3. 能够结合软件工程技术相关问题背景和科学原理,评价平台环境、技术工具和有效资源在问题求解中的局限性。

4. 能够根据软件工程复杂工程问题的设计需要,开发适用工具对工程中的设计进行检验和评价。

(二)课程目标与专业毕业要求的关系表1 本课程对专业毕业要求及其指标点的支撑(三)课程对解决复杂工程问题能力的培养这门课程关注的是编译器方面的产生原理和技术问题,似乎和计算机的基础领域不沾边,可是编译原理却一直作为大学本科的必修课程。

在课程理论知识讲授环节,注重培养学生对高级语言编译原理和编译技术的深入理解,使学生掌握解决复杂工程问题所需的基本理论和工程原理,并通过适当的课后作业锻炼和检验学生解决复杂工程问题的能力。

在实验教学环节,以培养学生解决复杂工程问题的能力为目标,围绕课程目标安排实验项目,设计实验内容,明确实验要求,指导实验实施,严格实验成果考核。

在课程考核环节,根据课程目标选择合适的考核方式,考题设置应完全覆盖课程目标,考题设计应充分考虑学生解决复杂工程问题所需知识和能力,考题的难度和深度应能够体现复杂工程问题的特征。

总之,本课程的教学通过在理论讲授、课后作业、课内实验、课程考核等环节充分贯彻培养学生解决复杂工程问题能力的理念和要求,实现本课程支撑课程目标的达成。

三、教学内容及基本要求(一)理论教学第1单元编译程序概论(2学时)1.教学内容(1)编译程序的概念及结构什么是编译程序;编译过程概述;编译程序的结构;编译阶段的组合。

(2)解释程序、软件工具、程序设计语言范型解释程序;处理源程序的软件工具;程序设计语言范型。

2.基本要求介绍编译程序在计算机科学中的地位和作用;介绍编译技术的发展历史,讲解编译程序、解释程序的基本概念,概述编译过程;介绍编译程序的逻辑结构和编译程序的组织形式。

要求理解编译程序、解释程序、遍的基本概念;掌握编译过程各阶段的任务和编译程序逻辑结构及其各部分的基本功能。

3.支撑的课程目标通过本单元各知识点的讲授和学习,可以支撑:课程目标1:掌握软件工程学科的专业核心知识,包括编译器构造的基本原理和基本实现方法,并能够用于解决计算机领域的复杂工程问题。

使学生了解编译原理的基本概念和常用术语、掌握编译过程各阶段的任务和编译程序逻辑结构及其各部分的基本功能,具备解决计算机软件系统的核心问题、识别和判断计算机软件系统所涉及的关键环节和参数、构建模型并进行分析和解释,得到合理有效的结论。

本单元教学通过“互动、开放”的课堂形式,采用探究式学习、问题导入的教学方法,激发学生的学习兴趣。

通过课堂讨论、课后作业及实验,培养学生掌握数据结构基础知识,具备解决计算机软件系统的核心问题、识别和判断关键环节和参数、构建模型并进行分析和解释,得到合理有效的结论等能力,达到课程目标的要求。

第2单元文法与语言(4学时)1.教学内容(1)文法的直观概念、符号和符号串;(2)文法与语言的形式定义;(3)文法的分类;(4)上下文无关文法及其语法树;(5)句型的分析、有关文法实用的一些说明:句型的分析;自上而下的分析方法;自下而上的分析方法;句型分析的有关问题;有关文法的实用限制;上下文无关文法中的规则。

2.基本要求文法与语言是编译原理课程的理论基础,要求理解文法、语言、规范推导、规范归约和短语、简单短语、句柄的基本概念;掌握语言的求解方法、文法的二义性的判断方法及句型的分析方法。

3.支撑的课程目标通过本单元各知识点的讲授和学习,可以支撑:课程目标1:掌握软件工程学科的专业核心知识,包括编译器构造的基本原理和基本实现方法,并能够用于解决计算机领域的复杂工程问题。

课程目标2:能够基于软件工程的相关原理和方法,对软件工程复杂工程问题涉及的软件、模块、系统等诸多因素开展技术研究。

使学生了解文法与语言是编译原理课程的理论基础,理解文法、语言、规范推导、规范归约和短语、简单短语、句柄的基本概念;掌握语言的求解方法、文法的二义性的判断方法及句型的分析方法,具备解决计算机软件系统的核心问题、识别和判断计算机软件系统所涉及的关键环节和参数、构建模型并进行分析和解释,得到合理有效的结论。

本单元教学通过“互动、开放”的课堂形式,采用探究式学习、问题导入的教学方法,激发学生的学习兴趣。

通过课堂讨论、课后作业及实验,培养学生掌握数据结构基础知识,具备解决计算机软件系统的核心问题、识别和判断关键环节和参数、构建模型并进行分析和解释,得到合理有效的结论等能力,达到课程目标的要求。

第3单元词法分析(6学时)1.教学内容(1)词法分析程序的设计:词法分析程序与语法分析程序的接口方式;词法分析程序的输出;将词法分析工作分离的考虑。

(2)单词的描述工具:正规文法;正规式;正规文法和正规式的等价性。

(3)有穷自动机:确定的有穷自动机(DFA);不确定的有穷自动机(NFA);NFA转换为等价的DFA;确定有穷自动机的化简。

(4)正规式和有穷自动机的等价性(5)正规文法和有穷自动机的等价性(6)词法分析程序的自动构造工具2.基本要求介绍编译程序的第一个阶段-词法分析的设计原理和设计方法,要求掌握正规文法、状态转换图、DFA、NFA、正规式和正规集的基本概念和词法分析程序的设计与编写。

3.支撑的课程目标通过本单元各知识点的讲授和学习,可以支撑:课程目标1:掌握软件工程学科的专业核心知识,包括编译器构造的基本原理和基本实现方法,并能够用于解决计算机领域的复杂工程问题。

课程目标2:能够基于软件工程的相关原理和方法,对软件工程复杂工程问题涉及的软件、模块、系统等诸多因素开展技术研究。

课程目标3:能够结合软件工程技术相关问题背景和科学原理,评价平台环境、技术工具和有效资源在问题求解中的局限性。

课程目标4:能够根据软件工程复杂工程问题的设计需要,开发适用工具对工程中的设计进行检验和评价。

使学生了解词法分析的设计原理和设计方法,掌握正规文法、状态转换图、DFA、NFA、正规式和正规集的基本概念和词法分析程序的设计与编写方法,具备解决计算机软件系统的核心问题、识别和判断计算机软件系统所涉及的关键环节和参数、构建模型并进行分析和解释,得到合理有效的结论。

本单元教学通过“互动、开放”的课堂形式,采用探究式学习、问题导入的教学方法,激发学生的学习兴趣。

通过课堂讨论、课后作业及实验,培养学生掌握数据结构基础知识,具备解决计算机软件系统的核心问题、识别和判断关键环节和参数、构建模型并进行分析和解释,得到合理有效的结论等能力,达到课程目标的要求。

第4单元自顶向下语法分析方法(6学时)1.教学内容(1)确定的自顶向下分析思想;(2)LL(1)文法的判断;(3)某些非LL(1)文法到LL(1)文法的等价变换;(4)不确定的自顶向下分析思想;(5)确定的自顶向下分析思想:递归子程序法;预测分析方法。

2.基本要求介绍编译程序的第二个阶段-语法分析的设计方法和实现原理,包括自上而下分析的无回溯的递归下降分析、LL(1)分析法。

要求理解递归下降分析、LL(1)文法的基本概念;掌握无回溯的递归下降分析的设计和实现、LL(1)分析表的构造与分析方法。

3.支撑的课程目标通过本单元各知识点的讲授和学习,可以支撑:课程目标1:掌握软件工程学科的专业核心知识,包括编译器构造的基本原理和基本实现方法,并能够用于解决计算机领域的复杂工程问题。

课程目标2:能够基于软件工程的相关原理和方法,对软件工程复杂工程问题涉及的软件、模块、系统等诸多因素开展技术研究。

课程目标3:能够结合软件工程技术相关问题背景和科学原理,评价平台环境、技术工具和有效资源在问题求解中的局限性。

课程目标4:能够根据软件工程复杂工程问题的设计需要,开发适用工具对工程中的设计进行检验和评价。

使学生了解语法分析的设计方法和实现原理,包括自上而下分析的无回溯的递归下降分析、LL(1)分析法;理解递归下降分析、LL(1)文法的基本概念;掌握无回溯的递归下降分析的设计和实现、LL(1)分析表的构造与分析方法,具备解决计算机软件系统的核心问题、识别和判断计算机软件系统所涉及的关键环节和参数、构建模型并进行分析和解释,得到合理有效的结论。

本单元教学通过“互动、开放”的课堂形式,采用探究式学习、问题导入的教学方法,激发学生的学习兴趣。

通过课堂讨论、课后作业及实验,培养学生掌握数据结构基础知识,具备解决计算机软件系统的核心问题、识别和判断关键环节和参数、构建模型并进行分析和解释,得到合理有效的结论等能力,达到课程目标的要求。

第5单元自底向上优先分析法(4学时)1.教学内容(1)自底向上优先分析法自底向上优先分析法概述;简单优先分析法;优先关系;简单优先文法的定义;简单优先分析法的操作步骤。

(2)算符优先分析法直观算符优先分析法;算符优先文法的定义;算符优先关系表的构造;算符优先分析算法;优先函数;算符优先分析法的局限性。

2.基本要求掌握算符优先分析法的关系表的构造以及分析过程,了解简单优先分析法。

3.支撑的课程目标通过本单元各知识点的讲授和学习,可以支撑:课程目标1:掌握软件工程学科的专业核心知识,包括编译器构造的基本原理和基本实现方法,并能够用于解决计算机领域的复杂工程问题。

课程目标2:能够基于软件工程的相关原理和方法,对软件工程复杂工程问题涉及的软件、模块、系统等诸多因素开展技术研究。

课程目标3:能够结合软件工程技术相关问题背景和科学原理,评价平台环境、技术工具和有效资源在问题求解中的局限性。

课程目标4:能够根据软件工程复杂工程问题的设计需要,开发适用工具对工程中的设计进行检验和评价。

相关主题