哈工大编译原理 第2章 高级语言及其语法描述.ppt

哈工大编译原理 第2章 高级语言及其语法描述.ppt

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
计算机学院 辛明影 第二章 高级语言 及其语法描述 对于确定数组来说,内情向量可登记在符号表中; 对于可变数组,内情向量的信息在编译时无法全部知道,只有到运行阶段才能全部确定下来,存贮分配也要等到运行时方能进行 2.记录(结构) 从逻辑上讲,记录是由已知的数据组合起来的一种结构 Struct student {char name[20]; boolean partmember; int age; } stu; 记录结构最简单的存贮方式是连续存放 上述的变量stu共占7个字,共28个字节 Stu.name Stu.partmember Stu.age 3.字符串、表格和队列 k K+1 …. K+20 …. K+24 …. …. … …… . 四.抽象数据类型 一个抽象数据类型包括: ⑶这种类型对象的封装 ⑵作用于这些数据对象的抽象运算的集合 ⑴数据对象的一个集合 C++、Java语言通过类对抽象类型提供支持 五.语句与控制结构 1.表达式 要解决的问题: ①优先级 ②结合率 2.语句 语句可分为: ①说明语句: ②可执行语句: 定义各种不同数据类型的变量和运算 描述语句的动作 执行语句分为:赋值、控制和I/O语句 ⑴赋值句 A=B 左值 右值 名字的左值指它所代表的存贮单元地址 名字的右值指该 单元的内容 ⑵控制语句 无条件转移语句:Goto lable 条件语句:If B then S If B then S else S 循环语句:While B do S Repeat S until B For I=e1 to e2 step e3 过程调用语句:Call P(x1, x2,….xn) 返回语句:Return(E) ⑶说明语句 说明语句用于定义名字的性质。 编译程序把这些性质登记在符号表中,并检查程序中名字的引用和说明是否一致。 许多说明语句不产生目标代码 但有的说明语句,如过程说明和可变数组说明,则要产生相应的目标代码 ⑷简单句和复合句 简单句是指不包含其它语句成分的基本句。赋值、goto语句等 复合句则指那些句中有句的语句 If (x==0) then x=1 {x=1;y=2;goto l1;} program reference(input,output); ??? ??var a,b : integer; ??? ??procedure swap(x,y: integer); ??? ?????var temp: integer; ??? ? ?begin temp :=x; ??? ????? x :=y; ??? ????? ? y :=temp end; ??? ??begin ?a:=1; b:=2; ??? ????? swap(a,b); ??? ????? writeln( a=,a, b= , b ) ??? ??end. 2.2.3 参数传递? 结果是什么? * * 内容简介: 本章概述程序设计语言的结构 2.1 程序语言的定义 任何语言实现的基础是语言定义。 语言的定义决定了该语言 具有什么样的语言功能、 什么样的数据结构、 什么样的程序结构、 以及具体的使用形式等细节问题。 和主要的共同特征, 并介绍程序设计语言主要语句的文法描述与形式定义。 对于编译程序设计者来说:语言定义就是具体实现的理论依据。 对于语言用户来

文档评论(0)

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

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

1亿VIP精品文档

相关文档