欢迎来到三一办公! | 帮助中心 三一办公31ppt.com(应用文档模板下载平台)
三一办公
全部分类
  • 办公文档>
  • PPT模板>
  • 建筑/施工/环境>
  • 毕业设计>
  • 工程图纸>
  • 教育教学>
  • 素材源码>
  • 生活休闲>
  • 临时分类>
  • ImageVerifierCode 换一换
    首页 三一办公 > 资源分类 > PPT文档下载  

    编译原理和技术1.ppt

    • 资源ID:4526665       资源大小:382.51KB        全文页数:27页
    • 资源格式: PPT        下载积分:5金币
    快捷下载 游客一键下载
    会员登录下载
    三方登录下载: 微信开放平台登录 QQ登录  
    下载资源需要5金币
    邮箱/手机:
    温馨提示:
    用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)
    支付方式: 支付宝    微信支付   
    验证码:   换一换

    加入VIP免费专享
     
    账号:
    密码:
    验证码:   换一换
      忘记密码?
        
    友情提示
    2、PDF文件下载后,可能会被浏览器默认打开,此种情况可以点击浏览器菜单,保存网页到桌面,就可以正常下载了。
    3、本站不支持迅雷下载,请使用电脑自带的IE浏览器,或者360浏览器、谷歌浏览器下载即可。
    4、本站资源下载后的文档和图纸-无水印,预览文档经过压缩,下载后原文更清晰。
    5、试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。

    编译原理和技术1.ppt

    编译原理和技术,课 程 简 介,课程内容介绍编译器构造的一般原理和基本实现方法包括的理论知识:形式语言和自动机理论、语法制导的定义和属性文法、类型论、程序分析原理等强调形式描述技术和自动生成技术强调对编译原理和技术的宏观理解,不把注意力分散到枝节算法,不偏向于任何源语言或目标机器,课 程 简 介,学习意义对编程语言的设计和实现有深刻的理解,对和编程语言有关的理论有所了解,对宏观上把握编程语言来说,起一个奠基的作用从软件工程看,编译器是一个很好的实例,所介绍的概念和技术能应用到一般的软件设计之中编译技术的应用和编译技术的发展高级语言设计、计算机系统结构的优化(并行、内存分层)、新型计算机系统结构设计、程序翻译、提高软件开发效率的工具、高可信软件,课 程 简 介,教材和参考书陈意云、张昱,编译原理,高等教育出版社,2008张昱、陈意云,编译原理实验教程,高等教育出版社,2009A.V.Aho,M.S.Lam,R.Sethi,and J.D.Ullman,Compilers:Principles,Techniques,and Tools,2nd edition,Addison-Wesley,2007 陈意云、张昱,编译原理习题精选与解析,高等教育出版社,2005 教学资源网页:http:/http:/,课 程 简 介,课程要求质量上的目标:师生共同努力,达国内最好水平讲课进展较快,平时不复习并加深理解,后面将听不懂作业:少而精,周一课间交作业课程设计:自己动手,丰产丰收考试:开卷,灵活运用知识学期总评=考试成绩占50%,作业占10%,课程设计40%上课、设计、考试时间大体安排,课 程 简 介,课程设计要求内容:两人合作构造一个简单语言的编译器目标:巩固对理论和技术的理解,提高程序设计能力技术准备:面向对象编程、Java及编程环境、Linux用户界面、x86汇编语言或MIPS汇编语言考查与评分:对截止时间前提交的程序,通过测试和答辩进行公开评分前三年课程设计的经验和教训对该课程设计的综合性认识不足对考查的“动真格”认识不足,对 课 程 的 评 论,本校少年班1994级一个同学,Stanford大学博士(1999年)Actually I think the quality of the compiler course in USTC is really very good and can be compared with any universities here.本系某考研同学(2006年)感觉您出的题目很有创意,也很有深度,没有局限于固定的算法和题型,只看课本和复习往年的题目而不深入思考的人是做不出来的,能够真正从本质上考察一个考生的水平,对 课 程 的 评 论,西南科技大学某考研学生(2004年)看过你编的书后,感觉编译的原理可以一下子和我平常学的很多学科和语言都联系起来了,可以学到很多可以实际用到的东西,虽然是在讲同样的东西,但您的教学方式让我很适应,学起来也很有兴趣,大大减轻了我考研的疲劳感,第一章 引 论,名词解释 翻译器(translator)、编译器(compiler)解释器(interpreter)编译器从逻辑上可以分成若干个阶段每个阶段把源程序从一种表示变换成另一种表示本章通过描述编译器的各个阶段来介绍编译这个课题,1.1 编译器概述,1.1 编译器概述,1.1 编译器概述,表达式的语法特征任何一个标识符都是表达式任何一个数都是表达式如果e1和e2都是表达式,那么 e1+e2 e1*e2(e1)也都是表达式,initial+rate*60的分析树,语法树,1.1 编译器概述,1.1 编译器概述,1.1 编译器概述,1.1 编译器概述,1.1 编译器概述,1.1 编译器概述,解释器和编译器的区别,解释器不生成目标代码,而是直接执行源程序所指定的运算,解释器也需要对源程序进行词法,语法和语义分析,中间代码生成,1.1 编译器概述,BASIC年代的解释器功能:它将高级语言的源程序翻译成一种中间语言程序,然后对中间语言程序进行解释执行在那个年代,编译和解释两个功能是合在一个程序中,该程序被称为解释器Java年代的解释器解释器的上述两个功能分在两个程序中前一个叫做编译器,它把源程序翻译成一种叫做字节码的中间语言程序后一个叫做解释器,它对字节码程序进行解释执行,1.1 编译器概述,阶段分组前端后端,1.1 编译器概述,阶段分组遍,1.2 编译器技术的应用,高级语言的实现高级编程语言易于编程,但程序运行较慢低级语言编程时可实施更有效的控制方式,得到更有效的代码,但难编写、易出错、难维护流行编程语言的大多数演变都是朝着提高抽象级别的方向每一轮编程语言新特征的出现都刺激编译器优化的新研究,1.2 编译器技术的应用,高级语言的实现每一轮编程语言新特征的出现都刺激编译器优化的新研究支持用户定义的聚合数据类型和高级控制流,如数组和记录、循环和过程调用:C、Fortran面向对象的主要概念是数据抽象和性质继承,使得程序更加模块化并易于维护:Smalltalk、C+、C#、Java类型安全的语言:Java没有指针,也不允许指针算术。它用无用单元收集机制来自动地释放那些不再使用的变量占据的内存Java设计来支持代码移植和代码移动,1.2 编译器技术的应用,针对计算机体系结构的优化计算机体系结构的迅速演化引起对新的编译器技术一种不知足的需要并行化 编译器重新整理指令,使得指令级并行更有效 编译器从传统的串行程序自动生成并行代码,使之运行于多处理器上内存分层 编译器优化历来集中在优化处理器的执行上,但是现在更强调要使内存分层更有效,1.2 编译器技术的应用,新计算机体系结构的设计现在计算机系统的性能不仅仅取决于它的原始速度,还取决于编译器是否能生成充分利用其特征的代码在现代计算机体系结构的研究中,在处理器的设计阶段就开发编译器,并将编译生成的代码在模拟器上运行,以评价拟采用体系结构的特征编译器技术影响计算机体系结构设计的一个著名例子是精简指令集计算机(RISC)的发明,1.2 编译器技术的应用,程序翻译二进制翻译 编译器技术可用于把一种机器的二进制代码翻译成另一种机器的代码,以运行原先为别的指令集编译的代码数据库查询解释器 数据库查询由一些谓词组成,这些谓词由包含关系运算的布尔表达式组成,可以被解释执行,也可以被编译成搜索数据库的命令,1.2 编译器技术的应用,提高软件开发效率的工具源于编译器中代码优化技术的程序分析一直在改进软件开发效率类型检查 类型检查是一种捕捉程序中前后不一致的成熟而有效的技术边界检查 数据流分析技术可用来定位缓冲区溢出内存管理 自动的内存管理删除内存泄漏等内存管理错误,

    注意事项

    本文(编译原理和技术1.ppt)为本站会员(文库蛋蛋多)主动上传,三一办公仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知三一办公(点击联系客服),我们立即给予删除!

    温馨提示:如果因为网速或其他原因下载失败请重新下载,重复下载不扣分。




    备案号:宁ICP备20000045号-2

    经营许可证:宁B2-20210002

    宁公网安备 64010402000987号

    三一办公
    收起
    展开