西安交通大学18年5月补考《编译原理》作业考核试题-0001
试卷总分:100    得分:0
一、 单选题 (共 30 道试题,共 60 分)
1.在语法分析处理中,FIRST集合.FOLLOW集合均是( )
A.非终结符集
B.终结符集
C.字母表
D.状态集
2.算符优先分析法每次都是对________进行归约:
A.句柄
B.最左素短语
C.素短语
D.简单短语
3.Pascal的if语句满足( )。
A.最远匹配原则
B.动态作用域规则
C.静态作用域规则
D.最近匹配原则
4.合并表达式中常量运算的目的是( )。
A.使表达式中的常量尽可能少
B.是表达式尽可能简短
C.将可在编译时刻计算的常量运算在编译时刻计算出来,然后用所计算出来的值替换表达式中出现的所有这种常量运算,使得生成的代码指令尽可能少
D.以上都是
5.一个数据类型通常包括三种要素,下面( )不是:
A.用于区别这种类型的数据对象的属性;
B.这种类型的数据对象可以具有的值;
C.对这种类型的数据对象的内存分配;
D.可以作用于这种类型的数据对象的操作;
6.LR(k)文法( )
A.都是无二义性的
B.都是二义性的
C.一部分是二义性的
D.无法判定
7.设有文法G[S]:S→S1|S0|Sa|Sc|a|b|c,下列符号串中是该文法的句子有( )
A.ab0
B.a0c01
C.a0b0a
D.bc10
8.词法分析器的输入是( )。
A.单词符号串
B.源程序
C.语法单位
D.目标程序
9.一个句型中的( )称为该句型的句柄。
A.最左直接短语
B.最右直接短语
C.终结符
D.非终结符
10.在下述的编译方法中,自顶向下的分析方法有 ( ) 。
A.简单优先分析
B.算符优先分析
C.递归下降分析
D.预测分析技术
E.LR(K)分析
F.SLR(k)分析
G.LL(k)分析
H.LALR(K)分析
11.使用三元式是为了( )。
A.便于代码优化处理
B.避免把临时变量填入符号表
C.节省存储代码的空间
D.提高访问代码的速度
12.变量应当( )。
A.持有左值
B.持有右值
C.既持有左值又持有右值
D.既不持有左值也不持有右值
13.下推自动机识别的语言是( )
A.0型语言
B.1型语言
C.2型语言
D.3型语言
14.3. 现代多数实用编译程序所产生的目标代码都是一种可重定位的指令代码,在运行前必须借助于一个 把各个目标模块,包括系统提供的库模块连接在一起,确定程序变量或常数在主存中的位置,装入内存中制定的起始地址,使之成为一个可运行的绝对指令代码的程序。
A.重定位程序;
B.解释程序;
C.连接装配程序;
D.诊断程序;
15.文法开始符号的所有________作为属性计算前的初始值。
A.综合属性
B.继承属性
C.继承属性和综合属性
D.都不是
16.静态分配允许程序出现( )。
A.递归过程
B.可变体积的数
据项目
C.静态变量
D.待定性质的名字
17.Chomsky 定义的四种形式语言文法中, 2 型语言可由 ( ) 识别。
A.短语结构文法
B.前后文无关文法
C.前后文有关文法
D.正规文法
E.图灵机
F.有限自动机
G.下推自动机
18.若一个文法是递归的,则它所产生的语言的句子( )。
A.是无穷多个
B.是有穷多个
正则匹配原理C.是可枚举的
D.个数是常量
19.文法G产生的()的全体是该文法描述的语言。
A.句型
B.终结符集
C.非终结符集
D.句子
20.( )的任务是把中间代码(或经过优化处理之后)变换成特定机器上的低级语言代码。
A.词法分析
B.语法分析
C.优化
D.目标代码生成
21.文法S→aaS|abc定义的语言是( )。
A.{a2kbc|k>0}
B.{akbc|k>0}
C.{a2k-1bc|k>0}
D.{akakbc|k>0}
22.描述一个语言的文法是( )
A.唯一的
B.不唯一的
C.可能唯一
D.都不正确
23.给定文法A→bA | ca,为该文法句子的是( )
A.bba
B.cab
C.bca
D.cba
24.程序所需的数据空间在程序运行前可确定,称为( )管理技术。
A.动态存储
B.栈式存储
C.静态存储
D.堆式存储
25.一个文法所描述的语言是()。
A.唯一的
B.不唯一的
C.可能唯一,好可能不唯一
26.语法分析器接收以________为单位的输入,并产生有关信息供以后各阶段使用。
A.表达式;
B.产生式;
C.单词;
D.语句;
27.描述一个语言的文法是( )
A.唯一的
B.不唯一的
C.可能唯一,也可能不唯一
28.词法分析器的输出结果是( )。
A.单词自身值
B.单词在符号表中的位置
C.单词的种别编码
D.单词的种别编码和自身值
29.( )这样一些语言,它们能被确定的有穷自动机识别,但不能用正则表达式表示。
A.存在
B.不存在
C.无法判定是否存在
D.以上都不正确
30.在使用高级语言编程时,首先可通过编译程序发现源程序的全部和部分( )错误。
A.语法
B.语义
C.语用
D.运行
二、 判断题 (共 20 道试题,共 40 分)
1.正则文法一定不是二义的。( )
A.错误
B.正确
2.正规文法产生的语言都可以用上下文无关文法来描述。( )
A.错误
B.正确
3.若某一个句型中出现了某一产生式的右部,则此右部不一定是该句型的句柄。( )
A.错误
B.正确
4.优化的任务在于对前端编译所产生的中间代码进行加工和变换,以其能产生运行结果更为准确的目标代码。( )
A.错误
B.正确
5.一棵语法树表示了一个句型所有的不同推导过程,包括最右推导和最左推导。 ( )
A.错误
B.正确
6.确定的自动机以及不确定的自动机都能正确地识别正规集。( )
A.错误
B.正确
7.正规文法产生的语言都不可以用上下文无关文法来描述。( )
A.错误
B.正确
8.S—属性文法一
定是L—属性文法。( )
A.错误
B.正确
9.对一个右线性文法G,必存在一个左线性文法G',使得L(G)=L(G'),反之亦然。( )
A.错误
B.正确
10.若一个程序语言的任何变量的存储空间大小和相互位置都能在编译时确定,则可采用静态分配策略。( )
A.错误
B.正确
11.对于每一个左线性文法G1,都存在一个右线性文法G2,使得L(G1)=L(G2)。( )
A.错误
B.正确
12.不确定的自动机不能正确地识别正规集。( )
A.错误
B.正确
13.NFA M的非确定性表现在它有多个终态。
A.错误
B.正确
14.存在一种算法,能判定任何上下文无关文法是否是LL(1)的。 ( )
A.错误
B.正确
15.对任意一个右线性文法G,都存在一个NFAM,满足L(G)=L(M)。( )
A.错误
B.正确
16.在程序设计语言中,一般来说,布尔表达式仅仅用于条件、循环等控制流语句中的条件表达式计算。( )
A.错误
B.正确
17.仅考虑一个基本块,不能确定一个赋值是否真是无用的。
A.错误
B.正确
18.上下文无关文法比正规文法有更差的描述能力。( )
A.错误
B.正确
19.任何算符优先文法的句型中一定会有两个相邻的非终结符号。( )
A.错误
B.正确
20.只含有综合属性的属性文法是S-属性文法。( )
A.错误
B.正确

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。