《北工大期末复习资料编译原理》由会员分享,可在线阅读,更多相关《北工大期末复习资料编译原理(6页珍藏版)》请在金锄头文库上搜索。
1、课程名称:编译原理课程编码:7009301课程学分:4学分课程学时:64学时适用专业:计算机科学与技术编译原理Programming Langue Compilation Principle教学大纲一、课程性质与目的: 编译理论与技术是计算机领域的一个重要分支,编译原理课程是计算机科学与技术专业的一门核心课程。本课程授课对象为计算机科学与技术专业本科学生,是必修专业基础课。 本课程主要介绍编译程序构造的一般原理和基本方法,学生通过本课程的学习一方面可以掌握计算机程序设计语言的编译方法和实现技术,初步达到设计和开发编译系统的能力;另一方面用编译技术解决人工智能、自然语言理解及处理、搜索引擎等等计
2、算机应用领域中的语言翻译问题。二、教学基本内容及基本要求第1章 引 论(一)基本要求 了解:编译过程及编译程序总框图熟悉:表格与表格管理掌握:编译程序的结构, 编译程序的生成(二)教学及考核内容1.1 编译原理概述1.1.1 什么叫编译程序1.1.2 编译过程概述1.1.3 编译程序的结构1.1.4 编译程序的生成1.1.5 编译程序与程序设计环境1.1.6 学习构造编译程序第2章 高级程序语言及其语法描述(一)基本要求 了解:形式语言概述熟悉:语法、语义掌握:上下文无关文法, 语法分析树与二义性(二)教学及考核内容2.1 程序语言的定义及程序语言的语法描述2.1.1 语法、语义2.1.2 上
3、下文无关文法2.1.3 语法分析树与二义性2.1.4 形式语言概述第3章 词法分析(一)基本要求 了解:对于词法分析器的要求;正规文法与有限自动机的等价性,正规式与有限自动机的等价性;词法分析器的自动产生工具LEX的基本作用。熟悉:状态转化图的作用与画法。掌握:词法分析器的设计与实现方法,,基于状态转换图的词法分析器的构造算法。 (二)教学及考核内容3.1 对于词法分析器的要求3.1.1 词法分析器的功能和输出形式3.1.2 词法分析器作为一个独立子程序3.2 词法分析器的设计 3.2.1 输入、预处理 3.2.2 单词符号的识别-超前搜索 3.2.3 状态转换图 3.2.4 状态转换图的实现
4、第4章 自上而下的语法分析(一)基本要求 了解:语法分析器的功能;熟悉:预测分析递归下降分析程序的设计方法; 掌握:LL(1)分析法的条件,消除左递归的算法,预测分析表的构造。(二)教学及考核内容4.1 语法分析器的功能4.1.1 语法分析器的功能4.1.2 自上而下分析面临的问题4.2 LL(1)分析法4.2.1 消除左递归4.2.2 消除回溯4.2.3 LL(1)分析条件 4.2.4 递归下降分析程序构造4.3 预测分析程序4.3.1 预测分析器的工作过程4.3.2 预测分析表的构造第5章 自下而上的语法分析(一)基本要求 了解:LR分析法的基本原理。熟悉:符号栈的使用方法。掌握:归约,
5、规范归约, 算法优先分析法(二)教学及考核内容5.1 自下而上分析的基本问题5.1.1 归约5.1.2 规范归约5.1.3 符号栈的使用5.2 算法优先分析法5.2.1 算符优先文法5.2.2 算符优先分析算法5.2.3 优先函数5.2.4 算符优先分析中的出错处理第6章 属性文法和语法制导翻译(一)基本要求 了解:基于属性文法的翻译模式设计方法;熟悉:基于属性文法的处理方法;掌握:基于属性文法的综合属性、继承属性的计算方法;(二)教学及考核内容6.1 属性文法6.1.1 综合属性6.1.2 继承属性6.1.3 语义规则6.2 基于属性文法的处理方法6.2.1 依赖性6.2.2 树遍历的属性计
6、算方法6.2.3 一遍扫描的语法制导翻译6.3 S-属性文法的自下而上计算6.4 L-属性文法和自顶向下翻译6.4.1 翻译模式6.4.2 自顶向下翻译6.4.3 递归下降翻译器设计6.5 自下而上计算继承属性第7章 语义分析及中间代码产生(一)基本要求 了解: DAG图、三地址代码的存储形式;熟悉:三地址中间语言的语法;掌握:说明语句、赋值语句的翻译、布尔表达式的翻译、控制语句的翻译等语句的中间代码生成方法。(二)教学及考核内容7.1 中间语言7.2 说明的处理7.3 赋值语句的翻译7.4 布尔表达式的翻译7.5 控制语句的翻译7.6 过程调用的处理第10章 优 化(一)基本要求 了解:基本
7、块及其DAG表示熟悉:循环优化掌握:局部优化(二)教学及考核内容10.1 局部优化10.1.1 概述10.1.2 基于基本块的局部优化10.2 循环优化三、本课程与其它相关课程的联系与分工 先修课程:程序设计语言Pascal、C语言、汇编语言、数据结构、离散数学。后续课程:形式语言与自动机、软件工程。四、课程各教学环节和各篇章(节)学时分配 编译原理是一门理论性和实践性都很强的课程,实践性教学环节对该课程尤为重要。本大纲要求理论授课与学生实验实习时间达到2:1左右。通过词法分析、语法分析两个实验,使同学从局部到整体、从理论到实际初步掌握编译原理及编译方法,并在编程方法与技巧上得到较为高一级的锻
8、炼。学时分配 :总学时为64学时,其中讲授48学时,上机16学时。章 节内 容总课时讲授课时实验课时第1章引 论22第2章高级程序语言及其语法描述22第3章词法分析18108第4章语法分析-自上而下分析88第5章语法分析-自下而上分析1688第6章属性文法和语法制导翻译88第7章语义分析及中间代码产生88第10章优 化22合 计644816五、本课程采用的教学方法和教学手段为使学生更好地理解和掌握教学内容,每章都会有13道的习题,并通过一定的课外机时,加强对编译原理及编译方法的理解和编程方法与技巧的调试练习。 以讲授为主,适当配合使用投影仪来提高讲学效果。为了对此课程有更进一步了解,应加强实践性环节,保证学生的实验学时和一定量的机器。六、教材及教学参考资料 教材: 陈火旺等,程序设计语言编详译原理,国防工业出版社,北京 参考书: 吕映芝等3人,编译原理,清华大学出版社,北京 杜淑敏等3人,编译程序设计原理,北京大学出版社,北京七、本课程的考核方法及成绩评定标准 考核方式:采用平时实践期末考试成绩综合加权计分的办法。 考核内容:平时作业完成情况与期中考试占 10% 实验作业完成情况占 20% 期末考试成绩 占 70%平时作业和实验均不及格者不得参加期末考试。八、其它问题的说明无大纲撰写人:赵会群大纲审阅人:谭熹微系负责人 :李也白学院负责人:王景中制定(修订)日期:2007年5月