《编译原理及实践教程(第3版)》教学大纲

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

《编译原理》教学大纲

一课程简介

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

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

二课程目标

(一)课程具体目标

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

2. 能够理解现有某高级语言的编译系统中各模块的功能和实现方法,能够对不同方法的优劣进行对比和分析;(毕业要求4.1 能够运用科学方法,对计算机领域的复杂工程问题进行需求和功能分析。)

3. 理解编译程序的结构及各个模块的功能,利用软件工程方法分析和设计某语言的编译程序的各个模块,并能够选择合适的方法实现。(毕业要求1.4 能够运用专业知识,对计算机领域复杂工程问题的解决方案进行分析、改进。)

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

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

为弱支撑,不在表1中列举。

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

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

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

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

主要内容:

⑴中间代码生成概述。

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

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

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

相关文档
最新文档