大学MOOC 编译原理(周艳聪)计科1701-03(天津商业大学)1450738197 最新慕课完整章节测试答案
第1讲概述
第一章测验
1、单选题:
编译器的输入是 。
选项:
A: 符号串
B: 源程序
C: 语法单位
D: 目标程序
答案: 【 源程序 】
2、单选题:
编译器的输出是 。
选项:
A: 符号串
B: 源程序
C: 语法单位
D: 目标程序
答案: 【 目标程序】
3、单选题:
有关编译过程的前端和后端,说法不正确的是()
选项:
A: 前端包括词法分析,语法分析,语义分析与中间代码产生,与机器无关的优化。
B: 前端包括词法分析,语法分析,语义分析与中间代码产生。
C: 后端包括部分代码优化和目标代码产生,其中代码优化不包括与目标机无关的优化
D: 后端包括与目标机有关的优化和目标代码产生
答案: 【 前端包括词法分析,语法分析,语义分析与中间代码产生。 】
4、多选题:
不可以直接运行的目标代码是 。
选项:
A: 汇编指令代码
B: 可重新定位指令代码
C: 绝对指令代码
D: .obj文件
答案: 【 汇编指令代码 ;
可重新定位指令代码;
.obj文件】
5、多选题:
下列说法不正确的是()。
选项:
A: Java语言是解释执行的。
B: Python语言是解释执行的。
C: C语言是编译执行的。
D: PHP是编译执行的。
答案: 【 Java语言是解释执行的。;
PHP是编译执行的。】
6、填空题:
在编译程序总框架中,贯穿编译过程始终的是()模块和出错处理模块。
答案: 【 符号表管理】
7、填空题:
编译程序是把某一种高级语言程序等价地转换成另一种低级语言程序(如 或机器语言程序)的程序 。
答案: 【 汇编语言】
第6讲词法分析3
第三章测试
1、单选题:
下面哪些选项不是编译程序的组成部分。
选项:
A: 词法分析程序
B: 代码生成程序
C: 设备管理程序
D: 语法分析程序
答案: 【 设备管理程序 】
2、单选题:
关于NFA定义,下列说法不正确的是:
选项:
A: 字母表必须是有穷集合。
B: 初始状态集合不能为空。
C: 终止状态集合不能为空。
D: 状态集合须是有穷集合。
答案: 【 终止状态集合不能为空。】
3、单选题:
假定C语言正在被编译,决定下述串中不需要看下一个输入字符就能确定是单词符号及其种别的是
选项:
A: >=
B: case
C: and
D: 100
答案: 【 >=】
4、单选题:
与正规式0(0|10)*1相对应的DFA是
选项:
A: ![]()
B: ![]()
C: ![]()
D: ![]()
答案: 【
】
5、单选题:
与下面的DFA等价的正规式是
![]()
选项:
A: 1(0|1)*0
B: 0(0|1)*0
C: (0|1)*00
D: (0|1)*10
答案: 【 (0|1)*00】
6、多选题:
下面那些字符串可以由文法G(S)生成 S → AB | B | A0 A → AD | C B → 2 | 4 | 6 | 8 C → 1 | 3 | 5 | 7 | 9 D → 0 | B | C
选项:
A: 123
B: 0124
C: 5334
D: 70
答案: 【 5334;
70】
7、多选题:
令文法为G(E):E→ E + E | E - E | E * E | E / E | ( E ) | i下面的推导过程是句子i+i*i的最右推导的是
选项:
A: E Þ E+E Þ E+E*E Þ E+E*i Þ E+i*i Þ i+i*i
B: E Þ E+E Þ E+E*E Þ E+i*E Þ E+i*i Þ i+i*i
C: E Þ E*E Þ E*iÞ E+E*iÞ E+i*i Þ i+i*i
D: E Þ E*E Þ E*iÞ E+E*iÞ i+E*i Þ i+i*i
答案: 【 E Þ E+E Þ E+E*E Þ E+E*i Þ E+i*i Þ i+i*i;
E Þ E*E Þ E*iÞ E+E*iÞ E+i*i Þ i+i*i】
8、多选题:
能够产生语言
的文法是
选项:
A: 文法G(S): S → AC A → aAb | ab C → cC | c
B: 文法G(S): S → AC A → aAb | ab C → cC | ε
C: 文法G(S): S → AC | A A → aAb | ab C → cC | c
D: 文法G(S): S → AC A → aAb | ε C → cC | ε
答案: 【 文法G(S): S → AC A → aAb | ab C → cC | ε;
文法G(S): S → AC | A A → aAb | ab C → cC | c】
9、多选题:
文法G(S):S → aSQR | abRRQ → QRbQ → bbbR → bccR → cc是Chomsky哪一型文法?
选项:
A: 0型
B: 1型
C: 2型
D: 3型
答案: 【 0型;
1型】
10、判断题:
名字是用标识符表示的,但名字和标识符有着本质的区别。
选项:
A: 正确
B: 错误
答案: 【 正确】
11、判断题:
一个上下文无关文法的开始符号可以是终结符或非终结符。
选项:
A: 正确
B: 错误
答案: 【 错误】
12、判断题:
对于文法,句子是仅含终结符号的句型。
选项:
A: 正确
B: 错误
答案: 【 正确】
13、判断题:
一棵语法树是不同推导过程的共性抽象。
选项:
A: 正确
B: 错误
答案: 【 正确】
14、判断题:
一个文法是二义的,则这个文法的每个句子都对应两个不同的语法树。
选项:
A: 正确
B: 错误
答案: 【 错误】
15、判断题:
对于二义文法G来说,其生成的语言L(G)必定是二义的。
选项:
A: 正确
B: 错误
答案: 【 错误】
16、判断题:
上下文无关文法的描述能力和有限自动机相同。
选项:
A: 正确
B: 错误
答案: 【 错误】
17、判断题:
状态转换图可用于识别一定的字符串。
选项:
A: 正确
B: 错误
答案: 【 正确】
18、判断题:
对任何正规表达式e,都存在一个DFA M,满足L(M)=L(e)。
选项:
A: 正确
B: 错误
答案: 【 正确】
19、判断题:
词法分析器的任务是输入源程序,给出单词符号,一般包括单词的种别编码和自身的值。
选项:
A: 正确
B: 错误
答案: 【 正确】
第13讲语法分析——自下而上分析4
第4章单元测试
1、单选题:
给定文法G(S):S → ABcA → a | εB → b | ε非终结符S的 FIRST集合是
选项:
A: FIRST(S)={ a,b,c,e }
B: FIRST(S)={ a,b,c }
C: FIRST(S)={ a,b }
D: FIRST(S)={ a }
答案: 【 FIRST(S)={ a,b,c }】
2、单选题:
给定文法G(S):S → ABcA → a | εB → b | ε非终结符A的 FOLLOW集合是
选项:
A: FOLLOW (S)={ a,b,c,#}
B: FOLLOW (S)={ a,b,c }
C: FOLLOW(A)={b,c}
D: FOLLOW(A)={ c }
答案: 【 FOLLOW(A)={b,c}】
3、单选题:
给定文法G(S):S → (A) | aA → A + S | S消除左递归后的文法为:
选项:
A: S → (A) | aA → A + S | S
B: S → (A) | aA →+SA’ |eA’ →S A’
C: S → (A) | aA →+SA’A’ →S A’ |e
D: S → (A) | aA →S A’ A’ →+SA’ |e
答案: 【 S → (A) | aA →S A’ A’ →+SA’ |e】
4、单选题:
给定文法G(S):S → a(A) | a A → A + S | S 消除公共左因子之后的文法为
选项:
A: S → aS’S’ → (A) | eA → A + S | S
B: S → aS’S’ → (A) A → A + S | S
C: S → a(A) | aA →S A’ A’ →+SA’ |e
D: S → aS’S’ → (A) | eA →S A’ A’ →+SA’ |e
答案: 【 S → aS’S’ → (A) | eA → A + S | S】
5、单选题:
对于文法G(S):S → (L) | a S | aL → L , S | S句型(S,(a))的句柄是
选项:
A: a
B: S
C: (a)
D: S,(a)
答案: 【 S】
6、多选题:
下面哪些文法是无二义文法。
选项:
A: LL(1)文法
B: 算符优先文法
C: SLR(1)文法
D: LR(k)文法
答案: 【 LL(1)文法;
算符优先文法;
SLR(1)文法;
LR(k)文法】
7、多选题:
下面的文法中属于LL(1)文法的是
选项:
A: G(S):S → ABcA → a | eB → b | e
B: G(S):S → AbA → a | B | eB → b | e
C: G(S):S → ABBAA → a | eB → b | e
D: G(S):S → aSe | BB → bBe | C C → cCe | d
答案: 【 G(S):S → ABcA → a | eB → b | e;
G(S):S → aSe | BB → bBe | C C → cCe | d】
8、多选题:
对于某文法规范句型aBcDef,如果句柄是Bc,下面哪些字符串是活前缀
选项:
A: ε
B: Bc
C: aB
D: aBcD
答案: 【 ε;
aB】
9、多选题:
下面的文法中是算符文法的是
选项:
A: G(S) :S → *AA → 0A1 | *
B: G(S):S → ABBAA → a | eB → b | e
C: G(S) :S → aSb | PP → bPc | bQcQ → Qa | a
D: G(S): S → iCtS | iCtSeS | a C → b
答案: 【 G(S):S → ABBAA → a | eB → b | e;
G(S) :S → aSb | PP → bPc | bQcQ → Qa | a;
G(S): S → iCtS | iCtSeS | a C → b】
10、多选题:
对于文法G(S'),该文法识别活前缀的DFA如下图,状态I5包含的项目有
G(S'):
(0) S' → S
(1) S → iSeS
(2) S → iS
(3) S → a![]()
选项:
A: S → iSeS
B: S → iSeS
C: S → iS
D: S → a
答案: 【 S → iSeS;
S → iSeS;
S → iS;
S → a】
11、判断题:
使用自上而下分析法要先消除文法的左递归。
选项:
A: 正确
B: 错误
答案: 【 正确】
12、判断题:
对于任何文法,都能将其改写成LL(1)文法。
选项:
A: 正确
B: 错误
答案: 【 错误】
13、判断题:
LL(1)文法的预测分析表没有多重定义入口。
选项:
A: 正确
B: 错误
答案: 【 正确】
14、判断题:
如果一个文法的任何产生式的右部都不含有两个相继(并列)的非终结符,则该文法是算符优先文法。
选项:
A: 正确
B: 错误
答案: 【 错误】
15、判断题:
算符优先分析法是一种自上而下分析法。
选项:
A: 正确
B: 错误
答案: 【 错误】
16、判断题:
由最右推导得到的句型称为规范句型。
选项:
A: 正确
B: 错误
答案: 【 正确】
17、判断题:
最左归约是最右推导的逆过程。
选项:
A: 正确
B: 错误
答案: 【 正确】
18、判断题:
一个无二义文法的句型的句柄是不唯一的。
选项:
A: 正确
B: 错误
答案: 【 错误】
19、判断题:
在规范归约过程中,分析栈内的符号串和扫描剩下的输入符号串构成了一个规范句型。
选项:
A: 正确
B: 错误
答案: 【 正确】
20、判断题:
任何LR(1)文法都是SLR(1)文法。
选项:
A: 正确
B: 错误
答案: 【 错误】
第16讲语义分析和中间代码生成1
第五章单元测试
1、单选题:
(a+b)/(c-d)对应的逆波兰式(后缀式)是
选项:
A: ab+cd-/
B: abcd+/-
C: abcd-/+
D: ab+cd/-
答案: 【 ab+cd-/】
2、单选题:
表达式(a+b)/c-(a+b)*d对应的间接三元式表示如下,其中三元式表中第(3)号三元式应为间接码表 三元式表 (1) OP ARG1 ARG2 (2) (1) + a b (1) (2) / (1) c (3) (3) (4) (4) - (2) (3)
选项:
A: ( +, a, b)
B: ( *, (1), d)
C: ( *, (2), d)
D: ( *, (1), (2))
答案: 【 ( *, (1), d)】
3、单选题:
设AS 为文法的综合属性集, AI 为继承属性集, 则对于下面的属性文法G(P)定义中,AS和AI正确描述是 产生式 语义规则 P → xQR Q.b:=R.d R.c:=1 R.e:=Q.a Q → u Q.a:=3 R → v R.d:=R.c R.f:=R.e
选项:
A: AS={ Q.a, R.c, R.e }&nb
