大学《编译原理》期末试题含答案(八)_第1页
大学《编译原理》期末试题含答案(八)_第2页
大学《编译原理》期末试题含答案(八)_第3页
免费预览已结束,剩余1页可下载查看

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

大学《编译原理》期末试题含答案110分)处于/*和*/之间的串构成注解,注解中间没有*/DFAL={ambn|0m2n}(ab)LR(1)6(6LR(1)5)30分)(1)分析表。DTLTint|realLidRR,idR|45分)就下面文法S(L)|a LLS|S给出一个语法制导定义,它输出配对括号的个数。a的嵌套深度。如句子(a,(a,a)),第一小题的输出是2,第二小题的输出是122。50分lr2。请为该语句设2157.17219页图7.1965)Cfunc(i1,i2,i3)longi1,i2,i3;{longj1,j2,j3;printf("Addressesofi1,i2,i3=%o,%o,%o\n",&i1,&i2,&i3);printf("Addressesofj1,j2,j3=%o,%o,%o\n",&j1,&j2,&j3);}main(){longi1,i2,i3;func(i1,i2,i3);}该程序在某种机器的Linux上的运行结果如下:Addressesofi1,i2,i3=27777775460,27777775464,27777775470Addressesofj1,j2,j3=27777775444,27777775440,27777775434从上面的结果可以看出,func函数的3个形式参数的地址依次升高,而3个局部变量的地址依次降低。试说明为什么会有这个区别。715Clinux方面的区别。staticlongaa=10;shortbb=20;func(){staticlongcc=30;shortdd=40;}.file "static.c".version"01.01"gcc2_compiled.:.data.align4.type aa,@object.size aa,4aa:.long10.align2.align2.typebb,@object.sizebb,2.value20.align4.typecc.2,@object.sizecc.2,4bb:cc.2:.long30.text.align4.globlfunc.type func:pushl%ebpmovl%esp,%ebpsubl$4,%espmovw$40,-2(%ebp).L1:leaveret.Lfe1:.size func,.Lfe1-func.ident"GCC:(GNU)egcs-2.91.6619990314/Linux(egcs-1.1.2release)"810CC90分)ACAA(C语言写成BCCC。B0(5分表达式x+yz45和zx+y34有同样的结FAM上,哪一个表达式对应的目标代码的执行效率高?为什么?参考答案1.others*others*2*others4start1start1/2/52.LR(1)文法SAB|aABbLR(1)文法SAB二义文法SAASb|AaaAb|AaaAb|ab|Aa|BBb|BBb| int real id , D DTL DTLT Tint TrealL LidRR R,idR RSS print(S.num)S(L) S.num:=L.num+1Sa S.num:=0LL1,S L.num:=L1.num+S.numLS L.num:=S.numS{S.depth:=0}SS{L.depth:=S.depth+1}Sa{print(S.depth)}L{L1.depth:=L.depth}L1,{S.depth:=L.depth}L{S.depth:=L.depth}St1:=initialt2:=finalift1>t2gotoL1v:=t1L2:stmtifv=t2gotoL1v:=v+1gotoL2L1:aabb是外部变量,它们都分配在静态数据区(由.data伪指令开始,但是b由伪指令l指明为全局的,用来解决其它文件中对aaccaabb一样,cc在源程序中的作用域是函func的体,而在目标文件中,它的作用域至少已是整个文件了,为避免同源cc.2cccc.2前面没有伪指令.globldd是自动变量,func的体,其生存期是该函数激活期间,因此它分配在栈区,并且置初值是用运行时的赋值来实现。判断类型错误的。unionU{intu1;int*u2;}u;intp;u.u1=10;p=u.u2;p=0;S

BS。

ABB

B进行编译,得到一个可执行程序。SCC。B B10yz.(x+y

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论