- 1、本文档共8页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
中南财经政法大学2009 –
中南财经政法大学2009 –2010学年第一学期
期末考试试卷
课程名称:《编译原理》(B)卷
课程代号:
考试形式:闭卷笔试
使用对象:计算机科学与技术0701班
-________________________________________________________________________
题号
1
2
3
4
5
6
7
8
9
10
总分
总分人
分值
10
10
10
15
10
10
10
10
15
100
得分
______________________________________________________________________________
得分
评阅人
1.名词解释:(每题2分,,共 10分 )
句柄
LR(1)文法
无环路有向图(DAG)
语法制导翻译
局部优化
院(系): 专业: 年级: 学生姓名: 学号: 课堂号:________
------------------------------------------------- 密 ---------------------------------- 封 ----------------------------- 线 ---------------------------------------------------------
得分
得分
评阅人
2.( 10分)某操作系统下合法的文件名为
device:name.extension
其中第一部分(device:)和第三部分(.extension)可缺省,device, name和extension都是字母串,长度不限,但至少为1,画出识别这种文件名的确定有限自动机。
得分
评阅人
3.( 10分)下面两个文法中哪一个不是LR(1)文法?对非LR(1)的那个文法。给出那个有移进-归约冲突的规范的LR(1)项目集。
S ? aAc S ? aAc
A ? bbA | b A ? bAb | b
第 1 页(共 4 页)
得分评阅人
得分
评阅人
4.( 15 分)程序的文法如下:
P ? D
D ? D ; D | id : T | proc id ; D ; S
(1)写一个语法制导定义,打印该程序一共声明了多少个id。
(2)写一个翻译方案,打印该程序每个变量id的嵌套深度。
------------------------------------------------- 密 ---------------------------------- 封 ----------------------------- 线 ---------------------------------------------------------
得分
得分
评阅人
5.( 10分)在PASCAL语言中,简单类型的变量的声明例举如下:
m, n : integer
p, q, r : real
为这样的声明写一个LR(1)文法(为简单起见,变量标识符都用id表示),并根据你的文法写一个语法制导定义(或叫做为你的文法加上语义动作),它将变量的类型填入符号表。
第 2 页(共 4 页)
得分
得分
评阅人
6.( 10分)下面程序在SUN工作站上运行时陷入死循环,试说明原因。如果将第8行的long *p改成short *p,并且将第23行long k 改成short k后,loop中的循环体执行一次便停止了。试说明原因。
main()
{
addr();
loop();
}
long *p;
loop()
{
long i,j;
j=0;
for(i=0;i<10;i++){
(*p)--;
j++;
}
}
addr()
{
long k;
k=0;
p=&k;
}
------------------------------------------------- 密 ------------------
文档评论(0)