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

  1. 1、本文档共100页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
编译原理 信息工程系 王养廷 教学要求 1.上课时做笔记 2.每班选一位课代表 ,负责收作业,联系,准备记分册(标上班长、学委电话) 3.有问题及时向老师反馈 4.课堂纪律(上课不允许说话、上机不允许玩游戏,手机打成震动) 辅导答疑 辅导答疑: 时间:每周周三11、12节,课前后 地点:博观楼209 可以另约时间答疑 联系方式: TelEmail:wangyting@ncist.edu.cn QQ:1458920766 个人建议 培养正思维 思维模式=行为模式=最终结果 目标为了个人进步 培养良好学习习惯 多讨论怎样做好,不讨论为什么没做好 树立目标 目标=价值 专业学习目标 主要内容 引入 编译程序与解释程序 编译程序的功能分解与组织结构 编译程序的复杂性 编译程序的设计与实现 编译程序的测试与维护 几个经典的编译程序 1 引入 计算机科学与技术 《编译原理》课程 《编译原理》主要内容 选用教材 为什么要学习编译原理 需要注意的问题 1.1 计算机科学与技术 含义 科学:构成计算基础的基本概念和模型(又称为:形式理论) 技术:设计计算系统的工程和技术 形式理论 有限自动机、正则表达式、正则集合 上下文无关文法 下推机 图灵机 不可判定性 与编译原理的关系 形式理论是编译原理的理论基础 在后面我们要讲到前三个部分 1.2 《编译原理》课程 课程性质 学科基础课 先修课程 程序设计语言(Pascal、C等) 程序设计、数据结构 离散数学 操作系统 1.3《编译原理》主要内容 按照编译程序的主要组成部分进行介绍 词法分析 语法分析 语义分析 代码生成和优化 符号表和错误处理 一个编译程序实例 PL/0编译程序分析 1.4 选用教材 教材 金成植:《编译程序设计原理》 编译程序 构造原理 实现技术 特点 采用原理与实例相结合的方法进行介绍 兼顾原理和实现技术 1.5 为什么要学习编译原理 编译程序是一个大型综合、复杂的程序,通过该课程的学习了解一个大型软件的设计与实现 有助于理解现有的编译程序的实现方法 加深对程序设计语言的理解 提高调试程序能力 为进一步深造打下基础 1.6 需要注意的问题 对课程的难度应该有足够的思想准备 注意平时的听课和积累 原理侧重理解 具体的算法和程序需要实际动手分析 2 编译程序与解释程序 语言与程序设计语言 程序设计语言主要内容 程序设计语言分类 编译原理基本概念 编译程序与解释程序的异同 使用解释程序的情况 2.1 语言与程序设计语言 语言 人们用来交流的工具 程序设计语言 人与计算机交流的工具 二者的区别 对象 二义性 2.2 程序设计语言主要内容 数据定义 字符集、常量、类型、变量、表达式 语句 顺序、分支和循环 函数 过程、函数、子程序 复杂数据类型 数组、记录、指针等等 2.3 程序设计语言的分类 按照层次 高级语言 低级语言 按照结构 过程式语言(C、Pascal) 函数式语言(LISP、ML) 逻辑式语言(Prolog) 对象式语言(SmallTalk 、Java 、C++) 2.4 编译程序基本概念 源程序:用程序设计语言编制的程序 目标程序:与源程序功能等价的目标代码 编译程序:把源程序转换成目标程序的程序 解释程序:执行源程序得到执行结果的程序 汇编程序:把汇编源程序转换成目标程序的程序 2.5 编译程序与解释程序区别 2.6 使用解释程序的情况 不追求执行速度 有些程序允许执行式改变自身 人机对话的交互语言 由解释程序到编译程序的自动生成系统 3 编译程序的功能分解与组织结构 功能结构图 遍的概念 源程序的处理过程 3.1 功能结构图 3.1 功能结构图(续) 编译程序的输入:源程序 编译程序的输出:目标程序 编译程序的功能模块 词法分析:把源程序变成单词串 语法分析:检察源程序是否符合语法结构 语义分析:标识符的含义是否正确 代码生成:生成目标代码 3.2 遍的概念 遍的概念 对源程序或与其等价的中间代码扫描一次 按遍划分 一遍 多遍 一遍特点 避免重复工作、速度快、代码质量不高 多遍特点 结构算法清晰、易于掌握、能够产生好的目标代码 3.3 源程序的处理过程 3.3 源程序的处理过程(续) 实例 以DOS下的C语言处理过程为例 C是多遍编译 第一遍处理包含、宏等信息 以后各遍进行编译 过程 第一遍编译得到标准C程序 经过C编译器的到目标程序 经过连接得到可执行程序 装入DOS执行 4 编译程序复杂性 元程序 处理程序的程序 编译程序复杂性 元级程序 高级语言与低级语言差别大 编译程序要求高 5 编译程序的设计与实现 设计编译程序条件 精通源语言 精通目标语言 精通编译技术 编译程序的性能 可靠性、速度、目标代码速度、

您可能关注的文档

文档评论(0)

wuyoujun92 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档