西安电子科技大学编译原理04-4.pptVIP

  1. 1、本文档共46页,可阅读全部内容。
  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文档。上传文档
查看更多

4.5声明语句的翻译;4.5.1变量的声明;1变量的类型定义与声明〔续〕;2变量声明的语法制导翻译;2变量声明的语法制导翻译〔续1〕;2变量声明的语法制导翻译〔续2〕;(1)D→D;D

(2)D→id:T

(3)T→int

(4)T→real

(5)T→array[num]ofT1

(6)T→^T1;2变量声明的语法制导翻译〔续4〕;4.5.3过程的定义与声明;4.5.3过程的定义与声明〔续〕;4.5.3.1左值与右值;(1)consttwo=2; --声明一个值为2的常量two

(2)x:integer; --声明一个类型为整型数的变量x

(3)functionmax(a,b:integer)returninteger;

--声明一个返回值类型是整型数的函数max

(4)x:=two; --赋值句执行后,x当前值为2

(5)x:=two+x; --赋值句执行后,x当前值变为4

(6)x:=max(two,x)+x; --赋值句执行后,x当前值变为8

(7)4:=x; --字面量不能作为左值

(8)two:=x; --常量不能作为左值

(9)max(two,x):=two; --函数返回值不能作为左值

(10)x+two:=x+two; --表达式的值不能作为左值;4.5.3.2参数传递;1值调用;值调用举例:1值调用〔续1〕;1值调用〔续2〕;2引用调用;值调用举例:;2引用调用〔续2〕;2引用调用〔续3〕;3复写-恢复;复写-恢复的特点:(值调用和引用调用的结合)

1.过程内对参数的修改不直接影响实参,防止了副作用;

2.返回时将形参内容恢复给实参,实现参数值的返回。

实参的特点:必须是左值。

参数传递和过程内对参数的使用原那么:

1.过程定义时形参被当作局部量看待,并在过程内部为形参分配单元;

2.调用过程前,首先计算实参并将值(实参的右值)放入形参的存储单元(复写,copy-in);

3.过程内部对形参单元中的数据直接访问;

4.过程返回时将形参的右值放回实参的存储单元(copy-out)。;3复写-恢复〔续2〕;4换名调用;//----------换名调用副作用的演示程序

#includeiostream.h

inttemp;

voidmain()

{inta=1,b[]={0,0};

coutbefore:a=ab=b[0]b[1]endl;

swap(a,b[a]);//expect:a=0,b[1]=1

coutafter:a=ab=b[0]b[1]endl;

};4换名调用〔续2〕;4.5.3.3作用域信息的保存

1过程的作用域;1过程的作用域〔续1〕;过程及其中变量的嵌套深度

;1过程的作用域〔续3〕;2符号表中的作用域信息;P→D (1)

D→D;D (2)G4.7

|id:T (3)

|procid;D;S (4);(b)全程量、属性与语义函数;(b)全程量、属性与语义函数〔续1〕;(b)全程量、属性与语义函数〔续2〕;(c)语义规那么;(d)语法制导翻译的过程;(d)语法制导翻译的过程;(d)语法制导翻译的过程〔续1〕;(d)语法制导翻译的过程〔续2〕;4.6简单算术表达式与赋值句;4.6.1简单算术表达式的语法制导翻译;4.6.2变量的〔内部〕类型转换;4.6.2变量的〔内部〕类型转换〔续1〕;4.6.2变量的〔内部〕类型转换〔续2〕;4.6.2变量的〔内部〕类型转换〔续3〕

文档评论(0)

181****7662 + 关注
实名认证
文档贡献者

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

1亿VIP精品文档

相关文档