- 1、本文档共67页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
* 已归约串 PLACE 输入串 语义动作 … … … … # X:=E*(E1+D X_T1__C_D )# # X:=E*(E1+E2 X_T1__C_D )# { E2.place:=p=D } # X:=E*(E3 X_T1__T2 )# {E3.place:=newtemp=T2; 生成四元式(2)} # X:=E*(E3) X_T1__T2_ # # X:=E*E4 X_T1_T2 # { E4.place=E3.place=T2} # X:=E5 X_T3 # { E5.place=T3; 生成四元式(3)} # S # { p:=lookup(X.name); 生成四元式(4)} Evaluation only. Created with Aspose.Slides for .NET 3.5 Client Profile 5.2.0.0. Copyright 2004-2011 Aspose Pty Ltd. * 二、数组元素的引用 1.数组元素在存储器中的存放: §7.3 赋值语句的翻译 一维数组地址: 二维数组地址: A[i] 的地址 = base + ( i - low) * w = i*w + ( base - low*w ) A[i1, i2] 的地址 = base + ( ( i1 – low1 ) * n2 +i1 - low2 ) * w = ( ( i1*n2 ) + i2 ) * w + ( base – ( ( low1*n2 ) + low2 )*w ) Evaluation only. Created with Aspose.Slides for .NET 3.5 Client Profile 5.2.0.0. Copyright 2004-2011 Aspose Pty Ltd. * §7.3 赋值语句的翻译 1.数组元素在存储器中的存放: 二、数组元素的引用 k维数组地址: C = ( (…( ( low1 n2+low2 ) n3 + low3 )…) nk + lowk) * w 变量部分:(…( ( i1 n2+i2)n3 + i3)…) nm + i m e1 = i1 , em = em-1*n m + im A[ i1, i2, …, ik ] 的地址 =((…i1 n2+i2)n3 + i3)…) nk +ik )*w + base – ( (…( ( low1 n2+low2 ) n3 + low3 )…) nk + lowk) * w Evaluation only. Created with Aspose.Slides for .NET 3.5 Client Profile 5.2.0.0. Copyright 2004-2011 Aspose Pty Ltd. * 改写产生式的原因: 使我们在整个下标表达式串Elist的翻译过程中随时都能知道符号表中相应于数组名字id的符号表入口,从而随时能了解登记在符号表中的有关数组id的全部信息。 2.产生数组元素的产生式: L?id[Elist] | id L?Elist] | id Elist?Elist,E | E Elist?Elist,E | id[E §7.3 赋值语句的翻译 Evaluation only. Created with Aspose.Slides for .NET 3.5 Client Profile 5.2.0.0. Copyright 2004-2011 Aspose Pty Ltd. * 3.数组元素的翻译模式: A.文法: (1) S?L:=E (2) E?E+E (3) E?(E) (4) E?L (5) L?Elist ]
文档评论(0)