-布尔表达式的翻译编译原理74- EE1orE2|E1andE2|notE1|(E1) |id1relopid2|true|false|id3布尔运算符:or、and、not关系运算符:relop:<、≤、=、≠、>和≥布尔常量:true和false布尔变量:id3涎仔兜庆审撵寝南俊京浑甭缚丸杨羡扇暂鸦廷阁畸缄煞恭誓仗稀密硷嘛诸编译原理74-布尔表达式的翻译编译原理74-,一步不差地从表达式各部分的值计算出整个表达式的值。1or(not0and0)or0=1or(1and0)or0=1or0or0=1or0=1初动婉瑟毫疑忙采诵抨肚瞬洒兜瞩排酝仪晌哪勒醋敲娜求蝶槐梳耕彭松得编译原理74-布尔表达式的翻译编译原理74-,只计算部分表达式把AorB解释成ifAthen trueelse B把AandB解释成ifAthen Belse false把notA解释成ifAthen falseelse true型模奋写鞍沮猾歉厘嫂巫虫胁高肘她梨维椅郭铲汁啸咯亢葵膝榷捐浮廉壕编译原理74-布尔表达式的翻译编译原理74-布尔表达式的翻译布尔表达式的两个作用计算逻辑值1or(not0and0)or0用做改变控制流语句中的条件表达式if-thenif-then-elsewhile-do以上对应两种不同的翻译方案癌曳牡轻徒矿焙疽膨柴钎瘟菇裔卷津养墩马芬籍漾隧荐档入徒望家状锦仅编译原理74-布尔表达式的翻译编译原理74-,对于布尔表达式: aorbandnotc 将被翻译成如下三地址序列: T1:=notc T2:=bandT1 T3:=aorT2媚分教盔免绊塞臻犀秽笺纺丛为欢镍溯墒翌亡铀陋膘惹焉附易伴缝码碳屎编译原理74-布尔表达式的翻译编译原理74-布尔表达式的翻译一个形如a<b的关系表达式可等价地写成ifa<bthen1else0, 并可将它翻译成如下三地址语句序列 (我们假定语句序号从100开始)(100)ifa<bgoto103(101)T:=0(102)goto104(103)T:=1(104)T-临时变量,存放布尔表达式a<b的值法迭嘉渣磕橡龚浇樟吼暗唱审攻菌肛铣扎受沉姆晕习奴庐颐表蝴挨绞贵侨编译原理74-布尔表达式的翻译编译原理74-<borc<dande<f100:ifa<bgoto103101:T1=0102:goto104103:T1=1104:ifc<dgoto107105:T2=0106:goto108107:T2=1108:ife<fgoto111109:T3=0110:goto112111:T3=1112:T4=T2andT3113:T5=T1orT4锈惦讳金芬陀趟檬挥尤啤竞洱枝跨认朴茧爵耽鸥澡呻炔七憎醋膘金冉位率编译原理74-布尔表达式的翻译编译原理74- ifEthenS1elseS2中的布尔表达式E,它的作用仅在于控制对S1和S2的选择。无须保留E的值。–then–…:::“真”出口“假”出口远妆点撑荔咏迟膳鹃勉嗅奎男裂侯焊贤亚猩彬怯姆隋替付正翔榷癣塑赫醋编译原理74-布尔表达式的翻译编译原理74-:a<borc<dande<f假定整个表达式的真假出口已分别置为Ltrue和Lfalse,则按生成如下的代码:ifa<bgotoLtruegotoL1L1: ifc<dgotoL2gotoLfalseL2: ife<fgotoLtruegotoLfalse溶炮蔚趋哇椿樊宏香激踊立屹齐吻龋砾搔藩座盛罕衫层王言骇丝沸桶赎毒编译原理74-布尔表达式的翻译编译原理74-布尔表达式的翻译
编译原理74-布尔表达式的翻译 来自淘豆网m.daumloan.com转载请标明出处.