编译原理-第一篇 概述.ppt

  1. 1、本文档共133页,可阅读全部内容。
  2. 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
§1.1 程序设计语言 二、程序设计语言简述 1.机器语言(第一代语言) 随着计算机科学技术发展,程序设计语言也由低级到高级逐步地发展起来。 定义:由机器指令构成的语言称机器语言,即用二进制编码组成。如机器指令:是二进制编码,基本上是由操作码和地址码两部分组成,所以要用机器语言编程序一定要知道多种不同的操作码。 指令系统:一种计算机所能识别的一组不同指令系统 §1.1 程序设计语言 二、程序设计语言简述 1.机器语言(第一代语言) 特点: 费时费事 难懂容易错 只能在一种型号计算机上运行 可以直接在计算机上运行 §1.1 程序设计语言 二、程序设计语言简述 2.汇编语言(第二代语言:50年代初期出现) 定义:用容易记忆的符号来代替机器指令中操作码和地址码的一种语言.如:ADD 代表“+” SUB代表”-” MOV代表”传递” 特点: 优点——(1)程序直观容易阅读;(2)编程工作量相对小;缺点——(1)只能在一种型号机器上运行;(2)不能直接在计算机上运行。 §1.1 程序设计语言 二、程序设计语言简述 3.高级程序设计语言(第三代语言:50年代中期提出) 机器语言和汇编语言都与具体的计算机相关联,计算机类型一旦改变,程序就得重写。于是就有了高级程序设计语言的出现…… 1956年,第一个高级程序设计语言FORTRAN(FORmulaTRANslator)正式开始使用。 定义:高级程序设计语言是一种面向过程或者面向对象的语言,不面向机器,用一些符号或者数字对求解的问题或者现实世界进行描述。 §1.1 程序设计语言 二、程序设计语言简述 3.高级程序设计语言(第三代语言:50年代中期提出) 高级语言的分类(按发展时期),可以分为四个阶段:(1)初始时期;(2)发展时期;(3)结构程序设计时期;(4)多范型程序设计语言时期。 高级语言初始时期 ① FORTRAN语言 (FORmula TRANslator 公式翻译 ) 1954年由美国IBM公司研制,主要用于科学计算,它首先提出“变量”的概念,奠定了高级程序设计语言名字理论基础。 ② ALGOL语言 (ALGOrithmic Language 算法语言) 1960年原西德应用数学和力学学会研制出来, 主要用于科学计算,它第一次采用形式化语法描述体系 ——BNF范式(Backus Normal Form巴科斯—瑙尔范式)。ALGOL语言在60、70年代广泛使用,后被PASCAL代替。 ③ COBOL语言(COmmon Business Oriented Language 面向 商业通用语言) 1959年由美国国防部研制,主要用于商业数据和事务处理,自80年代后数据库技术的广泛应用使COBOL的使用受到限制。 高级语言发展时期(1/3) 高级语言发展时期(2/3) 高级语言发展时期(3/3) 结构程序设计时期(1/3) 结构程序设计时期(2/3) 结构程序设计时期(3/3) 多范型程序设计语言时期(1/4) 多范型程序设计语言时期(2/4) ① 函数式语言 也称作用式语言,纯函数式语言中不使用赋值语句,其语法形式类似于数学上的函数,典型函数式语言,如LISP、APL、ML等。 ② 逻辑式语言 也称说明式语言,基于规则式语言,它以逻辑程序设计思想为理论基础,主要核心是事实规则与推理机制,其代表语言是PROLOG(PROgramming in LOGic),PROLOG语言主要用于人工智能,于1972年由法国马塞大学人工智能研究中心开发。 多范型程序设计语言时期(3/4) ③ 面向对象式语言 面向对象式语言与传统过程性语言的主要区别在于:在传统过程式语言中数据以及处理它们的子程序互不相关,而在面向对象式语言中则把这两者统一作为对象封装在一起处理。面向对象式语言的一个重要概念是类。smalltalk、C++、java、c#等都是面向对象式语言。 面向对象语言的特点: a. 抽象性:即对复杂世界简明表示。 b. 封装性:即将数据和对数据的操作结合在一起。 c. 继承性:将类体系看成层次结构,下层类(子类)沿用上层类(父类)的所有特性。 d. 多态性:即一个名字具有多种语义。如:只要定义一个abs()函数,就可分别用来求整型、实型、双精度型数据的绝对值。 e. 消息驱动:通过传递消息来实现对象间联系以及完成动作。在结构化程序设计中

文档评论(0)

187****5045 + 关注
实名认证
内容提供者

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

1亿VIP精品文档

相关文档