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

下载本文档

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

文档简介

PAGEPAGE5《编译原理》课程简介课程编号:07024008课程名称:编译原理/CompilingPrinciple学分:3.5学时:56(课内实验(践):0上机:12课外实践:0)适用专业:计算机科学与技术、软件工程建议修读学期:6开课单位:计算机学院计算机科学与技术及软件工程系先修课程:离散数学、C语言程序设计、数据结构考核方式与成绩评定标准:考核采取百分制。成绩组成:考试成绩70%+平时成绩30%教材与主要参考书目:教材:《编译原理》张素琴等编清华大学出版社,2005年参考书目:[1]《编译原理》赵建华等译机械工业出版社,2015年[2]《编译原理实践与指导教程》许畅等编机械工业出版社,2015年内容概述:中文《编译原理》是计算机科学与技术专业和软件工程专业的专业基础课程。本课程介绍了程序设计语言的编译程序构造的一般原理,基本设计方法,主要实现技术。介绍了一些可以用于编译器构建的广泛适用于各种语言和机器的基本思路及相关的算法。除了用于编写编译器,有关的原理与技术还可以被计算机科学家用于其他许多相关领域。本课程虽然不针对具体的编程语言,却对学生理解编程语言计算机的运行过程有较大的帮助。有助于学生提高编程能力和水平。这对面向高级软件开发和新的语言设计方向的毕业生会有很大的帮助。对他们毕业设计任务的完成也会有非常大的帮助。英文:《CompilingPriciple》isthebasiclessonforcomputerscienceandtechnologystudents.Thisbookintroducestheprimaryprinciples,basicmethodsandrealizingtechnicalsforsoftwarecompiling.Itintroducesafewbasicideascanbeusedtoconstructtranslatorsforawidevarietyoflanguagesandmachines.Besidescompilers,theprinciplesandtechniquesforcompilerdesignareapplicabletosomanyotherdomainsthattheyarelikelytobereusedmanytimesinthecareerofacomputerscientist.Thoughitdoesn’tdealwiththisorthatprogramminglanguage,itmakesitpossibleforthestudentstounderstandhowprogramminglanguagerunsonacomputerbetterly,andtoimprovetheirabilitytowriteprograms.Thisishelpfulforgraduatestoadvanceprogrammingandlanguagedesign.Itisalsohelpfulforthemtocomplishtheirpapersforgraduationsuccessfully.《编译原理》教学大纲课程编号:07024008课程名称:编译原理/CompilingPrinciple学分:3.5学时:56(实验:上机:12课外实践:)适用专业:计算机科学与技术/软件工程建议修读学期:6开课单位:计算机科学与技术/软件工程先修课程:离散数学、C语言程序设计、数据结构一、课程性质、目的与任务《编译原理》是计算机科学与技术专业和软件工程专业的专业基础课程。本课程介绍了程序设计语言的编译程序构造的一般原理,基本设计方法,主要实现技术。介绍了一些可以用于编译器构建的广泛适用于各种语言和机器的基本思路及相关的算法。除了用于编写编译器,有关的原理与技术还可以被计算机科学家用于其他许多相关领域。本课程不针对具体的编程语言,引导学生完成指定程序语言前端编译器构造,着重于学生系统能力的培养,有助于学生编程能力和水平的提高,为计算机专业方向的毕业生从事面向高级软件开发和新语言设计工作提供重要的理论与技术支撑。本课程重点支持以下毕业要求指标点:毕业要求2问题分析:具有复杂计算机工程问题的分析、设计和原型验证能力。毕业要求4研究:学生在四年的本科学习过程中应该掌握以语言编译为中心的相关计算机专业的知识和技术。毕业要求5使用现代工具:通过选择合适的工具和方法进行软件开发,提高开发效率。毕业要求9个人与团队:能够通过分工合作方式完成复杂大型任务,清晰表达自己的想法并与相关人员取得良好的沟通。毕业要求12终生学习:能够通过对复杂工程问题的分解、处理过程,学习并掌握一般性问题的解决方法。二、教学内容、基本要求及学时分配(按章节列出内容要求学时等,实验上机项目要列在课程内容一栏)本课程总学时数为56学时,其中理论教学为44学时,上机教学为12学时;课程教学共有8章,具体内容及学时安排等如下表所示:课程内容教学要求重点(☆)难点(Δ)学时安排实验学时上机学时备注第一章编译程序概述C2第三章词法分析443.1词法分析程序的设计C3.2单词的描述工具C3.3自动机B☆3.4正规式和自动机的等价性B3.5正规文法和自动机的转换CΔ第二章文法和语言52.1文法的直观概念C2.2符号和符号串C2.3文法和语言的形式定义A☆2.4文法的类型B2.5上下无关文法及语法树A☆2.6句型的分析A☆Δ第四章自上而下语法分析方法,74.1确定的自上而下分析思想A4.2LL(1)文法的判别A☆Δ4.3某些非LL(1)文法到LL(1)文法的变换B4.4不确定的自上而下分析思想C4.5确定的自上而下分析方法A第五章自底向上优先分析法85.3算符优先分析法A☆Δ第六章LR分析法1046.1LR分析法概述C6.2LR(0)分析法A☆Δ6.3SLR(1)分析法A☆Δ6.4LR(1)分析法B☆Δ6.5LALR(1)分析法C第七章语法制导翻译和中间代码生成47.1基于属性文法的语义计算B☆Δ7.2基于翻译模式的语义计算C第八章静态语义分析和中间代码生成448.1符号表C8.2静态语义分析C8.3中间代码的形式B☆Δ(教学基本要求:A-熟练掌握;B-掌握;C-了解)三、建议实验(上机)项目及学时分配序号实验内容实验基本要求课内学时课外学时1词法分析使用词法分析工具GNUFlex对简化C语言书写的源代码进行词法分析442语法分析使用语法分析工具GNUBison对简化C语言书写的源代码进行语法分析463语义分析与类型检查对简化C语言书写的源代码进行语义分析并能够检查指定类型的错误。46小结1216四、教学方法与教学手段1.教学方法:在重视课堂讲授的同时,加强实务操作的教学,培养学生的实际应用能力及实践能力。在课堂教学中采用启发式、讨论式、参与式等教学方法,提高教学质量,调动学生的积极性,使课堂教学效果提高,培养学生的学习兴趣,促进教学相长。2.教学手段:利用现代手段提高课堂教学水平,采取讲练结合,结合答疑、作业批改,理论与实验结合的方式,利用多媒体、CAI课件等现代教学手段,提高教学质量和效果五、考核方式与成绩评定标准考核采取百分制。期末闭卷考试。成绩组成:考试成绩占70%,平时成绩占30%。平时成绩考核采用出勤、作业、实验相结合的方式,如果课内三次无故缺勤或上机实验没有通过,无考试资格;期终考试试卷对应该课程支撑毕业要求指标点的情况如下表所示:课程支撑毕业要求指标点建议在试卷中的相应分数毕业要求250~65毕业要求440~50六、教材与主要参考书目教材:《编译原理》张素琴等编清华大学出版社,2005年参考书目:[1]《编译原理》赵建华等译机械工业出版社,2015年[2]《编译原理实践与指导教程》许畅等编机

温馨提示

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

评论

0/150

提交评论