- 1、本文档共21页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
编译原理期末考试卷编译原理末考试卷编译原理期末考试卷编译原理期末考试卷
2001年编译原理试题
1.(10分)处于/* 和 */之间的串构成注解,注解中间没有*/。画出接受这种注解的DFA的状态转换图。
2.(10分)为语言
L = {ambn | 0 ( m ( 2n}(即a的个数不超过b的个数的两倍)
写一个LR(1)文法,不准超过6个产生式。(若超过6个产生式,不给分。若所写文法不是LR(1)文法,最多给5分。)
3.(10分)构造下面文法的LL(1)分析表。
D ( TL
T ( int | real
L ( id R
R ( , id R | (
4.(15分)就下面文法
S ( ( L) | a L ( L ( S | S
( 给出一个语法制导定义,它输出配对括号的个数。
( 给出一个翻译方案,它输出每个a的嵌套深度。
如句子(a, (a, a) ),第一小题的输出是2,第二小题的输出是1 2 2。
5.(10分)Pascal语言for语句的含义见教材第222页习题7.13。请为该语句设计一种合理的中间代码结构。你可以按第215页图7.17的方式或者第219页图7.19的方式写出你的设计,不需要写产生中间代码的语法制导定义。
6.(5分)一个C语言程序如下:
func(i1,i2,i3)
long i1,i2,i3;
{
long j1,j2,j3;
printf(Addresses of i1,i2,i3 = %o,%o,%o\n,i1,i2,i3);
printf(Addresses of j1,j2,j3 = %o,%o,%o\n,j1,j2,j3);
}
main()
{
long i1,i2,i3;
func(i1,i2,i3);
}
该程序在某种机器的Linux上的运行结果如下:
Addresses of i1,i2,i3 = 27777775460,27777775464,27777775470
Addresses of j1,j2,j3 = 27777775444,27777775440,27777775434
从上面的结果可以看出,func 函数的3个形式参数的地址依次升高,而3个局部变量的地址依次降低。试说明为什么会有这个区别。
7.(15分)一个C语言程序及其在某种机器linux操作系统上的编译结果如下。根据所生成的汇编程序来解释程序中四个变量的作用域、生存期和置初值方式等方面的区别。
static long aa = 10;
short bb = 20;
func()
{
static long cc = 30;
short dd = 40;
}
.file static.c
.version 01.01
gcc2_compiled.:
.data
.align 4
.type aa,@object
.size aa,4
aa:
.long 10
.globl bb
.align 2
.type bb,@object
.size bb,2
bb:
.value 20
.align 4
.type cc.2,@object
.size cc.2,4
cc.2:
.long 30
.text
.align 4
.globl func
.type func,@function
func:
pushl %ebp
movl %esp,%ebp
subl $4,%esp
movw $40,-2(%ebp)
.L1:
leave
ret
.Lfe1:
.size func,.Lfe1-func
.ident GCC: (GNU) egcs-2.91.66Linux (egcs-1.1.2 release)
8.(10分)C语言是一种类型语言,但它不是强类型语言,因为编译时的类型检查不能保证所接受的程序没有运行时的类型错误。例如,编译时的类型检查一般不能保证运行时没有数组越界。请你再举一个这样的例子说明C语言不是强类型语言。
9.(10分)如果在A机器上我们有C语言编译器CCA,也有它的源码SA(用C语言写成)。如何利用它通过尽量少的工作来得到B机器的C语言编译器CCB。
10.(5分)表达式((x.((yz.(x + y) + z) 3) 4 5和((x.((yz.(x + y) + z) 3 5) 4有同样的结果。在抽象机FAM上,哪一个表达式对应的目标代码的执行效率高?为什么?
2003年编译原理试题
1.(20分)写出字母表( = {a, b}上语言L = {w | w中a的个数是偶数}的正规式,并画出接受该语言的
您可能关注的文档
- 必修五2.4等比数列的概念性质(4课时)必修五2.4等比数列的概念与性质(4课时)必修五2.4等比数列的概念与性质(4课时)必修五2.4等比数列的概念与性质(4课时).ppt
- 必修一到必修四词汇(吴海娜试版)必修一到必修四词汇(吴海娜测试版)必修一到必修四词汇(吴海娜测试版)必修一到必修四词汇(吴海娜测试版).doc
- 必修一 第三单元 细胞的量供应和利用第2讲 atp 的主要来源--细胞呼吸必修一 第三单元 细胞的能量供应和利用第2讲 atp 的主要来源--细胞呼吸必修一 第三单元 细胞的能量供应和利用第2讲 atp 的主要来源--细胞呼吸必修一 第三单元 细胞的能量供应和利用第2讲 atp 的主要来源--细胞呼吸.doc
- 必修一第六章第2、4节必修第六章第2、4节必修一第六章第2、4节必修一第六章第2、4节.ppt
- 必修一第一章(一)必修一第章(一)一章(一).doc
- 必修一5-1细胞代谢中的酶atp必修一5-1细胞代谢中的酶和atp必修一5-1细胞代谢中的酶和atp必修一5-1细胞代谢中的酶和atp.doc
- 必修一政治 第二单元 产、劳动与经营必修一政治 第二单元 生产、劳动与经营必修一政治 第二单元 生产、劳动与经营必修一政治 第二单元 生产、劳动与经营.doc
- 必修一 第四单元 第10讲修一 第四单元 第10讲必修一 第四单元 第10讲必修一 第四单元 第10讲.doc
- 必修一新中国初期的政治建设课[人教版][必修一新中国初期的政治建设说课[人教版][必修一新中国初期的政治建设说课[人教版][必修一新中国初期的政治建设说课[人教版][.ppt
- 必修一前三章检测试题必修一三章检测试题必修一前三章检测试题必修一前三章检测试题.doc
文档评论(0)