- 8
- 0
- 约2.08千字
- 约 10页
- 2025-06-04 发布于四川
- 举报
中间语言说明语句赋值语句的翻译布尔表达式的翻译控制语句的翻译过程调用的处理类型检查第七章语义分析和中间代码生成
7.4布尔表达式的翻译布尔表达式文法GE?E1orE2|E1andE2|notE1|(E1)|id1relopid2|true|false|id3布尔运算符:or、and、not关系运算符:relop:<、≤、=、≠、>和≥布尔常量:true和false布尔变量:id3
如同计算算术表达式,一步不差地从表达式各部分的值计算出整个表达式的值。or(not0and0)or0=1or(1and0)or0=1or0or0=1or0=1计算布尔表达式的值通常有两种办法
2.采取某种优化措施,只计算部分表达式1把AorB解释成ifAthentrueelseB2把AandB解释成ifAthenBelsefalse3把notA解释成ifAthenfalseelsetrue
计算逻辑值1or(not0and0)or0用做改变控制流语句中的条件表达式if-then-else以上对应两种不同的翻译方案if-thenwhile-do12345布尔表达式的两个作用
7.4.1数值表示法从左到右按类似算术表达式的求值方法来计算例如,对于布尔表达式:aorbandnotc将被翻译成如下三地址序列:T1:=notcT2:=bandT1T3:=aorT2
一个形如a<b的关系表达式可等价地写成ifa<bthen1else0, 并可将它翻译成如下三地址语句序列 (我们假定语句序号从100开始)(100)ifa<bgoto103(101)T:=0(102)goto104(103)T:=1(104)T-临时变量,存放布尔表达式a<b的值
例7.2翻译布尔表达式aborcdandef100:ifabgoto103101:T1=0102:goto104103:T1=1104:ifcdgoto107105:T2=0106:goto108107:T2=1108:ifefgoto111109:T3=0110:goto112111:T3=1112:T4=T2andT3113:T5=T1orT4
7.4.2作为条件控制的布尔式翻译出现在条件语句 ifEthenS1elseS2中的布尔表达式E,它的作用仅在于控制对S1和S2的选择。无须保留E的值。表7.15if–then–else语句的代码结构E.CodeS1.codeGotoS.nextS2.code…toE.truetoE.falseE.false:E.true:S.next:“真”出口“假”出口
例7.3考虑表达式:a<borc<dande<f假定整个表达式的真假出口已分别置为Ltrue和Lfalse,则按生成如下的代码:ifa<bgotoLtruegotoL1L1: ifc<dgotoL2gotoLfalseL2: ife<fgotoLtruegotoLfalse
ifa<borc<dande>fthenS1elseS2的四元式序列(1)ifa<bgoto(7) //E.true(2)goto(3)(3)ifc<dgoto(5)(4)goto(p+1) //E.false(5)ife>fgoto(7) //E.true(6)goto(p+1) //E.false(7)(关于S1的四元式)
…(p)goto(q)(p+1)(关于S2的四元式)
…(q)回填:(1)和(5)的转移地址为(7),它是在整个布尔表达式的四元式序列生成之后才回填的地址。
01ifABgoto10202goto10603ifCDgoto10404goto10605t:=y+z06x:=t07…08ifABandCDthen09=y+z
01100 ifA<Bgotogoto10703102 ifC<DgotogotoT∶=Y+Z
您可能关注的文档
- 大学生求职面试技巧.pptx
- 高端人才招募解决方案.pptx
- 《分数乘分数》PPT(例3).pptx
- 管理沟通-应聘、会谈、会议组织.pptx
- 电算化会计核算基本流程.pptx
- 出口贸易的基本程序.pptx
- 《荷叶母亲》一等奖.pptx
- 调查的程序和设计.pptx
- 安全生产事故的处理与整改措施.pptx
- 高血压及心脑血管疾病的防治.pptx
- Googol Tech运动控制器GNS用户手册.pdf
- Gorenje厨房电器说明书用户手册.pdf
- Koyoe科曜能源科技储能系统用户手册.pdf
- ESD Acoustic 隐士音响音响隐士音响用户手册.pdf
- SKRI思珂睿(重庆)自动化科技有限公司安全光栅GM4系列说明书用户手册.pdf
- 诺德士健身器材Bowflex用户手册.pdf
- Changxian Star电子书平台教程PC、微信、APP用户手册.pdf
- BEHRINGER贝斯调音台1202 1002 802 502用户手册.pdf
- APORO数码产品音箱T18mini说明书用户手册.pdf
- FRESER INTERNATIONAL微波烤箱AS-300用户手册.pdf
原创力文档

文档评论(0)