网站大量收购独家精品文档,联系QQ:2885784924

国防科大编译原理第二章.pptVIP

  1. 1、本文档共10页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  5. 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  6. 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  7. 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  8. 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多

*第二章:高级语言机器语法描述2.1程序语言的定义2.2高级语言的一般特性2.3程序语言的语法描述2.1程序语言的定义-关于语言的一些概念单词符号:语言中具有独立意义的最基本结构。词法规则:单词符号的形成规则。二、单词符号和词法规则01字母表:符号的非空有限集例:?={a,b,c}符号:字母表中的元素例:a,b,c符号串:符号的有穷序列例:a,aa,ac,abc,..空符号串:无任何符号的符号串(ε)符号串集合:由符号串构成的集合。语言=语法+语义+语用。2.1.1语法:一个程序设计语言是一个符号系统。一、字母表和符号串02三、语法单位和语法规则语法单位:由单词符号形成的具有更大的独立语法意义结构。如表达式:0.5*X1+C,一般的程序语言的语法单位有表达式、语句、分程序、函数、过程和程序等。语法规则:语法单位的形成规则。语言的词法规则和语法规则定义了程序的结构形式,是判断输入字符串是否构成一个形式上正确程序的依据。2.1.2语义一、语义问题语义定义一个语言单词符号和语法单位的意义。离开语义,语言只不过是一堆符号的集合。对于编译来说,只有了解程序的语义,我们才能知道把它翻译成什么样的目标指令代码。二、语义规则和程序语义规则:程序语言的语义是指这样一组规则,使用它可以 定义一个程序的意义,这些规则称为语义规则。程序:从本质(语义)上说,一个程序是描述一定数据的处理过程。(从语法上看)程序设计语言中的程序和其他语法单位形成一定层次结构。程序的语法/语义问题:层次结构中有哪些语法单位,其语义如何?--2.2节 如何描述这些语法单位?--2.3节。2.2高级语言的一般特性高级语言的分类:一、强制式语言过程式语言。特点是命令驱动,面向语句。如C、PASCAL等。二、应用式语言函数式语言。特点是注重程序功能,从已有函数出发构造新的函数,构造新函数的过程中对初始数据进行计算得到最终结果。如LISP等。三、基于规则的语言逻辑程序设计语言。特点是规则驱动,从事实出发,运用逻辑规则,推导出问题的结果。程序基本结构包括事实和规则两部份。如PROLOG等四、面向对象语言把数据和对数据的操作封装在一起,构成对象。支持封装性、继承性和多态性。本课程主要讲解过程式语言程序的编译,因此涉及的语法和语义以过程式语言的为主。构造其他类型语言程序的编译程序与之类似。高级语言程序通常由若干子程序段构造,一些语言还引入类、程序包等更高级的结构。一、FORTRAN语言程序由主程序和若干个辅助程序段(子程序、函数段或数据块)构成。二、PASCAL语言允许子程序嵌套。一个PASCAL程序可以看作是操作系统调用的子程序。三、JAVA语言面向对象高级语言,支持面向对象的特性,重要概念为类和继承。程序由类定义和实现构成。一个JAVA程序可看作是一个特定类的实例化。单击此处添加大标题内容2.2.2程序结构过程式语言程序的层次结构。P142.2.3数据类型和操作“数据”表示外部事务的属性,是大多数程序数据语言的最基本的概念。程序运行过程就是对计算机存储器中的数据加工的过程,而变量是数据存储地址的抽象。数据的含义包括数据的值和数据的类型。数据类型的三要素:(1)用于区别这种类型的数据对象的属性。(一个实数由三部份组成)(2)这种类型的数据对象可以具有的值。(取值范围、精度)(3)可以作用于这种类型的数据对象的操作。(+、-、*、/)一、初等数据类型:数值数据:整数、实数等。可对其施行算术运算(+、-、*、/等)逻辑数据:布尔型数据。可对其施行逻辑运算(and,or,not等)字符数据:字符型或字符串型数据。用于符号处理。指针类型:指针类型的数据对象的值指向另一些数据。名字和标识符#2022二、数据结构——相互之间存在一种或多种特定关系的数据元素的集合。由初等数据定义复杂数据结构的常见方式有:1.数组:一个数组是由同一类型数据组成的n维矩形结构。沿着每一维的距离称为一个下标,数组的每个元素位置可通过每一维的下标来确定,每个数组元素占用同样大小的存储空间,同时数组元素由数组名连同下标值来命名,如A[1,2,3,..,x]。确定数组:编译时已确定数组占用空间大小。可变数组:可在运行时动态改变数组占用空间的大小。数组的存储和数组元素的地址计算:按行或按列存储。编译程序要(1)在见到数组说明时,记录数组的有关信息。(2)在见到数组元素名时,正确计算数组

文档评论(0)

189****6885 + 关注
实名认证
文档贡献者

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

1亿VIP精品文档

相关文档