还剩3页未读,继续阅读
文本内容:
编译原理课程教学大纲(CompilingPrinciple)学时数48学时其中实验学时8课外学时0学分数3适用专业计算机科学与技术
一、课程的性质、目的和任务本课程是计算机专业的一门学科基础课程,既是一门理论性、实验性、技术性很强的课程,又是理论与实践紧密结合的课程本课程的主要任务是介绍程序设计语言编译程序构造的基本原理和设计方法通过本课程的学习,使学生掌握和理解编译的基本过程,各个编译阶段的功能与常用的一些设计方法和技巧
二、课程教学的基本要求
(一)编译器的基本结构;
(二)文法与语言的基本知识;
(三)自动机的相关理论学习与应用
(四)各个编译过程的设计方法与技巧;
(五)编译器实现中所用相关算法及编码、分析
三、课程的教学内容、重点及难点第一章编译概述(2学时)
一、教学内容
(一)翻译与编译程序;
(二)编译过程概述;
(三)编译程序的基本结构;
(四)编译程序的组合;
(五)编译技术及其在软件开发中的应用重点了解什么是编译程序,了解编译程序工作的基本过程及各阶段的基本任务,熟悉编译程序总体框架结构难点编译过程和编译程序的结构第二章文法和语言的基本知识(2学时)
一、教学内容
(一)文法的概念;
(二)符号和符号串;
(三)文法和语言的形式定义;
(四)文法的类型;
(五)上下文无关文法及其语法树;
(六)句型的分析;
(七)有关文法实用中的实用限制与变换重点上下文无关文法及其语法树和文法的类型以及二义性难点上下文无关文法及其语法树;文法的类型以及上下文无关文法中自规则和二义性判别第三章词法分析与有穷自动机(7学时)
一、教学内容(-)词法分析程序的功能;
(二)单词的描述与输出形式;
(三)正规表达式、正规文法与有限自动机,以及三者的相互转换重点词法分析器的功能和输出形式,词法分析器的功能和设计方法,正规表达式与有限自动机难点正规表达式与有限自动机、状态转换图及化简第四章语法分析(12学时)
一、教学内容
(一)确定自顶向下分析思想;(-)LL
(1)文法的判别;
(三)不确定自顶向下分析思想;
(四)确定的自顶向下分析方法(递归子程序和预测分析法);
(五)自底向上优先分析法概述;
(六)算符优先分析法;
(七)LR(O)分析;
(八)LR
(1)分析;LR
(1)分析;LALR(l)分析重点LL
(1)文法的判别;自下而上和自上而下分析器的设计思想;简单优先分析法的形式定义、算符优先分析法,算符优先表的构造和优先函数;LR(O)分析、活前缀、LR(O)项目族的构造以及LR(O)项目集规范族的构造难点算符优先表的构造和优先函数;正确理解自上而下分析法的基本思想;掌握递归子程序和预测分析法;非LL
(1)文法的转换;活前缀、LR(O)项目族的构造以及LR(O)项目集规范族的构造第五章语法制导翻译技术和中间代码生成(4学时)
一、教学内容(-)语法制导翻译的基本思想;(-)中间语言的形式;
(三)算术表达式与布尔表达式到四元式的翻译;控制语句的翻译;数组元素引用和赋值,过程调用的处理重点正确理解语法制导翻译的基本思想和方法,熟悉常见的几种中间语言的描述,掌握各种语句到四元式的翻译,以及各种语句适应语法制导翻译的产生式及相应的语义子程序难点表达式、控制语句、和数据元素引用的翻译第六章符号表的组织与管理(2学时)
一、教学内容(-)符号表的作用和地位;
(二)符号的主要属性及作用;
(三)符号表的组织;符号表的管理重点符号表的组织和使用难点符号表的组织和使用,尤其是层次管理第七章代码优化(2学时)
一、教学内容
(一)优化概述;(-)局部优化;
(三)控制流分析和循环优化;
(四)窥孔优化重点了解代码优化的含义、作用、掌握利用DAG表示进行局部优化的方法;数据流分析难点DAG表示及其应用和数据流分析第八章运行时的存储组织与管理(2学时)
一、教学内容(-)数据空间的三种不同使用方法和管理方法;(-)简单的栈式存储分配的实现;
(三)堆式存储分配;
(四)临时变量的存储分配重点目标程序运行时存储空间的使用和组织管理方式,了解静态分配和动态分配的基本思想;掌握嵌套过程语言目标程序运行时动态运行栈的内容、组织和变化过程难点目标程序运行时存储空间的使用和组织管理方式、栈式存储分配的实现第九章目标代码生成(2学时)
一、教学内容
(一)代码生成重点考虑的问题;
(二)假想计算机模型分析;
(三)简单代码生成器分析;
(四)代码生成技术简介重点代码生成过程中的基本问题,理解待用信息、寄存器描述和地址描述等概念,掌握简单代码生成器的生成算法、寄存器分配策略难点一个简单代码生成器的算法第十章并行编译技术基本常识(2学时)
一、教学内容
(一)并行编译技术简介;
(二)向量语言编译技术;
(三)共享存储器并行机并行编译技术简介等重点并行编译技术的功能与结构难点无(-)本课程主要以授课为主;
(二)上机实践操作8学时,是一个综合性实验,名称为“PL编译器设计具体内容为编译器的词法分析、语法分析、代码生成等三个阶段实验组成;可以参考教材中附录进行
(三)作业题量见学时分配表,考试采用闭卷考试
五、学时分配
六、课程与其它相关课程的联系学习本课程之前,学生必须学习汇编语言程序设计,数据结构、离散数学等课程这些课程是本课程的基础
七、教材与教学参考书
(一)选用教材胡伦骏,徐兰芳等.《编译原理》.北京电子工业出版社,2005年
(二)教学参考书
[1]陈意云.《编译原理》.北京高等教育出版社,2005年⑵(美)阿霍(AhoA.V)等著,李建中等译.《编译原理》.北京机械工业出版社,2007年早下主要内容各教学环节学时分配作业题量备注讲授实验习题课外其它小计1编译概述2222文法和语言的基本知识21333词法分析与有穷自动机7211044语法分析12411785语法制导翻译技术和中间代码生成4436符号表的组织与管理2227代码优化2228运行时的存储组织与管理2229目标代码生成224210并行编译技术基本常识222合计37X34830。