ImageVerifierCode 换一换
格式:PPT , 页数:31 ,大小:185.50KB ,
资源ID:7292847      下载积分:10 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.docduoduo.com/d-7292847.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录   微博登录 

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(01-第一章 编译程序概述.ppt)为本站会员(wspkg9802)主动上传,道客多多仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知道客多多(发送邮件至docduoduo@163.com或直接QQ联系客服),我们立即给予删除!

01-第一章 编译程序概述.ppt

1、编译原理,信息工程系 王养廷,计算机学院,教学要求,1.上课时做笔记 2.每班选一位课代表 ,负责收作业,联系,准备记分册(标上班长、学委电话) 3.有问题及时向老师反馈 4.课堂纪律(上课不允许说话、上机不允许玩游戏,手机打成震动),辅导答疑,辅导答疑: 时间:每周周二11、12节,课前后 地点:博观楼209 可以另约时间答疑 联系方式: Tel:13833670916 Email: QQ:1458920766,个人建议,培养正思维 思维模式=行为模式=最终结果 目标为了个人进步 培养良好学习习惯 多讨论怎样做好,不讨论为什么没做好 树立目标 目标=价值 专业学习目标,主要内容,引入 编译程

2、序与解释程序 编译程序的功能分解与组织结构 编译程序的复杂性 编译程序的设计与实现 编译程序的测试与维护 几个经典的编译程序,1 引入,计算机科学与技术 编译原理课程 编译原理主要内容 选用教材 为什么要学习编译原理 需要注意的问题,1.1 计算机科学与技术,含义 科学:构成计算基础的基本概念和模型(又称为:形式理论) 技术:设计计算系统的工程和技术 形式理论 有限自动机、正则表达式、正则集合 上下文无关文法 下推机 图灵机 不可判定性 与编译原理的关系 形式理论是编译原理的理论基础 在后面我们要讲到前三个部分,1.2 编译原理课程,课程性质 专业课 前序课程 程序设计语言(Pascal、C等

3、) 程序设计 数据结构 操作系统,1.3编译原理主要内容,按照编译程序的主要组成部分进行介绍 词法分析 语法分析 语义分析 代码生成和优化 符号表和错误处理 一个编译程序实例 PL/0编译程序分析,1.4 选用教材,教材 金成植:编译程序设计原理 编译程序 构造原理 实现技术 特点 采用原理与实例相结合的方法进行介绍 兼顾原理和实现技术,1.5 为什么要学习编译原理,编译程序是一个大型综合、复杂的程序,通过该课程的学习了解一个大型软件的设计与实现 有助于理解现有的编译程序的实现方法 加深对程序设计语言的理解 提高调试程序能力 为进一步深造打下基础,1.6 需要注意的问题,对课程的难度应该有足够

4、的思想准备 注意平时的听课和积累 原理侧重理解 具体的算法和程序需要实际动手分析,2 编译程序与解释程序,语言与程序设计语言 程序设计语言主要内容 程序设计语言分类 编译原理基本概念 编译程序与解释程序的异同 使用解释程序的情况,2.1 语言与程序设计语言,语言 人们用来交流的工具 程序设计语言 人与计算机交流的工具 二者的区别 对象 二义性,2.2 程序设计语言主要内容,数据定义 字符集、常量、类型、变量、表达式 语句 顺序、分支和循环 函数 过程、函数、子程序 复杂数据类型 数组、记录、指针等等,2.3 程序设计语言的分类,按照层次 高级语言 低级语言 按照结构 过程式语言(C、Pasca

5、l) 函数式语言(LISP、ML) 逻辑式语言(Prolog) 对象式语言(SmallTalk 、Java 、C+),2.4 编译程序基本概念,源程序:用程序设计语言编制的程序 目标程序:与源程序功能等价的目标代码 编译程序:把源程序转换成目标程序的程序 解释程序:执行源程序得到执行结果的程序 汇编程序:把汇编源程序转换成目标程序的程序,2.5 编译程序与解释程序区别,源程序,数据,源程序,解释程序,计算结果,编译程序,目标程序,2.6 使用解释程序的情况,不追求执行速度 有些程序允许执行式改变自身 人机对话的交互语言 由解释程序到编译程序的自动生成系统,3 编译程序的功能分解与组织结构,功能

6、结构图 遍的概念 源程序的处理过程,3.1 功能结构图,3.1 功能结构图(续),编译程序的输入:源程序 编译程序的输出:目标程序 编译程序的功能模块 词法分析:把源程序变成单词串 语法分析:检察源程序是否符合语法结构 语义分析:标识符的含义是否正确 代码生成:生成目标代码,3.2 遍的概念,遍的概念 对源程序或与其等价的中间代码扫描一次 按遍划分 一遍 多遍 一遍特点 避免重复工作、速度快、代码质量不高 多遍特点 结构算法清晰、易于掌握、能够产生好的目标代码,3.3 源程序的处理过程,预处理器,编译程序,汇编程序,装配连接,扩展程序,源程序,目标汇编程序,可重定位机器代码,可执行机器码,可重

7、定位目标文件库,3.3 源程序的处理过程(续),实例 以DOS下的C语言处理过程为例 C是多遍编译 第一遍处理包含、宏等信息 以后各遍进行编译 过程 第一遍编译得到标准C程序 经过C编译器的到目标程序 经过连接得到可执行程序 装入DOS执行,4 编译程序复杂性,元程序 处理程序的程序 编译程序复杂性 元级程序 高级语言与低级语言差别大 编译程序要求高,5 编译程序的设计与实现,设计编译程序条件 精通源语言 精通目标语言 精通编译技术 编译程序的性能 可靠性、速度、目标代码速度、占用空间、可移植性、可维护性、可扩展性,5 编译程序的设计与实现(续),开发编译程序的途径 预处理法 移植法 直接移植

8、 交叉编译 自展法 工具法 例如:LEX、YACC 理论法,6 编译程序的测试和维护,编译程序测试 机械证明 测试 测试用例设计 编译程序维护 长期有效地改正发现的错误,7 几个经典的编译程序,Pascal编译程序 设计者:Wirth 使用技术:递归下降、一遍扫描、栈式抽象机 特点:产生P代码 C编译程序 设计者:D. M. Ritchie 使用技术:递归下降、二遍扫描、有可选的第三遍 特点:可移植性好 Fortran编译程序 设计者:Lowry和Medlock 使用技术:综合 特点:优化好,小结,内容 编译程序的基本概念和相关知识 编译程序的组成和复杂性 几个常见的编译程序 要求 掌握编译程序的组成和复杂性 预习标准的Pascal语言 预习Turbo Pascal开发环境 答疑时间 周二晚上 单独约时间,

本站链接:文库   一言   我酷   合作


客服QQ:2549714901微博号:道客多多官方知乎号:道客多多

经营许可证编号: 粤ICP备2021046453号世界地图

道客多多©版权所有2020-2025营业执照举报