《编译原理》课程教学大纲_第1页
《编译原理》课程教学大纲_第2页
《编译原理》课程教学大纲_第3页
《编译原理》课程教学大纲_第4页
全文预览已结束

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、编译原理课程教学大纲课程编号:08130725课程名称:编译原理英文名称:Compiler Construction Principles课程类型:学科基础课课程要求:必修学时/学分:32/2 (讲课学时:28 实验学时:4)适用专业:计算机科学与技术一、课程性质与任务“编译原理”是计算机科学与技术专业必修的学科基础课,主要研究编译软件构造的一般原理、基本设计方法和主要实现技术,蕴含了计算机学科中解决问题的思路和方法,对理解计算机工作原理和提高学生应用软件、系统软件的设计与开发能力具有重要作用。课程的任务是使学生理解编译过程中的基本概念和原理,了解本领域的重要成果,掌握基本的编译规则,系统了解

2、编译软件开发的相关理论和编译软件的构造方法,设计和实现小型词法分析、语法分析程序,并将编译方法、技术和思想应用于其它相关软件设计。二、课程与其他课程的联系先修课程:计算基础、C语言程序设计、数据结构与算法等。后续课程:嵌入式系统、智能硬件终端应用开发技术。先修课提供了对计算机软、硬件系统的基本认知和操作能力,包括软件设计能力,同时,也奠定了较好的分析问题、逻辑推理等能力,以及直接在本课程中使用的重要数据结构和算法基础;本课程为后续课程中交叉编译、跨平台应用和系统软件开发等提供理论和技术支持。三、课程教学目标1. 熟悉编译理论的基本概念、编译程序构造的一般过程及开发编译程序要注意的问题,能对编译

3、过程进行合理分解。(支撑毕业能力要求2,6)2. 具备文法和语言的基本知识,能理解编译理论的核心内容,运用并解释有关形式语言理论的基本概念,具备用形式化方法解决语言问题的思路,能针对常见问题设计解决方案。(支撑毕业能力要求2,3,4)3. 了解词法分析和语法分析方法,并能用程序实现基本的词法分析和语法分析任务;熟悉并能正确运用正规表达式;能解释有限自动机的基本原理。(支撑毕业能力要求1,3,4,5,12)4. 了解语法制导翻译、中间代码生成及优化方法,了解符号表的组织以及目标代码生成基本知识,能够准确描述代码优化方法,能够写出表达式的中间代码形式。(支撑毕业能力要求力3)四、教学内容、基本要求

4、与学时分配序号教学内容教学要求学时教学方式对应课程教学目标1 一、编译概述1翻译程序和编译程序2编译过程和编译程序基本结构3编译程序的生成方法4编译技术在软件开发中的应用1. 能够准确描述编译理论基本概念2.能阐述编译基本过程2 讲授1 2 二、文法和语言的基本知识1概述2字母表和符号串的基本概念3文法和语言的形式定义4短语、直接短语和句柄5语法树和文法的二义性6文法和语言的分类1. 了解文法和语言的基本知识,能够由简单文法推导出对应的语言2. 能够给出语法树和短语、句柄等的对应关系3. 能够准确说明文法的二义性6 讲授讨论23三、词法分析与有限自动机1词法分析程序的功能2单词符号与单词的输出

5、形式3正规表达式4正规式与有限自动机5词法分析程序的编写方法1. 了解正则表达式和有限自动机的相关理论2. 能够根据正规式设计有限状态自动机,能够实现确定有限状态自动机的化简3.能够根据有限状态自动机设计词法分析程序6讲授讨论34实验1:词法分析1.掌握词法分析软件编写方法2.实现简单词法分析程序2实验35四、语法分析1语法分析程序的功能2自上而下分析方法3自下而上分析方法的一般原理1. 了解语法分析的基本概念和基本技术2. 会采用LL(1)分析方法进行语法分析3. 了解递归下降法和LR分析法,能够采用递归下降法设计语法分析程序6讲授讨论自学36实验2:语法分析1.了解语法分析软件编写方法2.

6、能够采用递归下降方法编写基本语法分析程序2实验37五、语法制导翻译技术和中间代码生成1属性文法2中间语言3自下而上语法制导翻译1. 了解属性文法2. 能够写出表达式的逆波兰、四元式等中间语言代码形式3. 能够描述用语法制导方法生成中间代码的方法2讲授48六、符号表的组织与管理1符号表的作用2符号表的组织和符号表处理的任务1. 了解符号表的结构,能够举例说明2. 能够阐述符号表处理的任务2讲授49七、中间代码优化1代码优化概述2局部优化3循环优化1. 能够准确描述代码优化方法2. 能够对简单代码画出流图3. 能够对比局部优化和循环优化差异2讲授410八、目标代码生成1目标代码形式2简单代码生成器

7、3编译技术最新进展1. 了解目标代码形式2. 能够通过查找资料总结编译技术进展2讲授自学1、4五、其他教学环节(课外教学环节、要求、目标)大作业+上机:(课外5学时)1. 文法和语言的基本知识:能够由文法得到语法树,能够给出直接短语和句柄等概念与语法树元素的对应关系;能进行规范推导及消除文法的直接左递归。2. DFA构造方法与词法分析了解词法分析过程与方法,能由正规式构造DFA。3. 语法分析了解LL(1)语法分析过程与方法,会求SELECT集,了解递归下降语法分析程序的实现方法,能够通过收集资料、阅读文献针对简化的编程语言编写基本递归下降分析程序。六、教学方法在课堂教学中,通过讲授、提问、讨

8、论、演示等教学方法和手段让学生理解编译理论的基本概念,了解及掌握编译过程和主要编译技术,培养学生分析研究问题能力;通过具体案例讲授词法分析和语法分析程序编写方法,提高实践技能。在自学教学环节中,对课程中某些有助于进一步拓宽编译技术相关知识的内容,通过教师的指导,由学生通过查找资料、分析研究目前的技术自学完成。这些内容包括文法和语言的互相推导,LL(K)分析,LR分析,编译技术最新进展等。通过自学这一教学手段培养学生的自主学习能力,通过自查资料拓展知识培养终身学习能力。通过实验使学生了解编译程序的具体实现,培养工程能力,在实践过程中培养分析问题和设计、开发解决方案能力。七、考核及成绩评定方式本课

9、程的成绩由过程考核成绩和期末考试成绩组成,过程考核成绩占40%,期末考试成绩占60%。过程考核成绩由课堂表现、上机实践、平时作业及测验成绩组成。各环节所占比例、考核的主要内容、时间、评分标准如下:课堂表现及上机实践:25%。主要考核对每堂课听课状态、对知识点的理解和掌握程度以及实践应用能力。平时作业及测验成绩:15%。主要考核阶段知识点的掌握程度。平时测验及作业可分多次完成,时间节点设置在重要章节的学习结束,每次测验的时间为一学时,在课堂上独立完成,作业耗时基本与此相当,由教师给出成绩并计入总分。期末考试成绩:60%。主要考核对编译原理基本概念、编译技术主要方法及实现过程的掌握程度以及分析解决问题能力。书面考试形式。题型包括填空、名词解释、问答、综合分析与推导等。八、教材及参考书目1教材:1 刘铭编译原理(第3版)电子工业出版社,20132参考书目:1 HYPERLINK /writer/%e7%8e%8b%e7%94%9f%e5%8e%9f%e8%91%a3%e6%b8%8a%e5%bc%a0%e7%b4%a0%e7%90%b4_1.html t _blank 王生原,董渊,张素琴等编译原理(第3版)清华大学出版社,20152 HYPERLINK /writer/Alfred%20V.Aho_1.html t _blank

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论