编译原理第2章剖析.ppt

  1. 1、本文档共22页,可阅读全部内容。
  2. 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
§1.1 什么是编译程序 第二章 高级语言 及其语法描述 高级程序设计语言回顾、语法与语义的概念、语法描述程序语言 §2.2 高级语言的一般特性 一、高级语言的分类 1、强制式语言(过程式语言):命令驱动,面向语句。程序 由一系列语句构成。如FORTRAN、C、Pascal、Ada; 2、应用式语言(函数式语言):注重程序所表示的功能,程 序的开发过程是从前面已有的函数出发构造更复杂的函 数。通常的语法形式为:函数n(…函数2(函数1(数 据))…) 如LISP等; 3、基于规则的语言:程序的执行过程是检查一定的条件,当 它满足时,则执行适当的动作。通常的语法形式为: 条件i → 动作i,如Prolog等; 4、面向对象语言:支持封装、继承和多态。 二、程序结构 1、FORTRAN语言:由一个主程序段和若干辅程序段组成; 2、Pascal语言:子程序嵌套结构; 3、Ada:引入程序包,把数据和操作代码封装在一起,支持 数据抽象; 4、Java语言:面向对象的高级语言,类、继承、多态、动态 绑定等概念; 三、数据类型与操作:初等数据类型、数据结构、抽象数据类型; 四、语句与控制结构:表达式、语句(赋值句、控制语句、说明句、简单句和复合句); §2.1语法与语义 一、有关程序语言的基本概念 1、语言的三要素: 语法(决定语言的形式)、 语义(决定语言的含义)、 语用(程序设计方法和语言成分的使用方法); 2、程序语言是记号(符号)系统; 3、语言的定义与实现 (1)定义(发明)语言: 语言的用户手册; 标准化; (2)实现: 编译系统(开发环境); 二、语法 1、语言的语法:用以规定产生合式程序的一组规则,有词法 规则和语法规则两部分;(合式——形式上正确) 2、词法规则:单词符号的形成规则; 3、语法规则:语法单位的形成规则; 4、单词符号:语言中具有独立意义的最基本结构,如常量、 标识符、基本字、算符、界符等; 5、语法单位:语言中一些结构更大的固定单位,如表达式、 语句、函数、过程和程序等; 三、语义 1、语言的语义:语言的单词符号和语法单位的意义; 2、语义规则:一组可以定义语义的规则; 3、语义的描述:还未有一套公认的形式系统,本书用自然语 言结合属性文法来描述。 §2.3 程序语言的语法描述 一、预备概念 二、上下文无关文法 1、文法:即语法规则,形式化的描述语言的语法结构 2、汉语语法规则实例: (1)文法:〈句 子〉 →〈主语〉〈谓语〉 〈主 语〉 →〈代词〉|〈名词〉  〈代 词〉 → 我 | 你 | 他 〈名 词〉 → 大学生 | 工人 | 英语 〈谓 语〉 →〈动词〉〈直接宾语〉 〈动 词〉 → 是 | 学习 〈直接宾语〉 →〈代词〉|〈名词〉 (2)句子:按此规则,“我是大学生 ”的构成符合上述规 则,是一个句子;而“我大学生是”不符合上述规则, 不是句子 。 (3)文法的使用: (4)文法的 结构 3、上下文无关文法 (3)上下文无关文法的形式定义 例1:文法的几种写法 例2:Pascal语言中控制语句的文法 例3:C++语句的文法 一、C++语句 二、带标号语句 三、表达式语句 expression-statement: expressionopt ; 四、复合语句 compound-statement: { statement-seqopt } statement-seq: statement statement-seq statement 五、选择语句 六、循环语句 七、跳转语句 4、文法定义语言 例:文法G为E→E+E | E*E | (E) | i , 即:(i*i+i)是G的一个句子。 三、语法分析树与二义性 1、语法树的构造 (1)倒立,根上叶下,开始符标记根结; (2)非终结符对应中间结,终结符对应段末结(叶子); (3)推导时,非终结符被候选替代时,产生新结; (4)生长的任意时刻端末结自左至右的排列为一句型; (5)中间结的生长无先后 * * §2.2 高级语言的一般特性 §2.2 高级语言的一般特性 §2.1 语法与语义 §2.1 语法与语义

文档评论(0)

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

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

1亿VIP精品文档

相关文档