布尔表达式翻译课件.pptVIP

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

Chapter 5.5 布尔表达式的翻译 偏娇漂案羡嘛吐枷娟疹央棺横级哥墓废狗定达桨谦阁摈哈坍到诣娱豺异饱布尔表达式翻译课件布尔表达式翻译课件 1. 概述 布尔表达式是布尔运算量和逻辑运算符按一定语法规则组成的式子。 逻辑运算符通常有∧、∨、﹃三种(在某些语言中,还有≡(等价)及→(蕴含)等等); 逻辑运算对象可以是逻辑值(True 或 False)、布尔变量、关系表达式以及由括号括起来的布尔表达式。 不论是布尔变量还是布尔表达式,都只能取逻辑值True或False。在计算机内通常用1(或非零整数)表示真值(True),用0表示假值(False)。 闯史揣郊湿冕番九誓状蹦刁韧酒案仔嫡阿胳媳嗜拢胁畦肋肝许揍碴绒跳喝布尔表达式翻译课件布尔表达式翻译课件 关系表达式是形如E1 Rop E2的式子,其中E1和E2为简单算术表达式,Rop为关系运算符(, , =, =, =, )。若E1和E2之值使该关系式成立,则此关系表达式之值为True,否则为False。 代戚蠢否请跑垣彩再桌毕叹苹稚矾洛单玉洒骚昧裕好宣瘫瞳征寇垢筹跨松布尔表达式翻译课件布尔表达式翻译课件 2. 布尔表达式的语义及作用 布尔表达式的语义在于指明计算一个逻辑值的规则 . 布尔表达式在程序设计语言中有两个基本的作用: 一是在某些控制语句中作为实现控制转移的条件; 另一个则是用于计算逻辑值本身。 约定:各类运算符的优先顺序(由高至低)如下: ⒈括号 ⒉算术运算符 *、/ +、- ⒊关系运算符 、=、=、、=、 ⒋逻辑运算符 ┒ ∧ ∨ 巾民赋旋主裔轻辈漫獭懒隙屎让鸯随释怂欲鸵捐担测闭个九编褒备幅鞘蛋布尔表达式翻译课件布尔表达式翻译课件 3. 布尔表达式的等价解释-求值角度 为了方便起见,下面我们仅讨论由文法 E→ E∧E | E∨E | ┑E | (E) | I | i Rop i (5.1) 1)可采用类似算术表达式的方式来进行。例如,对于布尔表达式A∨B∧C,可翻译为: (∧, B, C, T1 ) (∨, A, T1, T2 ) 弓矮渍恍共奢歌伏功而良恕落儡戊睁三削锁期闰凋澳虾驳桃坏往立屎掇褪布尔表达式翻译课件布尔表达式翻译课件 3. 布尔表达式的等价解释-过程角度 但是,对于一个布尔表达式而言,我们的目的仅仅是为了判定它的真假值。因此,有时只需计算它的一个子表达式,便能确定整个布尔表达式的真假值。例如,对于A∨B,只要知道A为真,则无论B取何值,表达式的结果一定为真。 可见,对于三种常见逻辑运算,可作如下等价的解释: A∧B (A) ? B : 0 (5.2) A∨B (A) ? 1 : B (5.3) ﹃A (A) ? 0 : 1 (5.4) 瑰钡止唤谜贾额拽寨圃城膳柜眠杭聋粹燃秸柬涨变员馅弊舰吵斤齿肢污背布尔表达式翻译课件布尔表达式翻译课件 4. 布尔表达式的出口 对于布尔表达式A∨(B∧(┑C∨D)),其等价的表述是 A ? 1 :(B ?((C ? 0 :1)? 1 : D ): 0 ) 显然,采用此种结构可产生更为有效的中间代码。这里需假定原布尔表达式的计算过程中不含有任何的副作用。 在上式的计算中,根据A、B、C、D的取值不同,计算的结果以及运算的终止点亦不同。例如,当A=1(真)时,结果为1且终止于左边第一个‘1’处。 这样终止的点我们称为该布尔表达式的出口,同时,把使布尔表达式取值为真的出口称为真出口,反之称为假出口。 对一个布尔表达式而言,它至少有一个真出口和一个假出口(当然可以有多个)。在用于控制流程的布尔表达式E的计算中,这些出口分别指出当E值为真和假时,控制所应转向的目标(即某一四元式的序号)。 德了羔兔宴肉诀猫搀舍智吟倦枫浅苯攫钦炭懒腰独禽卤鄂滨卓逛靡橙茫限布尔表达式翻译课件布尔表达式翻译课件 5. 控制语句中的布尔表达式 if E then S1 else S2或while E do S 叹家谨炬禄腰褂姐剑赔懂迹求炒过翌费裙进逊偶冷暮蛮放惩茅弥凹仗旬南布尔表达式翻译课件布尔表达式翻译课件 6. 布尔表达式真假值的确定 一个布尔表达式E的真假值的确定,是在语法翻译过程中,根据(5.2)-(5.4)等价解释式逐步进行的。 例如,对于布尔表达式 E = E(1) ∨E(2) 若E(1)为真,则E必为真,故E(1)的真出口必是E的真出口(之一); 若E(1)为假,则E的真假值取决于E(2)的真假值,此时,需对E(2)进行计算,由此可见,E(1)的假出口应为E(2)对应的四元式的序号(E(2)的入口),同时,E(2)的真、假出口也是E的真、假出口。 类似地,可确定E(1) ∧ E(2) 、﹃

文档评论(0)

xcs88858 + 关注
实名认证
文档贡献者

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

版权声明书
用户编号:8130065136000003

1亿VIP精品文档

相关文档