收藏 分享(赏)

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

上传人:wspkg9802 文档编号:7292847 上传时间:2019-05-13 格式:PPT 页数:31 大小:185.50KB
下载 相关 举报
01-第一章 编译程序概述.ppt_第1页
第1页 / 共31页
01-第一章 编译程序概述.ppt_第2页
第2页 / 共31页
01-第一章 编译程序概述.ppt_第3页
第3页 / 共31页
01-第一章 编译程序概述.ppt_第4页
第4页 / 共31页
01-第一章 编译程序概述.ppt_第5页
第5页 / 共31页
点击查看更多>>
资源描述

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营业执照举报