西交《编译原理》在线作业
试卷总分:100 得分:100
一、单选题 (共 30 道试题,共 60 分)
1.文法G产生的( )的全体是该文法描述的语言。
A.句型
B.终结符集
C.非终结符集
D.句子
2.正则文法( )二义性的。
A.可以是
B.一定不是
C.一定是
D.没有正确答案
3.用高级语言编写的程序经编译后产生的程序叫( )
A.源程序
B.目标程序
C.连接程序
D.解释程序
4.在LR(0)的ACTION子表中,如果某一行中存在标记“rj”的栏,则( )。
A.该行必定填满rj
B.该行未填满rj
C.其他行也有rj
D.goto子表中也有rj
5.程序语言的单词符号一般可以分为5种,下面( )不需要超前搜索
A.关键字
B.标识符
C.常数
D.算符和界符
6.使用( )可以定义一个程序的意义。
A.语义规则
B.词法规则
C.产生规则
D.词法规则
7.现代多数实用编译程序所产生的目标代码都是一种可重定位的指令代码,在运行前必须借助于一个( )把各个目标模块,包括系统提供的库模块连接在一起,确定程序变量或常数在主存中的位置,装入内存中制定的起始地址,使之成为一个可运行的绝对指令代码的程序。
A.重定位程序;
B.解释程序;
C.连接装配程序;
D.诊断程序;
8.编译程序使用( )区别标识符的作用域。
A.说明标识符的过程或函数名
B.说明标识符的过程或函数的静态层次
C.说明标识符的过程或函数的动态层次
D.标识符的行号
9.正规表达式(ε|a|b)2表示的集合是( )
A.{ε,ab,ba,aa,bb}
B.{ab,ba,aa,bb}
C.{a,b,ab,aa,ba,bb}
D.{ε,a,b,aa,bb,ab,ba}
10.有限自动机( )个接受状态。
A.只能有一个
B.只能有两个
C.只能有三个
D.可以有0个、一个或多个
11.在下述的编译方法中,自顶向下的分析方法有 ( ) 。
A.简单优先分析
B.算符优先分析
C.递归下降分析
D.预测分析技术
E.LR(K)分析
F.SLR(k)分析
G.LL(k)分析
H.LALR(K)分析
12.程序语言的单词符号一般可以分为5种,下面( )不需要超前搜索。
A.关键字
B.标识符
C.常数
D.算符和界符
13.编译原理各阶段工作都涉及( )
A.词法分析
B.表格管理
C.语法分析
D.语义分析
14.编译过程中,语法分析器的任务就是( )
A.分析单词是怎样构成的
B.分析单词串是如何构成语句和说明的
C.分析语句和说明是如何构成程序的
D.分析程序的结构
15.给定文法A→bA|cc,则符号串①cc ②bcbc ③bcbcc ④bccbcc ⑤bbbcc中,是该文法句子的是( )
A.①
B.③④⑤
C.②④
D.①⑤
16.把汇编语言程序翻译成机器可执行的目标程序的工作是由( )完成的。
A.编译器
B.汇编器
C.解释器
D.预处理器
17.一个文法所描述的语言是()。
A.唯一的
B.不唯一的
C.可能唯一,好可能不唯一
18.编译过程中,语法分析器的任务是( )① 分析单词的构成② 分析单词串如何构成语句③ 分析语句是如何构成程序④ 分析程序的结构
A.②③
B.④
C.①②③④
D.②③④
19.现代多数实用编译程序所产生的目标代码都是一种可重定位的指令代码,在运行前必须借助于一个 把各个目标模块,包括系统提供的库模块连接在一起,确定程序变量或常数在主存中的位置,装入内存中制定的起始地址,使之成为一个可运行的绝对指令代码的程序。
A.重定位程序;
B.解释程序;
C.连接装配程序;
D.诊断程序;
20.构造编译程序应掌握( )。
A.源程序
B.目标语言
C.编译方法
D.其他三项都是
21.以( )作为输出,允许自程序单独编译。
A.绝对机器代码
B.可再定位机器语言
C.汇编语言程序
D.中间语言
22.在运行空间的划分中有一个单独的区域叫堆,用来存放( )。
A.目标代码
B.静态数据
C.动态数据
D.过程参数
23.词法分析器的输入是( )。
A.单词符号串
B.源程序
C.语法单位
D.目标程序
24.如果一个编译程序能产生不同于其宿主机的机器代码,则称它为( )
A.诊断编译程序
B.优化编译程序
C.交叉编译程序
D.可变目标编译程序
25.语法分析器接收以( )为单位的输入,并产生有关信息供以后各阶段使用。
A.表达式
B.产生式
C.单词
D.语句;
26.词法分析器的输出结果是( )。
A.单词自身值
B.单词在符号表中的位置
C.单词的种别编码
D.单词的种别编码和自身值
27.采用自上而下分析,必须( )。
A.消除回溯
B.消除左递归
C.消除右递归
D.提取公共左因子
28.( )文法不是LL(1)的。
A.递归
B.右递归
C.2型
D.含有公共左因子的
29.上下文无关文法可以用 来描述
A.正则表达式
B.正规文法
C.扩展的BNF
D.翻译模式
30.如果文法G是无二义的,则它的任何句子( )
A.最左推导和最右推导对应的语法树必定相同
B.最左推导和最右推导对应的语法树可能不同
C.最左推导和最右推导必定相同
D.可能存在两个不同的最左推导,但它们对应的语法树相同
二、判断题 (共 20 道试题,共 40 分)
31.只含有综合属性的属性文法是S-属性文法。( )
32.设r和s分别是正规式,则有L(r|s)=L(r)|L(s)。( )
33.正则文法一定不是二义的。( )
34.正规文法产生的语言都不可以用上下文无关文法来描述。( )
35.在编译过程中,既可以将几个不同的阶段合为一遍,也可以把一个阶段的工作分为若干遍。( )
36.有穷自动机接受的语言是正则语言。( )
37.对任何一个NFAM,不一定存在一个DFAM’,使得L(M’)=L(M)。( )
38.只含有继承属性的属性文法称为-L属性文法。( )
39.非终结符只有综合属性,由词法分析器提供。( )
40.算符优先分析法是一种规范规约法。( )
41.任何算符优先文法的句型中不会有两个相邻的非终结符号。( )
42.把循环中的乘法运算用递归加法运算来替换就是一种强度削弱。( )
43.“回填”技术用于对过程中的说明语句进行处理时把计算出的有关符号的属性填入符号表。
44.LL(1)文法不能用LR(1)分析器来分析。( )
45.对于数据空间的存贮分配,FORTRAN采用动态贮存分配策略。
46.不确定的自动机不能正确地识别正规集。( )
47.每一个SLR(1)文法也都是LR(1)文法。( )
48.对任何正则表达式r,都存在一个DFAM,满足L(M)=L(r)。( )
49.编译程序生成的目标程序都是可执行的程序。( )
50.对于每一个左线性文法G1,不一定存在一个右线性文法G2,使得L(G1)=L(G2)。( )