编译原理第六章补充练习:程序片段翻译成三地址码与四元式.pdfVIP

  • 0
  • 0
  • 约2.21千字
  • 约 4页
  • 2026-01-25 发布于北京
  • 举报

编译原理第六章补充练习:程序片段翻译成三地址码与四元式.pdf

第6章补充练习

1.请将以下程序片段翻译成三地址码。代码。

code.i=1;product=1;count=0;while(i

=10){j=1;while(j=10){if(a[i,j]0)//

“”表示“不等于”{product=

product*a[i,j];countcount+1;}jj+1;}

ii+1;}

注:这里假设数组A的为array[1..10,1..10],,每个数据元素占

用1个单元,数组A的区域起始地址为addrA。

2.请将以下程序片段翻译成四元式。i=2;m=0;loop=0;

while(loop0i=10){j=1;while(loop0ji)

if(a[i,j]!a[j,i])//”!”表示“不等于”{

Ch6-supplementalexercises

1.Pleasetranslatethefollowingprogramfragmentintothree-address

code.

i=1;

product=1;

count=0;

while(i=10)

{j=1;

while(j=10){

if(a[i,j]0)//””means“notequalto”

{

product=product*a[i,j];

count=count+1;

}

j=j+1;

}

i=i+1;

}

Notes:HereweassumethatthedeclarationofarrayAisarray[1..10,1..10],

eachdataelementofarrayAwouldonlyuse1storageunit,andthestart

addressofarrayA’sstorageareaisaddrA.

2.Pleasetranslatethefollowingprogramfragmentintoquadruple.

i=2;

m=0;

loop=0;

while(loop0i=10)

{j=1;

while(loop0j=i)

if(a[i,j]!a[j,i])//”!=”means“notequalto”

{

loop=1;m=1;}

elsejj+1;if

(loop0)ii+1;}

注释:这里我们假设数组A的为array[1..10,1..10],,每个数据

元素仅使用1个单元,且数组A的区域的起始地址为

addrA。

loop=1;

m=1;

}

elsej=j+1;

if(loop0)i=i+1;

}

Notes:Hereweassum

您可能关注的文档

文档评论(0)

1亿VIP精品文档

相关文档