|
程序设计语言与编译
一、 单项选择题(每题1分,共10分)
1.一个程序单元可有( )实例。
A. 0个,B.1个, C.2个,D.多个
2.编译程序是将( )程序改造成目标语言程序的翻译程序。
A. 机器语言,B.汇编语言,C.高级语言,D.低级语言
3.规范规约每次都是对( )进行规约。
A. 句柄, B.短语, C.最左素短语,D.句型
4.LR分析法的核心部分是( )。
A. 总控程序,B.分析表,C.分析栈,D.可规约串
5.现今多数语言的描述工具是上下文无关文法,它对应于( )。
A. 图灵机,B.线性有界自动机,C.有限自动机,D.非确定的下推自动机
6.将一台实际的机器装上Pascal编译程序,它就成为Pascal( )。
A. 抽象机,B.识别机,C.翻译机,D.虚拟机
7.词法分析器的输入是( )。
A. 字符串,B.二元式,C.三元式,D.四元式
8.在一棵语法树中,子树叶结点的自左至右排列称为( )。
A. 短语,B.句型,C.句柄,D.素短语
9.运行时进行的检查称为( )。
A. 错误检查,B.动态检查,C.静态检查,D.随机检查
10.一个对象与其某种属性建立某种联系的过程,称为( )。
A. 赋值,B.存储,C.定义,D.绑定
二、 多项选择题(每小题2分,共10分)
1.类型转换的方法( )
A. 动态转换,B.拓展,C.静态转换,D.收缩,E.显式转换
2.语句级控制结构有( )
A.递归,B.顺序,C.选择,D.过程调用,E.重复
3.Chomsky 将文法分成( )
A. 短语文法,B.LL(1)文法,C.上下文无关文法,D.上下文有关文法,E.正规文法
4.数据聚合的方式有( )
A. 笛卡儿积,B.有限映像,C.指针,D.递归,E.判定或
5.强制性语言中,变量具有属性( )
A. 作用域,B.生存期,C.强制性,D.值,E.类型
三、 简答题(每小题5分,共20分)
1、 分程序与复合语句的区别是什么?
2、 循环优化有哪几种方法?
3、 怎样判断一个文法具有二义性?
4、 什么叫语法制导翻译?
四、 推导题(共15分)
1、已知文法G(S):
S→a∣b∣(A)
A→SdA∣S
1. 证明(bdS)是G(S)的句型;(5分)
2. 画出(bdS)的推导树;(5分)
3. 求句型(bdS)的短语,直接短语,素短语,句柄。(5分)
五、 算符优先分析法(共15分)
设有文法G:
P→P(F)| P
F→abFda | a
(1)求每个非终结符的FIRSTVT集和LASTVT集(8分)
(2)试构造文法G的优先关系表(7分)
优先关系表:
六、 LR分析法(共20分)
已知文法G(S):
S→cA
A→AdB∣B
B→a∣b
1. 构造G(S)的LR(0)项目集规范族;(8分)
2. 构造SLR分析表;(8分)
3. 该文法是SLR(1)文法吗?理由是什么?(4分)
七、 语义分析题(10分)
将下面语句翻译成四元式序列:
WHILE a<b DO
IF a>0 THEN y:=0
ELSE y:=y+1;
|
|