《编译原理》试卷b(2009-2010-1)

《编译原理》试卷b(2009-2010-1)

ID:32661364

大小:64.61 KB

页数:9页

时间:2019-02-14

《编译原理》试卷b(2009-2010-1)_第1页
《编译原理》试卷b(2009-2010-1)_第2页
《编译原理》试卷b(2009-2010-1)_第3页
《编译原理》试卷b(2009-2010-1)_第4页
《编译原理》试卷b(2009-2010-1)_第5页
资源描述:

《《编译原理》试卷b(2009-2010-1)》由会员上传分享,免费在线阅读,更多相关内容在工程资料-天天文库

1、中南财经政法大学2009-2010学年第一学期期末考试试卷课程名称:《编译原理》(B)卷课程代号:09281020考试形式:闭卷笔试使用对象:计算机科学与技术0701班题号12345678910总分总分人分值101010151010101015100得分得分评阅人1.名词解释:(每题2分,,共10分)句柄LR(1)文法无环路有向图(DAG)语法制导翻译局部优化得分评阅人2.(10分)某操作系统下合法的文件名为device:name.extension其中第一部分(device:)和第三部分(.extension)可缺省,device,

2、name和extension都是字母串,长度不限,但至少为1,画出识别这种文件名的确定有限自动机。得分评阅人3.(10分)下面两个文法中哪一个不是LR(1)文法?对非LR(1)的那个文法。给出那个有移进一归约冲突的规范的LR(1)项目集。S-》aAcS-》aAcATbbA

3、bATbAb

4、b第]页(共4页)得分评阅人4.(15分)程序的文法如下:PtDD,Did:Tprocid;D;S(1)写一个语法制导定义,打印该程序一共声明了多少个id。(2)写一个翻译方案,打印该程序每个变量id的嵌套深度。得分评阅人5.(10分)在PASCA

5、L语言中,简单类型的变量的声明例举如下:m,n:integerp,q,r:real为这样的声明写一个LR(1)文法(为简单起见,变量标识符都用id表示),并根据你的文法写一个语法制导定义(或叫做为你的文法加上语义动作),它将变量的类型填入符号表。第2页(共4页)得分评阅人5.(10分)下面程序在SUNI作站上运行时陷入死循环,试说明原因。如果将第8行的long*p改成short*p,并且将第23行longk改成shortk后,loop中的循环体执行一次便停止了。试说明原因。niain(){addr();loop();long*p;lo

6、op(){longi,j;j二0;fdr(i=O;ivlO;i++){j++;}}addr(){longk;k=0;p二&k;}7.(10分)一个C语言函数如下:mainO{inti,j,k;i=5;J=l;wh订c(j<100){k二i+1;j二j+k;}经优化编译后,生成的代码如下.file''optimize.c"gcc2_compi]ed.:gnu_compiled_c:.text・align2.globl_func.type_func,@function_func:pushl%ebpmovl%esp,%ebpmovl$l,%

7、eaxmovl$6,%cdx•align2,0x90L4:addl%edx,%eaxcmpl$99,%eaxjleL4leave得分评阅人retLfcl:.size_func,Lfel-_func试说明编译器对这个程序作了哪些种类的优化(只需要说复写传播、删除公共子表达式等,不需要说怎样完成这些优化的)0得分评阅人8.(10分)为下面文法添加语义规则(或叫动作子程序),输出S,产生的二进制数的值,如输入是101时,输出5。S'tSStSB

8、BBT0

9、1得分评阅人8.(15分)构造下面文法的LL(1)分析表。DtTLTtint

10、real

11、L—idRRt,idR

12、£第4页(共_页)

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。