当前位置:文档之家› 电子科技大学《程序设计语言与编译》自测题答案

电子科技大学《程序设计语言与编译》自测题答案

程序设计语言与编译一
一、 单项选择题(每题 1 分,共 10 分)
1.一个程序单元可有( D )实例。
A. 0 个,B.1 个, C.2 个,D.多个
2.编译程序是将( C )程序改造成目标语言程序的翻译程序。
A. 机器语言,B.汇编语言,C.高级语言,D.低级语言
3.规范规约每次都是对( A )进行规约。
A. 抽象机,B.识别机,C.翻译机,D.虚拟机
7.词法分析器的输入是( A )。
A. 字符串,B.二元式,C.三元式,D.四元式
8.在一棵语法树中,子树叶结点的自左至右排列称为( A )。
A. 短语,B.句型,C.句柄,D.素短语
9.运行时进行的检查称为( B )。
A. 错误检查,B.动态检查,C.静态检查,D.随机检查
拓广文法:(0) S'→S
(1) S→cA
(2) A→AdB
(3) A→B
(4) B→a
(5)B→b
I0:S'→·S
I3:S→cA· A→A.dB
I7:A→Ab·B
S→·cA
I4:A→B·
B→·a
I1:S'→S·
I5:B→a·
B→·b
I2:S→c·A
I8:A→AdB·
A→·a
I6:B→b·
A→·AdB
3.把一个高级语言程序翻译成机器可执行的目标程序的工作由下列程序之一完成( C )
A. 汇编程序,B.解释程序,C.编译程序,D.预处理程序
4. LR 分析法的核心部分是( B )。
B. 总控程序,B.分析表,C.分析栈,D.可规约串
5.词法分析时,单词的识别依据( C )实现
A. 下推自动机,B.图灵机,C.状态转换图,D.抽象机
三、 简答题(每小题 5 分,共 20 分)
1、 分程序与复合语句的区别是什么?
分程序中可说明局部于该程序的变量,复合语句是可执行语句的序列,其中没有说明语句
2、 循环优化有哪几种方法?
代码外提,强度削弱,删除归纳变量
3、 怎样判断一个文法具有二义性?
文法 G 如果产生的某个句子对应两棵不同的语法数,则有二义性
3.Chomsky 将文法分成( ACDE )
A. 短语文法,B.LL(1)文法,C.上下文无关文法,D.上下文有关文法,E.正规文法
4.数据聚合的方式有( ABDE )
A. 笛卡儿积,B.有限映像,C.指针,D.递归,E.判定或
5.强制性语言中,变量具有属性( ABDE )
A. 作用域,B.生存期,C.强制性,D.值,E.类型
A. 句柄, B.短语, C.最左素短语,D.句型
4.LR 分析法的核心部分是( B )。
A. 总控程序,B.分析表,C.分析栈,D.可规约串
5.现今多数语言的描述工具是上下文无关文法,它对应于( D )。
A. 图灵机,B.线性有界自动机,C.有限自动机,D.非确定的下推自动机
6.将一台实际的机器装上 Pascal 编译程序,它就成为 Pascal( D )。
WHILE a<b DO
IF a>0 THEN y:=0
ELSE y:=y+1;
(100)(j<,a,b,102)
(106)(+,y,’1’,t1)
(101) (j>,-,-,109)
(107)(:=,t1,-,y)
(102) (j>,a,’0’,104)
(108) (j,-,-,100)
(103)(j>,-,-,106)
6.句型是由( D. )推导出的符号串。
A. 非终结符,B.终结符,C.任何符号,D.开始符号
7.一棵语法树中,子树叶结点的自左至右排列称为( A )。
B. 短语,B.句型,C.句柄,D.素短语
8.一个对象与其某种属性建立某种联系的过程,称为( D. )。
B.赋值,B.存储,C.定义,D.绑定
9.( A )是指可访问该变量的程序范围。
4、 什么叫语法制导翻译?
每个产生式配一个子程序,在语法分析的过程中,每当用一个产生式进行匹配或归约时,就调用相应的语义子程序
四、 推导题(共 15 分)
1、已知文法 G(S):
S→a∣b∣(A)
A→SdA∣S
1. 证明(bdS)是 G(S)的句型;(5 分)
S=>(A)=> (SdA)=>(bdA)=>(bdS)
所以是句型
2. 画出(bdS)的推导树;(5 分)
S

A

SdA
bS
3. 求句型(bdS)的短语,直接短语,素短语,句柄。(5 分)
短语 b、S、bdS、(bdS)
直接短语 b、S
素短语 b
句柄 b
五、 算符优先分析法(共 15 分) 设有文法 G:
P→P(F)| P
F→abFda | a
(1)求每个非终结符的 FIRSTVT 集和 LASTVT 集(8 分)
FIRSTVT(P)={a,c} FIRSTVT(F)={a}
LASTVT(P)={a,)} LASTVT(F)={a}
(2)试构造文法 G 的优先关系表(7 分)
优先关系表:
六、 LR 分析法(共 20 分)
已知文法 G(S):
S→cA
A→AdB∣B
B→a∣b
1. 构造 G(S)的 LR(0)项目集规范族;(8 分)
(109)
(104)(:=,’0’,-,y)
(105)(j,-,-,100)
程序设计语言与编译二
一、选择题(每题 1 分,共 10 分)
1.编译时能进行的检查类型检查为( C )
A. 错误检查,B.动态检查,C.静态检查,D.随机检查
2.一个程序单元可有( D )实例
A. 0 个,B.1 个, C.2 个,D.多个
10.一个对象与其某种属性建立某种联系的过程,称为( D )。
A. 赋值,B.存储,C.定义,D.绑定
二、 多项选择题(每小题 2 分,共 10 分)
1.类型转换的方法( B E )
A. 动态转换,B.拓展,C.静态转换,D.收缩,E.显式转换
2.语句级控制结构有( BCE )
A.递归,B.顺序,C.选择,D.过程调用,E.重复
B→.a
B→.b
2. 构造 SLR 分析表;(8 分)
action
goto
a
b
c
d
$
S
A
B
0
S2
1
1
acc
2
S5
S6
3
4
3
S7
R1
4
R3
R3
5
R4
R4
6

R5
R5
7
S5
S6
8
8
R2
R2
3. 该文法是 SLR(1)文法吗?理由是什么?(4 分)
是,不存在多重入口
七、 语义分析题(10 分)
将下面语句翻译成四元式序列:
a) 变量的作用域,B.变量的生存期,C.变量的值,D.变量的类型
10.( B. )不属于单元级控制结构。
A. 过程调用,B.循环,C.异常处理,D.并发单元
相关主题