编译的技术习题3.docx

上传人:b****5 文档编号:11832125 上传时间:2023-04-05 格式:DOCX 页数:8 大小:18.34KB
下载 相关 举报
编译的技术习题3.docx_第1页
第1页 / 共8页
编译的技术习题3.docx_第2页
第2页 / 共8页
编译的技术习题3.docx_第3页
第3页 / 共8页
编译的技术习题3.docx_第4页
第4页 / 共8页
编译的技术习题3.docx_第5页
第5页 / 共8页
点击查看更多>>
下载资源
资源描述

编译的技术习题3.docx

《编译的技术习题3.docx》由会员分享,可在线阅读,更多相关《编译的技术习题3.docx(8页珍藏版)》请在冰豆网上搜索。

编译的技术习题3.docx

编译的技术习题3

《编译技术》习题3

一、单项选择题

1.如果文法G是无二义的,则下面()成立。

A、对于文法中的任意一个句子,它的最左或最右推导对应的语法树相同

B、文法中的一个句子对应两棵不同的语法树

C、文法中的某个句子有两棵不同的最左推导

D、文法中的某个句子有两棵不同的最右推导

2.解释程序和编译程序是两类程序语言处理程序,它们的主要区别在于()。

A、单用户与多用户的差别

B、对用户程序的差错能力

C、机器执行效率

D、是否生成目标代码

3.有文法的开始符号经0步或多步推导产生的文法符号序列是()。

A、句型

B、短语

C、句柄

D、句子

4.规范规约分析法每次都是对()进行归约。

A、简单短语

B、句柄

C、最左短语

D、素短语

5.正规式MI和M2等价是指()。

A、MI和M2的状态数相等

B、Ml和M2的有向弧条数相等

C、M1和M2所识别的语言集相等

D、Ml和M2状态数和有向弧条数相等

6.后缀式ab+cd+/可用表达式()来表示。

A、a+b/c+d

B、(a+b)/(c+d)

C、a+b/(c+d)

D、a+b+c/d

7.语法分析器则可以发现源程序中的()。

A、语义错误

B、语法和语义错误

C、错误并校正

D、语法错误

8.编译程序是一种()。

A、汇编程序

B、翻译程序

C、解释程序

D、目标程序

9.数组的内情向量中肯定不含有数组的()的信息。

A、维数

B、类型

C、维上下界

D、各维的界差

10.某个语言,它能用正规表达式表示,但是不能使用任何正规文法表示,这个语言必然是()。

A、含二义性的语言

B、不存在的语言

C、1型文法所对应的语言

D、既含左递归又含右递归的语言

11.以下中间代码的表示形式中,()更便于优化。

A、三元式

B、四元式

C、树

D、后缀式

12.一个上下文无关文法消除了左递归,提取了左公共因子后是满足LL

(1)文法的()。

A、必要条件

B、充分条件

C、充分必要条件

D、无关条件

13.通常一个编译程序中,不仅包含词法分析、语法分析、中间代码生成、代码优化、目标代码生成等五个部分,还应包括()。

A、模拟执行器

B、解释器

C、表格处理和出错处理

D、符号执行器

14.xab+cde-*f/+:

=是赋值语句()相应的后缀式。

A、x:

=a+b+c*d-e/f

B、x:

=a+(b+c)*d-e/f

C、x:

=a+b+c*(d-e)/f

D、x:

=a+b+c+(c*d)-e/f

15.()是一种典型的解释型语言。

A、BASIC

B、C

C、FORTRAN

D、PASCAL

16.某个语言,它能用正规表达式表示,但是不能使用任何正规文法表示,这个语言必然是()。

A、含二义性的语言

B、不存在的语言

C、1型文法所对应的语言

D、既含左递归又含右递归的语言

17.间接三元式表示法的优点为()。

A、采用间接码表,便于优化处理

B、节省存储空间,不便于表的修改

C、便于优化处理,节省存储空间

D、节省存储空间,不便于优化处理

二、多项选择题

1.编译过程中扫描器的任务包括()。

A、组织原程序的输入

B、识别单词属性,并输出

C、删除注解

D、行计数、列计数

2.编译方法中自底向上的语法分析算法有()。

A、递归下降法

B、SLR方法

C、LL(K)分析方法

D、LR(K)方法

3.下面()需要在运行阶段分配存储空间。

A、数组

B、指针变量

C、动态数组

D、静态变量

E、动态变量

4.活动记录包括()。

A、局部变量

B、连接数据

C、形式单元

D、局部数组的内情变量

E、临时工作单元

5.静态分配不允许程序出现()。

A、递归过程

B、静态数组

C、可变体积的数据项目

D、待定性质的名字

E、静态变量

6.编译过程中,语法分析器的任务是()。

A、分析单词是怎样构成的

B、分析单词串是如何构成语句和说明的

C、分析语句和说明是如何构成程序的

D、分析程序的结构

7.栈式动态分配与管理因调用而进入过程之后,要做的工作是()。

A、定义新的活动记录的SP

B、保护返回地址

C、传递参数值

D、建立DISPLAY表

E、定义新的活动记录的TOP

8.源程序中的错误一般有()。

A、词法错误

B、语法错误

C、语义错误

D、编译错误

E、违反环境限制的错误

三、判断题(正确填“T”,错误填“F”)

1.语法制导翻译只适用于自下而上的语法分析方法。

()

2.分析器的基本动作是移进和规约,实际可能的动作还有接受和报错。

()

3.在编译中进行语法检查的目的是为了发现程序中所有错误。

()

4.自底而上语法分析方法的主要问题是候选式的选择。

()

5.削减运算强度破坏了临时变量在一基本块内仅被定义一次的特性。

()

6.一个活前缀r的有效项目集就是从这个DFA的初态出发,沿着标记为r的路径到达的那个项目集。

()

7.在程序中标识符的出现仅为使用性的。

()

8.编译程序与具体的机器有关,与具体的语言无关。

()

9.递归下降分析法是自顶向上分析方法。

()

四、填空题

1.一个名字的属性包括______和______。

2.文法符号的属性有两种,一种称为______,另一种称为______。

3.典型的编译程序是由______、______以及______和______组成的。

4.文法符号的属性有综合属性和______。

5.对编译程序而言,输入数据是______,输出结果是______。

6.语法分析基于______文法进行,即识别的是该类文法的句子。

语法分析的有效工具是______。

7.如果一个文法存在某个句子对应两棵不同的语法树,则称这个文法是____。

8.一个文法G[Z]若存在推导序列Z=>+…Z…,则称G[Z]是___文法。

9.产生式是用于定义______的一种书写规则。

10.自顶向下的语法分析方法的基本思想是:

从文法的______开始,根据给定的输入串并按照文法的产生式一步一步的向下进行______,试图推导出文法的______,使之与给定的输入串______。

五、综合题

1.什么是S-属性文法?

什么是L-属性文法?

它们之间有什么关系?

2.优化编译器对下面程序的局部变量i和j不分配空间,为什么?

main()

{

longi,j;

i=5;

j=i*2;

printf("%d\n",i+j);

}

《编译技术》习题3答案

一、单项选择题

题号

1

2

3

4

5

6

7

8

9

答案

A

D

A

B

C

B

D

C

A

题号

10

11

12

13

14

15

16

17

答案

B

B

A

C

C

A

B

A

二、多项选择题

题号

1

2

3

4

5

6

7

8

答案

ABCDE

BD

CE

ABCDE

ACD

BCD

ABDE

ABCE

三、判断题(正确填“T”,错误填“F”)

题号

1

2

3

4

5

6

7

8

9

答案

F

T

F

F

T

T

F

F

T

四、填空题

1、类型作用域

2、继承属性综合属性

3、词法分析语法分析语义分析及中间代码生成目标代码生成

4、继承属性

5、源程序目标程序

6、上下文无关语法树

7、二义的

8、递归

9、语法范畴

10、开始符号直接推导句子匹配

五、问答/综合题

1.答:

S-属性文法是只含有综合属性的属性文法。

L-属性文法要求对于每个产生式AX1X2…Xn,其每个语义规则中的每个属性或者是综合属性,或者是Xj的一个继承属性,且该属性仅依赖于:

(1)产生式Xj的左边符号X1,X2…Xj-1的属性;

(2)A的继承属性。

S-属性文法是L-属性文法的特例。

2.答:

优化时,通过复写转播和常量合并等会发现,对i和j的赋值都是无用赋值,可以删除,从而对i和j的存储分配没有必要。

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 人文社科 > 广告传媒

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1