《编译原理》课程教学大纲_第1页
《编译原理》课程教学大纲_第2页
《编译原理》课程教学大纲_第3页
《编译原理》课程教学大纲_第4页
《编译原理》课程教学大纲_第5页
已阅读5页,还剩11页未读 继续免费阅读

下载本文档

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

文档简介

《编译原理》课程教学大纲一、课程基本信息课程名称(中文)编译原理课程名称(英文)CompilerPrinciples课程类别I专业主干课课程性质2必修授课语言3中文授课学期5学分3课程学时及分配总学时讲课实验课外484080适用专业计算机科学与技术教材编译原理(本科教学版)(第2版),机械工业出版社,[美]阿霍等著,赵建华等译,2017年1月第1版授课学院计算机与软件学院先修课程程序设计基础、离散数学、数据结构、计算机组成原理后续课程无课程简介课程基本定位:《编译原理》是计算机科学与技术专业的一门理论性与实践性很强的专业课,以离散数学、高级语言程序设计、数据结构、计算机组成原理等作为先修课程。《编译原理》课程蕴涵着复杂问题的抽象能力、解决问题的分析思路和方法等分析问题能力的培养。课程从计算机科学中形式语言与自动机的基本理论出发,全面系统地介绍编译系统程序的主要功能、设计原理和构造方法,重点解决高级程序设计语言翻译器时遇到的普遍问题,而不偏向于某种源语言或目标机器。本课程讨论的概念和技术也可应用于一般的软件设计之中。核心学习结果:通过本课程的学习,学生应该掌握程序设计语言翻译过程的基本原理、方法、技术,为学生毕业后从事复杂软件设计及计算机科学研究等相关工作培养理论学习基础以及实践技能的训练。学习课程有利于对程序设计语言的理解,可以便于掌握新的语言工具。同时,能够利用形式化描述工具,表示复杂问题及求解过程。主要教学方法:课堂讲授+课程实验大纲更新时间2020年8月13日注:1.课程类别:选填“通识核心课/通识拓展课/通修课/学科基础课/专业主干课/专业选修课/专业实践/素质拓展”2.课程性质:选填“选修/必修”3.授课语言:选填“中文/双语/全英文或其他语种”二、课程目标.学生学习预期成果:描述学生在学完本节内容后应获得的知识、能力或素养水平(下同).教学方式:包括讲授、讨论、案例、演示等,但不限于所列,根据课程实际需要列举U!实践(实验或实习)教学U!实践(实验或实习)教学I编号实验或实习工程名称教学内容学时实验或实习类型2思政融入点学生学习预期成果课程目标1词法分析程序的实现编程实现词法分析过程:1)按规那么拼单词,并转换成二元式形式2)删除注释行3)删除多余的空格、回车符、制表符4)列表打印源程序,按照源程序的行打印,在每行的前面加上行号,并且打印出每行包含的记号的二元形式,填写并生成符号表5)发现并定位错误4设计型1)理解应用DFA表示图级语言源程序的单词构成;2)深刻领会状态转换图的含义,逐步理解有限自动机;3)掌握手工生成词法分析器的方法,了解词法分析器的内部工作原理。课程目标1,2素养:科学素质、团队合作2语法分析程序的实现1)设计合适的文法的规那么存储结构;2)利用语法分析程序模拟文法的推导句子的基本过程。4设计型1)理解高级语言语法的表小工具一上下文无关文法;2)深刻领会规那么的含义,并能够利用递归程序或者其他相关算法模拟推导/规约的过程;3)掌握手工生成语法分析器的方法,了解语法分课程目标1,2素养:科学素质、团队合作

注:1.此表可用于课内实践教学环节或某门综合实践课程析器的内部工作原理。2.实验类型:选填”验证性/综合性/设计性”;实习类型:选填“认识实习/生产实习/毕业实习”五、课程评价(一)考核内容、考核方式与课程目标对应关系课程目标考核内容课程目标在各考核方式中占比】平时作业实验期中考试期末考试1.1编译过程和编译程序的结构,文法的构造,非确定有限自动机确实定化和最小化,正规表达式与有限自动机的等价性,消除文法的左递归和回溯,算符优先分析表和优先函数的构造,属性的计算,翻译模式的构造,说明语句、赋值语句、布尔表达式和控制语句等的翻译,名字的作用范围和运行时存储空间的分配,基于DAG的局部优化和循环优化等。50%40%60%60%1.2编译过程中用到的经典算法,如子集构造法、递归和非递归的预测分析法、LR语法分析算法等。熟练应用这些方法进行语法分析和推导。50%60%40%40%合计100%100%100%100%各考核方式占总成绩权重(自行赋值)10%10%20%60%注:1.课程目标在考核方式及占比:主要根据课程目标自行设计和制定多元化考核方式,表中所列仅为参考(红色数据可删除)。但所列考核方式必须覆盖全体学生,可根据当学期具体教学情况酌情调整。2.各考核方式占总成绩权重:根据课程实际情况对各考核方式占总成绩的权重予以赋值。(二)考核方式评分标准1.课程作业评分标准

课程目标评分标准占比90-100(优)80-89(良)70-79(中)60-69(及格)0-59(不及格)1.1正确完成较好地完成完成了大部完成了大仅完成小50%基本上所大局部习题分习题和实局部习题局部习题有习题和和实验。验、有一些和实验、有和实验、并实验。明显的错漏较多明显有很多明的错漏显的错漏1.2正确运用能正确运用能运用所学能运用所无法或很50%所学算法所学的大部大局部的算学算法进少量可以进行文法分算法进行法进行文法行少局部运用所学分析文法分析分析,有一的文法分算法进行些错误析,有较多明显的错误文法分析2.期中/期末考试评分标准(笔试类评分标准可在大纲中按以下格式予以说明,也可在通过“试卷分析表”予以说明)课程目标评分标准占比90-100(优)80-89(良)70-79(中)60-69(及格)0-59(不及格)1.1掌握所有较好地掌握局部掌握基对重要知仅掌握了60%基本概念基本概念和本概念和知识点未完很少量的和知识点、知识点、基识点、大致全理解、基基本概念理解其含本理解其含理解其含本概念不和知识点、义义、略有出।义、有一些清解题思路错明显的错漏混乱1.2能够针对能够针对大能够针对基能够针对无法针对40%不同文法,局部文法,本的一些文较少量文不同的文熟练运用正确运用编法,正确运法,运用编法,选择合编译器的译器的不同用编译器的译器的少适的编译不同算法算法对其进不同算法对数算法对器算法对对其进行行分析其进行分析其进行分其进行分分析析,有少数错误析注:考核方式和课程目标在考核方式中占比应与“(一)考核内容、考核方式与课程目标对应关系”一致。所列考核环节,除了笔试类均须依次给出评分标准,格式同上。笔试类课程考核评分标准可以在本课程大纲里进行说明,也可以通过提交“试卷分析表”予以说明。五、参考书目及学习资料.[美]安佩尔,现代编译原理:c语言描述,人民邮电出版社,2006.劳顿著,冯博琴等译,编译原理及实践,机械工业出版社,2004.[美]KennethC.Louden,编译原理与实践,机械工业出版社,2002

注:1.支撑毕业要求指标点:选填项。需要进行专业认证,有毕业要求指标点可参照的课程必填,无明确序号课程目标(参考培养目标、毕业要求、课程定位)支撑毕业要求指标点1达成途径1.1了解机器是如何理解不同语言的代码,了解编译过程和工作原理,了解编译过程中用到的正那么表达式、有穷自动机、语法分析树、词法语法分析方法等基本概念和技术,了解基于DAG的局部优化和循环优化等编译器的优化策略等。培养学生解决问题时的逻辑思维和推理能力;毕业指标点1.1:掌握数学与自然科学的基本概念、基本理论和基本技能,领会数学、物理思想方法,培养逻辑思维和逻辑推理能力;课后作业、考试1.2让作为计算机专业的学生在今后编程时,更加清楚编译的底层逻辑,了解机器是如何巧妙地一步步理解你所写的代码,并最终将其转换成二进制码,通过机器进行执行,其中针对编译器设计提出的一些经典算法可以在将来应用到现代软件的设计当中,针对工程问题提出创新的解决方案。毕业要求指标点3.4在充分理解计算机软硬件及系统的基础上,能够设计针对计算机领域复杂工程问题的解决方案,设计或开发满足特定需求和约束条件的软硬件系统、模块或算法流程,能够进行模块和系统级优化;毕业要求指标点5.2在计算机领域复杂工程问题的建模、模拟或解决过程中,能够使用恰当的技术、软硬件及系统资源和研发工具,提高解决复杂工程问题的能力和效率。课后作业、实验课、考试毕业要求指标点可参照的可不填。三、理论教学内容

章标题教学内容学时思政融入点1学生学习预期成果2教学3课程目标第一章绪论1.编译的定义2,编译器的结构3.编译过程简介2与同学交流:这门课的学习不是一件容易的事情,但这门课却是计算机专业学生的特色,鼓励学生迎难而上,直面挑战。.了解编译程序的起源.程序设计语言的开展.理解编译程序和解释程序的区别.了解编译程序的基本工作过程.理解编译程序的基本结构.掌握编译程序各逻辑结构的主要功能讲授课程目标1素养:科学素质、社会责任第二章程序设计语言及其文法.语言及其文法基本概念.高级语言的一般特性.文法的分类和CFG分析树4.理解形式语言中语法的概念.了解语义的概念,了解高级语言的分类.了解高级语言的结构.理解上下文无关文法.理解语法分析树与二义性.理解形式语言的分类讲授、讨论课程目标1,2素养:科学素质第三章词法分析.词法分析器的功能和设计.正那么表达式和正那么定义.有穷自动机及其分6.了解词法分析器的功能和输出形式.理解词法分析器作为一个独立讲授、习题、实验课程目标1,2素养:科学素质子程序类、NFA到DFA的转子程序换、识别DFA.换、识别DFA图及实现.Lex工具的使用图及实现.理解单词符号的识别:超前搜索5.掌握正那么表达式与正那么定义.掌握确定有限自动机(DFA).掌握非确定有限自动机(NFA)8.掌握正那么文法与有限自动机的等价性.掌握正那么式与有限自动机的等价性.掌握确定有限自动机的化简.了解Lex工具的使用方法

第四章语法分析-自上而下分析.语法分析器的功能.自顶向下分析和LL(1)文法.递归预测分析法.非递归的预测分析法6和学生讨论运用辩证的思维解决问题,抓住问题的主要方面,忽略次要方面,学会抓重点来解决问题。.了解语法分析程序的功能.掌握自上而下分析面临的问题.掌握左递归的消除方法.掌握防止回溯、提左因子的方法.理解LL(1)文法的定义.理解递归下降分析程序的构造方法.理解预测分析程序工作过程.掌握First和Follow集的计算、预测分析表的构造.了解LL(1)分析中的错误处理10.理解词法分析器作为一个独立子程序讲授、习题、实验课程目标1,2素养:科学素质

第五章语法分析-自卜而上分析.自下而上分析基本问题.算符优先分析.LR分析法.语法分析器的自动产生工具Yacc8与学生交流探讨理论与实践的关系,理论可以指导实践,通过实践可以巩固理论知识。在遇到较难的问题面前,应该迎难而上,多思考想方法克服困难,做到不畏难。.掌握归约的方法.理解符号栈的使用与语法树的表示.掌握算符优先分析算法.了解优先函数.了解算符优先分析中的出错处理.理解LR分析器的工作方法.掌握LR(0)项目集族和LR(0)分析表的构造.掌握SLR分析表的构造.了解Yacc工具的使用讲授、习题、实验课程目标1,2素养:科学素质1.属性文法第六章语义分析、语法制导翻译及中间代码生成.翻译模式.语义处理.语法制导翻译.中间代码.简单赋值语句的翻译.数组的翻译.布尔表达式和控制结构的翻译.了解基于属性文法的处理方法.理解属性的依赖图和属性计算方法.了解S-属性文法的自下而上计算.了解L.属性文法和自顶向下翻译.理解自顶向下翻译及常见语言的翻译及中间代码表示.了解递归下降翻译器的设计理解符号栈的使用与语法树的表示.理解后缀式、图表示法、三地址代码的中间代码表示方法.掌握四元式的表示方法.理解说明语句的翻译方法.理解赋值语句的翻译.理解简单算术表达式及赋值语句.理解数组元素的引用.掌握控制结讲授、讨论、案例、习题课程目标1,2素养:科学素质构中的布尔式翻译14.理解简单控制语句的翻译

注:1.思政融入点:至少写3条,简述该课程教学中将思政教育内容与专业教育内容有机融合的知识点(下同)。第七章符号表的组织与管理1.理解符号表的构成0掌握符号表的构造与组织自学课程目标1,2素养:科学素质第八章运行时存储空间组织.目标程序运行时的活动.存储分

温馨提示

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

评论

0/150

提交评论