《编译原理》教学大纲.docx

上传人:b****5 文档编号:6792151 上传时间:2023-01-10 格式:DOCX 页数:14 大小:22.42KB
下载 相关 举报
《编译原理》教学大纲.docx_第1页
第1页 / 共14页
《编译原理》教学大纲.docx_第2页
第2页 / 共14页
《编译原理》教学大纲.docx_第3页
第3页 / 共14页
《编译原理》教学大纲.docx_第4页
第4页 / 共14页
《编译原理》教学大纲.docx_第5页
第5页 / 共14页
点击查看更多>>
下载资源
资源描述

《编译原理》教学大纲.docx

《《编译原理》教学大纲.docx》由会员分享,可在线阅读,更多相关《《编译原理》教学大纲.docx(14页珍藏版)》请在冰豆网上搜索。

《编译原理》教学大纲.docx

《编译原理》教学大纲

《编译原理》教学大纲

课程代码:

课程名称(中/英):

编译原理/CompilerPrinciple

学分:

4

总学时:

64

理论学时:

40

实验学时:

24

课程性质:

专业核心类课程

必修

开课学期:

6

适用专业:

计算机科学与技术

先修课程:

而向对象程序设计,数据结构,离散数学,软件工程,计算机组成原理,汇编语言程序设计

一课程简介

本课程是计算机科学与技术专业的专业核心课程。

本课程主要讲述高级语言翻译为汁算机能执行的代码的原理、过程、方法和技术,核心是介绍髙级语言到汇编语言的翻译。

让学生理解编译和高级语言程序之间的关系,掌握词法分析、语法分析、语义分析、中间代码生成、代码优化和目标代码生成等各个阶段的原理、方法和实现技术,真正认识计算机信息处理的实质、训练抽象思维能力、体验系统软件的开发过程,进一步提升计算机科学与技术的专业素养。

二课程目标

(一)课程具体目标

1.掌握形式语言和自动机的基本概念,理解高级语言编译的基本原理,并能够将这些原理应用于高级语言的设计之中;(毕业要求1.3掌握汁算机基础理论,能够用于对计算机应用系统的设计方案和模型进行推理和验证。

2.能够理解现有某高级语言的编译系统中各模块的功能和实现方法,能够对不同方法的优劣进行对比和分析:

(毕业要求4.1能够运用科学方法,对计算机领域的复杂工程问题进行需求和功能分析。

3.理解编译程序的结构及各个模块的功能,利用软件工程方法分析和设计某语言的编译程序的各个模块,并能够选择合适的方法实现。

(毕业要求1.4能够运用专业知识,对计算机领域复杂工程问题的解决方案进行分析、改进。

(二)课程目标与毕业要求的关系

本课程目标主要支撑的毕业要求指标点如表1所示。

除表1所列举指标点外,根据学生特点、本课程教学特色,教学目标还涉及对毕业要求5(选择和使用现代工具)等能力培养,为弱支撑,不在表1中列举。

表1本课程对专业毕业要求指标点的支撑

课程目标

支撑的毕业要求指标点

1.3

1.4

4.1

课程目标1

课程目标2

课程目标3

(三)教学内容安排总体思路

本课程的教学内容,以课程具体目标为总体指导进行制左。

通过形式语言与自动机的相关基础知识、高级语言到汇编语言的翻译原理、方法和实现技术等教学内容,传授基于某种髙级语言编译程序构造的一般原理和基本方法,如词法分析、语法分析、语义分析、中间代码生成、代码优化和目标代码生成等各个阶段的原理等知识,从而有针对性地培养学生模型构建能力(课程目标1)、系统分析能力(课程目标2)和方案选择与实现能力(课程目标3)。

为达成课程具体目标,教学内容中除安排课内讲授知识外,还包括课程作业和课内实验,旨在巩固课堂传授知识点,使学生在面对计算机复杂工程问题时,能将编译技术合理运用于该类工程的设计实现之中,进行解决方案的分析和改进,并进行合理的需求分析、功能分析和验证。

本课程的教学内容不仅完全覆盖课程拟达成的具体目标,同时,根据计算机科学与技术专业人才培养总体目标,以及课程所面向学生特点,课程内容还涉及计算机体系结构、汇编语言、项目管理等内容,旨在培养知识交叉应用、沟通交流等综合工程能力。

三教学内容及基本要求

(一)编译程序的基本概念(4学时)主要内容:

(重点覆盖课程目标1)

⑴程序设计语言及翻译程序。

⑵编译系统。

⑶编译过程和编译程序的结构。

⑷编译程序的构造方法。

⑸认识髙级语言:

结构、构成成分和语言规范。

⑹编译程序的发展。

1•基本要求

⑴了解编译技术的发展,编译程序的构造方法。

⑵掌握高级语言程序编译系统,编译过程,程序设汁语言的结构和规范。

⑶掌握编译过程和编译程序的结构。

2.重点、难点

重点:

高级语言的编译过程。

难点:

编译程序的结构,高级语言的编译过程。

3.作业及课外学习要求

作业:

了解有关髙级语言的编译系统,认识给泄高级语言代码的编译过程及结果。

(二)词法分析(8学时)

(重点覆盖课程目标1,3)

主要内容:

⑴词法分析槪述。

⑵高级语言中的单词。

⑶单词的识别。

⑷词法分析器的设计。

⑸正则表达式与有穷自动机。

⑹词法分析器的自动生成工具。

1.基本要求

⑴了解词法分析器自动生成工具。

⑵了解高级语言中单词的种类。

⑶掌握利用状态转换图识别单词的方法。

⑷掌握利用正则表达式进行单词识别的原理和方法。

2.重点、难点

重点:

状态转换图,有穷自动机。

难点:

正则式转NFA,NFA转DFA,DFA最小化。

3.作业及课外学习要求

作业:

画状态转换图,将自然语言转换为正则表达式,正则式到确定的最小化DFA的转换。

课外学习要求:

上网查阅资料,多种不同的词法分析自动生成器的使用方法。

(三)语法分析(10学时)

(重点覆盖课程目标1,3)

主要内容:

⑴语法分析概述。

⑵上下文无关文法。

⑶自上而下语法分析方法:

递归下降分析法和预测分析方法,LL

(1)文法。

⑷自下而上的语法分析,移进-归约的规范方法,算符优先、LR方法。

⑸语法分析的自动生成器。

⑹语法分析器的设计。

1.基本要求

⑴了解语法分析自动生成器。

⑵掌握上下文无关文法相关概念,熟悉用上下文无关文法建义某种高级语言的语法结构。

⑶掌握自上而下语法分析的特点,对文法的要求,能用两种不同的自上而下分析方法对给定的文法进行判断和分析。

⑷掌握自下而上语法分析的基本概念和特点,掌握用两种不同的自下而上分析方法,能对给定的文法进行判断和分析。

2.重点、难点

重点:

上下文无关文法的基本概念,LL

(1)文法,OPG文法,LR文法,各种文法的分析的基本算法。

难点:

对文法进行判断和分析。

3.作业及课外学习要求

作业:

给泄某髙级语言的特左语法成分对应的文法,能对文法进行各种判断和分析。

课外学习要求:

通过完成作业和实验,进一步掌握不同语法分析适合于不同种类的文法的要求。

通过网络搜索,了解各种不同的语法分析自动生成器。

(四)语义分析(3学时)

(重点覆盖课程目标1,3)

主要内容:

⑴语义分析槪述。

⑵某高级语言各种语法成分的语义描述。

⑶符号表管理技术。

⑷静态语义检查技术。

⑸语义分析器的设让。

1.基本要求

⑴掌握语义分析的相关槪念。

⑵掌握符号表管理技术。

⑶掌握静态语义检查的相关方法和技术。

⑷熟悉某种具体的高级语言对语义的要求。

2.重点、难点

重点:

髙级语言的语义描述方法,符号表管理技术。

难点:

符号表管理技术、静态语义检査技术。

3.作业及课外学习要求

作业:

对某特泄高级语言的语法成分进行静态语义检査。

课外学习要求:

熟悉不同的髙级语言的语义描述。

(五)中间代码生成(8学时)

(重点覆盖课程目标1,4)

主要内容:

⑴中间代码生成概述。

⑵属性文法的基本概念,高级语言语法成分的语义表示。

⑶中间代码及其各种形式。

⑷声明语句、算术表达式和布尔表达式、控制语句、函数的目标结构和翻译方法。

1.基本要求

⑴掌握中间代码的形式,语法制导的翻译方法。

⑵掌握属性文法的槪念,能用属性文法表示某高级语言特泄语法成分的语义信息。

⑶掌握高级语言各种语法成分的翻译技术。

⑷中间代码生成器的设计。

2.重点、难点

重点:

用属性文法描述各种语法成分的语义信息,各种语法成分语法制导的翻译方法。

难点:

用属性文法描述各种语法成分的语义信息。

3.作业及课外学习要求

作业:

将高级语言的特定语法成分翻译为特定的中间代码形式。

课外学习要求:

熟悉中间代码形式,调试程序,将特定高级语言的特圧语法成分翻译为中间代码。

(六)运行时存储组织(2学时)

(重点覆盖课程目标1,4)

主要内容:

⑴存储器组织。

⑵函数调用相关概念。

⑶存储分配策略。

⑷垃圾回收机制。

1.基本要求

⑴了解垃圾回收机制。

⑵掌握程序运行时存储器的划分,活动记录。

⑶掌握函数调用方式及相关概念。

⑷理解各种存储分配方式,掌握栈式存储分配策略。

2.重点、难点

重点:

程序运行时存储器的划分,函数调用机制,栈式存储分配策略。

难点:

函数的相关概念,函数运行时的存储分配。

3.作业及课外学习要求作业:

函数运行时存储器变化。

课外学习要求:

上网查阅存储分配的相关信息。

(七)代码优化(2学时)

(重点覆盖课程目标1,4)

主要内容:

⑴基本块的划分,程序流图。

⑵局部优化技术。

⑶循环优化技术。

1.基本要求

⑴掌握基本块的划分方法,画程序流图。

⑵掌握局部优化技术。

⑶掌握全局优化技术。

2.重点、难点

重点:

基本块划分,流图,优化技术。

难点:

基本块划分。

3.作业及课外学习要求

作业:

对给左的程序划分基本块,画出流图。

课外学习要求:

上网查阅更多的代码优化技术。

(八)目标代码生成(3学时)

(重点覆盖课程目标1,4)

主要内容:

⑴目标代码生成器概述。

⑵目标机器结构及指令系统。

⑶简单的代码生成技术。

⑷基本块的代码生成方法。

⑸从DAG生成目标代码的方法。

⑹目标代码生成器的设计。

1.基本要求

⑴了解目标代码生成器所涉及到的相关信息。

⑵熟悉某种目标机器结构及指令系统。

⑶掌握简单的代码生成技术。

⑷掌握引用信息、活跃信息,寄存器描述器和地址描述器,基本块的代码生成技术。

⑸了解从DAG生成目标代码的方法。

⑹熟悉目标代码生成器的设计方法。

2.重点、难点

重点:

简单代码生成技术、基本块的代码生成技术。

难点:

引用信息、活跃信息,寄存器描述器和地址描述器。

3.作业及课外学习要求

作业:

能够对给立的中间代码生成目标代码。

课外学习要求:

上网查阅目标代码生成的方法。

(九)课程实验

实验一:

词法分析实验(6学时)

实验内容:

(重点覆盖课程目标2,3)

设汁并实现sample语言或者其他高级语言的词法分析器,读入源程序,根据对应髙级语言的构词规则拆分出单词。

英中用状态转换图的方法实现词法分析实验2学时,用自动生成器实现词法分析程序4学时。

实验二:

语法分析实验(6学时)

实验内容:

(重点覆盖课程目标2,3)

利用自上而下的方法,或者自下而上的语法分析方法,设让并实现sample语言或者其他语言的语法分析器"其中需要分别实现算术表达式、布尔表达式、控制语句的语法分析。

实验三:

语义分析实验(2学时)

实验内容:

(重点覆盖课程目标2,3)

根据给泄语言的静态语义要求,设汁并实现sample语言或者英他语言的静态语义检査程序。

实验四:

中间代码生成实验(6学时)

实验内容:

(重点覆盖课程目标2,3)

利用属性文法和语法制导翻译方法,设计并实现sample语言或者北他语言的中间代码生成器。

其中需要分别实现算术表达式、布尔表达式、控制语句的中间代码生成。

实验五:

运行时存储组织实验(2学时)

实验内容:

利用YC++或者其他语言的反汇编程序查看C语言程序生成的汇编代码,观察程序在内存中的存储情况。

实验六:

代码优化(2学时)

实验内容:

(重点覆盖课程目标2,3)

设计基本块的DAG代码优化器。

实验七:

目标代码生成实验(2学时)

实验内容:

(重点覆盖课程目标2,3,4)

根据简单代码生成器的生成算法,设计并实现目标代码生成器,将中间代码转换为汇编代码。

四教学安排及教学方式

总学时64学时,其中,讲授40学时,实验(上机)24学时。

讲授环节主要采用教师讲解、演示、互动的教学形式。

教师讲解知识点、演示程序代码,使学生对知识点形成直观印象,并通过课堂教学双方互相提问,与学生互动,鼓励学生在课堂上发表自己的见解,加深对知识点的理解,达到课程目标。

上机环节主要采用教师安排任务、学生自主上机练习,教师现场指导、答疑的形式。

上机练习可利用实验室电脑或学生个人电脑编程,通过安装在本地的编译环境进行上机练习。

序号

课程内容

讲授学时

上机学时

教学方式

1

编译程序的基本概念

4

讲授

2

词法分析

6

讲授

3

实验一:

词法分析实验

4

上机

4

语法分析

8

讲授

5

实验二:

语法分析实验

6

上机

6

语义分析

4

讲授

7

实验三:

语义分析实验

2

上机

8

中间代码生成

S

讲授

9

实验四:

中间代码生成实验

6

上机

10

运行时存储组织

3

讲授

11

实验五:

运行时存储组织实验

2

上机

12

代码优化

3

讲授

13

实验六:

代码优化

2

上机

14

目标代码生成

4

讲授

15

实验七:

目标代码生成实验

2

上机

合计

40

24

64

五考核方式与成绩评定办法

(一)考核与评价方式及成绩评定

最终成绩由平时成绩、实验成绩、期末考试成绩等综合而成。

各部分所占比例如下:

平时作业成绩:

10%。

主要考核对课程各单元的关键知识点、课外学习要求的完成、复习、理解和掌握程度。

主要形式是学生提交的作业,通过批改作业对平时学习情况进行考核:

或者进行两次课堂测试,对学生平时学习情况进行考核。

实验成绩:

30%c主要考核学生分析、解决问题的能力,以及算法设计与实现能力。

学生通过搭建相应的实验环境,完成实验内容,并能获取实验数据,进行结果分析。

期末考试成绩:

60%。

主要考核对编译原理基础知识、编译方法和技术的掌握程度,以及解决问题的能力。

考试形式为卷而考试,主要题型为简答题、计算题,综合题和应用题。

课程LI标达成考核与评价方式,以及成绩评定对照表。

课程目标

支撑毕业要求

考核与评价方式及成绩比例(%)

成绩比例(%)

平时作业

实验

期末考试

课程目标1

支撑毕业要求1.3

5

30

35

课程目标2

支撑毕业要求4.1

5

12

30

47

课程目标3

支撑毕业要求1.4

18

18

合计

10

30

60

100

(二)考核与评价方式及成绩评定考核与评价标准

1•平时成绩考核与评价标准

平时作业

课程目标

评价标准

成绩比例(%)

优秀(0.9~1)

良好

(0.旷0・89)

中等

(0.7~0・79)

及格

(0.6~0・69)

不及格(0.0'0・5

9)

课程目标

1

能够独立完成,解题思路正确,有明确的步骤,结果正确

能够独立完成,解题思路正确,有基本明确的步骤,结果多数正确

能够独立完成,解题思路基本正确,有较明确的步骤,结果正确

基本能够独立完成,有一左的解题思路和步骤,结果基本正确

不能独立完成,或者

思路不淸

50

课程目标

2

能够对给定的应用问题设计相应的算法

能够对给定的应用问题构建设计合理的算法

能够对给泄的应用问题设计部分算法

基本能够对给左的问题设计部分算法

不能对给定的模型设计算法

50

注:

该表格比例为平时成绩比例。

2.实验考核与评价标准

实验

程目标

评价标准

成绩比例(%)

优秀(0.旷1)

良好(0・8~0・8

9)

中等

(0.7~0・79)

及格(0.6~0・6

9)

不及格

(0.0~0・5

9)

课程目标

2

能够对给定问题选择合适的算法:

有多种实验方案,能够对实验结果进行分析,结论合理

能够对给左问题选择合适的算法;有多种实验方案,能够对实验结果进行分析,结论合理

能够对给定问题选择算法;有实验方案,能够对实验结果进行部分分析,得到部分结论

有一种实验方案,基本能对实验结果进行分析

实验方案

不合理,

不能完成实验结果的分析

40

课程目标

3

能够对给定问题建立正确的模型,提出可行的解决思路和方法:

实现算法并验证结果:

能够对给定问题建立合理的模型,提出可行的解决思路和方法:

基本实现算法并验证结

能够对给定问题建立基本合理的模型,或提岀可行解决思路和方法;实现部分算法并验证结果

能够对给定的模型提岀部分解决思路和方法:

基本能实现算法

不能建立模型,或者不能提出解决思路和方法;不能实现算法

60

注:

该表格比例为上机测试成绩比例。

3•期末考试成绩考核与评价标准

期末考试

课程目标

评价标准

成绩比例(%)

优秀(0.9~1)

良好

(0.8'0・89)

中等

(0.7'0・7

9)

及格(0・6"0・6

9)

不及格

(0.0~0・5

9)

课程目标

1

能很好地回答各个题目,槪念淸楚,逻辑淸晰,回答正确,书写规范

能较好回答各个题目,槪念淸楚,逻辑较晴晰,回答正确,书写规范

能较好地回答各个题目,概念较淸楚,逻辑较清晰,回答正确

基本能回答各个题目,概念较淸楚,逻辑较淸晰

不能回答

50

课程目标

2

解题思路淸楚,能写出解决方案,或者能够计算得到正确的结果

解题思路较淸楚,能写出解决方案,或

者能够计算

得到正确的

结果

解题思路较淸楚,有基本的解决方案,或得到部分结果

有一定的解题思路,基本能够汁算得到部分结果

解题思路

不淸楚,

不能得到结果

注:

该表格比例为期末考试成绩比例。

六教材及其他教学资源

 

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 医药卫生 > 基础医学

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1