《编译原理课程研讨.ppt》由会员分享,可在线阅读,更多相关《编译原理课程研讨.ppt(34页珍藏版)》请在三一办公上搜索。
1、,编译原理课程研讨,()王生原 董渊 张素琴,课程教学小组成员,承担的课程,()形式语言及其与自动机的关系编译原理与技术编译原理专题实践软件工程,编译原理课程研讨题目,()课程定位(学生明确学习目标,教师明确功底要求)课程大纲编译原理讲稿第一章实验和实践,编译原理课程研讨,计算机专业主干课 编译程序/系统是计算机系统的核心支撑软件 贯穿程序语言、系统环境(平台)、体系结构 联系计算机科学和计算机系统的典范 专业工作者必备的基本技能 编译原理的知识影响到专业人员的素质 除编译程序外有大量专业工作与编译技术相关,课程性质与定位,编译原理课程研讨,教学目的要求,深入理解编译程序设计与实现的基本原理
2、灵活掌握常用语言机制的实现技术 经历开发一个小型编译程序的主要阶段 具有使用构造工具开发编译程序的经验 会将所学的通用方法和技术应用于类似 软件的设计和实现中,教学形式,课内学习和课外学习内容互补,编译原理课程研讨,原理+技术+工具,教学内容,课堂教学体现课程的知识体系,编译程序/系统概述 词法和语法分析基础 自顶向下语法分析 自底向上语法分析 语法制导的语义处理基础 符号表组织 静态语义分析 中间代码生成 运行时存储组织 目标代码生成 代码优化,编译原理课程研讨,方案1:全面剖析PL/0的结构和实现,系统讲解原理和方法方案2:按编译程序结构讲解 PL/0各部分为实例,补充其他重要原理和方法方
3、案3:全面剖析PL/0的结构和实现,补充其他重要原理和方法,编译原理课程研讨,教学内容,课堂教学体现课程的知识体系,编译程序/系统概述 词法和语法分析基础 自顶向下语法分析 自底向上语法分析 语法制导的语义处理基础 符号表组织 静态语义分析 中间代码生成 运行时存储组织 目标代码生成 代码优化,编译原理课程研讨,教学内容,课堂教学体现课程的知识体系,编译程序/系统概述 词法和语法分析基础 自顶向下语法分析 自底向上语法分析 语法制导的语义处理基础 符号表组织 静态语义分析 中间代码生成 运行时存储组织 目标代码生成 代码优化,基本概念 逻辑结构 组织方式 伙伴程序 生成环境 发展综述 PL/0
4、编译器 导读,编译原理课程研讨,教学内容,课堂教学体现课程的知识体系,编译程序/系统概述 词法和语法分析基础 自顶向下语法分析 自底向上语法分析 语法制导的语义处理基础 符号表组织 静态语义分析 中间代码生成 运行时存储组织 目标代码生成 代码优化,以形式语言、文法为基础的一般性方法与原理 词法分析器的构造,编译原理课程研讨,教学内容,课堂教学体现课程的知识体系,编译程序/系统概述 词法和语法分析基础 自顶向下语法分析 自底向上语法分析 语法制导的语义处理基础 符号表组织 静态语义分析 中间代码生成 运行时存储组织 目标代码生成 代码优化,以 LL(1)分析方法及实现技术为主线递归下降表驱动,
5、编译原理课程研讨,教学内容,课堂教学体现课程的知识体系,编译程序/系统概述 词法和语法分析基础 自顶向下语法分析 自底向上语法分析 语法制导的语义处理基础 符号表组织 静态语义分析 中间代码生成 运行时存储组织 目标代码生成 代码优化,以 LR 系列分析方法及实现技术为主线移进归约、分析表、LR(0)、SLR(0)、LR(1)、LALR(1)、强制二义性消除,编译原理课程研讨,教学内容,课堂教学体现课程的知识体系,编译程序/系统概述 词法和语法分析基础 自顶向下语法分析 自底向上语法分析 语法制导的语义处理基础 符号表组织 静态语义分析 中间代码生成 运行时存储组织 目标代码生成 代码优化,基
6、于属性文法和翻译模式进行语义处理的基本原理及实现技术,编译原理课程研讨,教学内容,课堂教学体现课程的知识体系,编译程序/系统概述 词法和语法分析基础 自顶向下语法分析 自底向上语法分析 语法制导的语义处理基础 符号表组织 静态语义分析 中间代码生成 运行时存储组织 目标代码生成 代码优化,强调作用域及其组织方式,编译原理课程研讨,教学内容,课堂教学体现课程的知识体系,编译程序/系统概述 词法和语法分析基础 自顶向下语法分析 自底向上语法分析 语法制导的语义处理基础 符号表组织 静态语义分析 中间代码生成 运行时存储组织 目标代码生成 代码优化,以静态类型检查程序为重点,编译原理课程研讨,教学内
7、容,课堂教学体现课程的知识体系,编译程序/系统概述 词法和语法分析基础 自顶向下语法分析 自底向上语法分析 语法制导的语义处理基础 符号表组织 静态语义分析 中间代码生成 运行时存储组织 目标代码生成 代码优化,以常用语言机制的实现技术为主线,编译原理课程研讨,教学内容,课堂教学体现课程的知识体系,编译程序/系统概述 词法和语法分析基础 自顶向下语法分析 自底向上语法分析 语法制导的语义处理基础 符号表组织 静态语义分析 中间代码生成 运行时存储组织 目标代码生成 代码优化,存储布局,存储分配策略,活动记录,过程实现,面向对象程序 存储组织,编译原理课程研讨,教学内容,课堂教学体现课程的知识体
8、系,编译程序/系统概述 词法和语法分析基础 自顶向下语法分析 自底向上语法分析 语法制导的语义处理基础 符号表组织 静态语义分析 中间代码生成 运行时存储组织 目标代码生成 代码优化,以简单但完整的指令选择、寄存器分配过程为主线,编译原理课程研讨,教学内容,课堂教学体现课程的知识体系,编译程序/系统概述 词法和语法分析基础 自顶向下语法分析 自底向上语法分析 语法制导的语义处理基础 符号表组织 静态语义分析 中间代码生成 运行时存储组织 目标代码生成 代码优化,以基本块内的简单优化方法、控制流数据流分析基础等代码生成和优化相关的基本知识为主线,辅以优化技术的综述】,编译原理课程研讨,实验和实践
9、,实验教学,实现一个简单的面向对象语言 一个强类型单继承面向对象语言 Decaf/Mind,读懂并改写一个小型编译程序 一个单遍的 PL/0 语言编译程序,编译原理课程研讨,实验教学手工编写或使用工具实现PL/0扩充编译器(见WORD文档-三种安排:MAO,GONG和YANG),编译原理课程研讨,实验教学,Phase 1 借助 Lex 和 Yacc 实现词法和语法分析 一遍扫描后产生一种高级中间表示(实验指定的抽象语法树)Phase 2 遍历抽象语法树构造符号表、实现静态语 义分析,产生带标注的抽象语法树Phase 3 从带标注的抽象语法树生成 TAC 中间表示(可转成MIPS 汇编码在SPI
10、M 模拟器上运行)Phase 4 基于 TAC 实现一些简单的数据流 分析,Decaf/Mind Project,编译原理课程研讨,编译原理专题实践,面向业界的实用技术,选做实际项目,编译原理课程研讨,GCC 分析 GNU 工具链(分析与使用)Open64 分析,其他专题,编译原理课程研讨,课程的主要目的:进一步掌握编译系统的基本原理;介绍软件从高级语言源代码到可执行代码的整个翻译过程和相关的开源工具使用,掌握基本工具;以GCC为例,剖析编译器整体框架和编译的一般流程和主要活动;通过对编译优化方法原理和实现技术的介绍,使学生可以有针对性地改善代码风格;通过对国际上流行的开源编译系统GCC的分析
11、和实验,达到能够独立分析和改进编译系统软件的水平,具有独立承担科研任务的能力。建立计算机系统的概念,覆盖多门课程交界的地方以GCC项目为例,熟悉自由软件开发方法和项目实例,编译原理课程研讨,内容安排:遵循科研工作的一般活动规律1)收集、查阅相关文献资料2)熟悉工具和工作对象3)提出问题、初步方案并进行可行性评估4)实际研究、开发,根据实际情况修改方案,不断推进5)测试和评估6)总结报告,编译原理专题实践特点,将程序语言编译原理和技术应用于实践,注重动手能力的培养,同学根据兴趣和精力提出自选实验题目来培养创新精神,编译原理课程研讨,操作系统 体系结构 程序设计语言 软件工程,注重多学科多课程内容
12、交叉,课程体系需要不断更新与完善,内容取材非常广泛,原理与方法 语言特征 高级话题,词法分析语法分析语义分析符号表中间表示运行时组织代码优化目标代码生成,面临挑战,内容取材非常广泛,原理与方法 语言特征 高级话题,a.传统的语言特征 b.特殊的语言特征 c.不同的语言范型:面向过程语言 面向对象语言 函数式语言 逻辑式语言 并发语言 面向侧面语言,课程体系需要不断更新与完善,面临挑战,内容取材非常广泛,原理与方法 语言特征 高级话题,优化方法专题高性能专题重定向专题陈述式语言专题面向对象语言专题编译基础设施专题基于语言的应用专题,课程体系需要不断更新与完善,面临挑战,追求目标,编译原理是计算机
13、系本科生的专业基础课程(必修),坚持不懈的建设(主讲教师和助教团队团结协作、认真负责)。课程建设的指导思想:(1)坚持知识体系的基础性,强调基本理论的深入理解和基本技能的优化培养;(2)其次是坚持知识体系的系统性,强调知识点的连贯性和完备性;(3)坚持知识体系的先进性,跟踪著名大学同类课程的发展变化,同时注重自主创新,开创教学与科研结合的新途径;(4)坚持知识体系的简明性,强调知识体系层次化、立体化,做到较高程度的可扩充性;(5)坚持精讲多练的原则,精化课堂教学,提高实验质量。一直将基础部分作为重点教学内容。在重视基础知识和技能的同时,本课程也在不断地更新教学内容,以保持其前沿性和时代性。近几
14、年的工作体现在:实验内容的主体从过程式源语言的实现过渡到了面向对象源语言的实现;加强了语义处理基础的讲解,增强了前后端知识的连贯性,并逐步增加后端构造技术所占的比例。,争取教学的特色,基础理论有系统性与形式语言与自动机课程密切联系;语法制导的语义处理基础部分自成体系;例子具有代表性,尽可能重用实验内容受到普遍欢迎 内容丰富、重点突出;各阶段相互关联、融为一体参与或尽量介入与编译技术相关项目,与世界著名公司Intel,HP和Freescale等的相关部门保持合作关系,开展工业级编译系统相关的研发项目。,教材,编译原理课程研讨,编译原理 张素琴 等,清华大学出版社,2005,Compilers:P
15、rinciples,Techniques,and Tools Alfred V.Aho,Ravi Sethi,Jeffrey D.Ullman,(1986),参考书目,编译原理课程研讨,Modern Compiler Implementation in CAndrew W.Appel,人民邮电出版社影印,2005 Programming Language PragmaticsMichaeil.Scott etc.,电子工业出版社中译本,2005,程序设计语言编译原理第3版 陈火旺 等 编著,国防工业出版社,2000 Advanced Compiler Design and Implementation Steven S.Muchnick,1997.Engineering a Compiler K.Cooper,L.Torczon,M.Kaufmann,2003 其他 蒋宗礼,杜淑敏,陈意云等教材,Thank You,Welcome for your suggestions,编译原理课程研讨,
链接地址:https://www.31ppt.com/p-6360348.html