网站大量收购闲置独家精品文档,联系QQ:2885784924

第4章节程序设计语言常用语法与翻译.ppt

第4章节程序设计语言常用语法与翻译.ppt

  1. 1、本文档共44页,可阅读全部内容。
  2. 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
第四章 程序设计语言常用的 语法与翻译方法 最简单的情况E是一个布尔变量a,那么有: 真出口 假出口 Evaluation only. Created with Aspose.Slides for .NET 3.5 Client Profile 5.2.0.0. Copyright 2004-2011 Aspose Pty Ltd. 另外,布尔量间的运算除了一般的布尔代数运算外,还有一种运算方法,称为“短路布尔操作”。它的意义是:对于一个二元布尔操作,如果根据第1个布尔量的值就可以判断这个布尔结果,那么就不必计算第2个布尔量了。就是说,在某种情况下第2个布尔量被短路了。 Evaluation only. Created with Aspose.Slides for .NET 3.5 Client Profile 5.2.0.0. Copyright 2004-2011 Aspose Pty Ltd. 例如,对于二元操作a and b ,如果a是假,不管b 是什么,a and b 的结果都是假。所以?b就不用计算了。再如,二元操作a or b,如果a是真,不管b是什么,a or b的结果都是真。所以b就可以被短路掉,这种短路的操作对代码来说是很重要的。有些时候,没被短路的操作会引起错误。例如: Evaluation only. Created with Aspose.Slides for .NET 3.5 Client Profile 5.2.0.0. Copyright 2004-2011 Aspose Pty Ltd. 信息学院软件工程教研室 * 编译原理 刘向菊 QQ: 8064793 Tel: 信息学院软件工程教研室 Evaluation only. Created with Aspose.Slides for .NET 3.5 Client Profile 5.2.0.0. Copyright 2004-2011 Aspose Pty Ltd. Evaluation only. Created with Aspose.Slides for .NET 3.5 Client Profile 5.2.0.0. Copyright 2004-2011 Aspose Pty Ltd. 4.1 逆波兰表示法 逆波兰表示表达式 高级语言表示表达式 ab* a*b ab*c+ a*b+c abcd/+* a*(b+c/d) ab*cd*+ a*b+c*d Evaluation only. Created with Aspose.Slides for .NET 3.5 Client Profile 5.2.0.0. Copyright 2004-2011 Aspose Pty Ltd. 高级语言表达式E的逆波兰表示法可这样定义: (1)若E是高级语言中的一个变量或常数,则E的逆波兰表示式仍是E。 (2)若高级语言中的表达式为E1 op E2,其中,op是一个二元算符,E1、E2也是表达式,则逆波兰式表示为E1 E2 op,其中,E1是E1的逆波兰式,E2是E2的逆波兰式。 (3)若高级语言中的表达式为(E),则逆波兰表示式为去掉括号的E,E为E的逆波兰表示式。 Evaluation only. Created with Aspose.Slides for .NET 3.5 Client Profile 5.2.0.0. Copyright 2004-2011 Aspose Pty Ltd. 三地址代码是由下面一般形式的语句构成的序列。 x:=y op z 其中x、y、z是变量名或编译时产生的临时变量名;y、z还可以是常数;op代表某种操作符。这种中间语言的特点有两个。 (1)非常接近汇编语言形式,包括汇编语言中最基本的操作。 (2)每个语句中赋值号的右边只有一个操作符,使得句子意义最小且不可分。例如,源语言表达式x+y*z可被翻译成如下的句子序列: T1:=y*z T2:=x+T1 4.2 三地址代码 Evaluation only. Created with Aspose.Slides for .NET 3.5 Client Profile 5.2.0.0. Copyright 2004-2011 Aspose Pty Ltd.

文档评论(0)

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

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

1亿VIP精品文档

相关文档