《编译原理》复习题
一、单项选择题
1.构造编译程序应掌握 。D
a. 源程序 b. 目标语言 c. 编译方法 d. 以上三项都是 2.编译程序绝大多数时间花在 上。D
a. 出错处理 b. 词法分析 c. 目标代码生成 d. 表格管理 3.DFA M(见图1-1)接受的字集为 。D
a. 以0开头的二进制数组成的集合 0b. 以0结尾的二进制数组成的集合
X0Y1c. 含奇数个0的二进制数组成的集合 图1-1
d. 含偶数个0的二进制数组成的集合
4. -a-(b*c/(c-d)+(-b)*a)的逆波兰表示是 。(@代表后缀式中的求负运算符) C
a. abc*cd-b@a*+/-@ b. a@bc*cd-b@a*+/- c. a@bc*cd-/b@a*+- d. a@bc*/cd-b@a*+- 5.在规范归约中,用 来刻画可归约串。 B
a. 直接短语 b. 句柄
c. 最左素短语 d. 素短语
6.若B为非终结符,则A→α·Bβ为 项目。D
a. 归约 b. 移进 c. 接受 d. 待约 7.中间代码生成时所依据的是 。C
a. 语法规则 b. 词法规则 c. 语义规则 d. 等价变换规则
8.有文法G及其语法制导翻译如下所示(语义规则中的*和+分别是常规意义下的算术运算符): E→E(1)
∧ T {E.val = E(1)
.val * T.val} E→T {E.val = T.val}
T→T(1)
# n {T.val = T(1)
.val + n.val } T→ n {T.val = n.val}
则分析句子1 ∧ 2 ∧ 3 # 4其值为 。 C
a. 10 b. 34 c. 14 d.54 9.如果文法G是无二义的,则它的任何句子α 。 A
1
《编译原理》复习题
a. 最左推导和最右推导对应的语法树必定相同 b. 最左推导和最右推导对应的语法树可能不同 c. 最左推导和最右推导必定相同
d. 可能存在两个不同的最左推导,但它们对应的语法树相同 10.下列动作中,不是自下而上分析动作的是: 。B a. 移进 b. 展开
c. 接受 d. 报错
11.编译程序是对 。D
a. 汇编程序的翻译 b. 高级语言程序的解释执行 c. 机器语言的执行 d. 高级语言的翻译 12.词法分析器的输出结果是 。C
a. 单词的种别编码 b. 单词在符号表中的位置 c. 单词的种别编码和自身值 d. 单词自身值 13.正规式M1和M2等价是指 。C
a. M1和M2的状态数相等 b. M1和M2的有向边条数相等 c. M1和M2所识别的语言集相等 d. M1和M2状态数和有向边条数相等
14.在规范归约中,用 来刻画可归约串。B
a. 直接短语 b. 句柄 c. 最左素短语 d. 素短语 15.若a为终结符,则A→α·aβ为 项目。B
a. 归约 b. 移进
c. 接受
d. 待约
16.语法分析时所依据的是 。A
a. 语法规则 b. 词法规则 c. 语义规则 d. 等价变换规则 17.文法G:S→xSx|y所识别的语言是 。C a. xyx b. (xyx)*
c. xnyxn (n≥0) d. x*yx*
18.如果文法G是无二义的,则它的任何句子α 。 A a. 最左推导和最右推导对应的语法树必定相同 b. 最左推导和最右推导对应的语法树可能不同 c. 最左推导和最右推导必定相同
d. 可能存在两个不同的最左推导,但它们对应的语法树相同
2
《编译原理》复习题
19.下列动作中,不是自上而下分析动作的是: 。C a. 匹配 b. 展开
c. 移进 d. 报错
20.词法分析器的输出结果是 。C
a. 单词的种别编码 b. 单词在符号表中的位置
c. 单词的种别编码和自身值 d. 单词自身值
21. -a-(b*c/(c-d)+(-b)*a)的逆波兰表示是 。(@代表后缀式中的求负运算符) C a. abc*cd-b@a*+/-@ b. a@bc*cd-b@a*+/- c. a@bc*cd-/b@a*+- d. a@bc*/cd-b@a*+- 22.在规范归约中,用 来刻画可归约串。 B a. 直接短语 b. 句柄
c. 最左素短语 d. 素短语
23.若B为非终结符,则A→α· 为 项目。A a. 归约 b. 移进
c. 接受
d. 待约
24.文法G:S→xSx| xS|y所识别的语言是 。 A a. xmyxn(m≥n≥0) b. (xyx)*
c. xnyxn(n≥0) d. x*yx*
25.有文法G及其语法制导翻译如下所示(语义规则中的*和+分别是常规意义下的算术运算符): E→E(1)
∧ T {E.val = E(1)
.val * T.val} E→T {E.val = T.val}
T→T(1)
# n {T.val = T(1)
.val + n.val } T→ n {T.val = n.val}
则分析句子2 ∧ 3 # 4其值为 。 C a. 10 b. 21 c. 14 d. 24 26.间接三元式表示法的优点为 。 A a. 采用间接码表,便于优化处理 b. 节省存储空间,不便于表的修改 c. 便于优化处理,节省存储空间 d. 节省存储空间,不便于优化处理
3
《编译原理》复习题
27.下列动作中,不是自上而下分析动作的是: 。C
a. 匹配
b. 展开
c. 接受 d. 报错
28.同正规式(a|b)+等价的正规式是______B___________。
A.(a|b)* B.(a|b)(a|b)* C.(ab)*(ab) D.(a|b)|(a|b)* 29.称有限自动机A1和A2等价是指_______D________。 A.A1和A2都是定义在一个字母表上的有限自动机 B.A1和A2状态数和有向边数相等 C.A1和A2状态数或有向边数相等 D.A1和A2所能识别的字符串集合相等
30.由文法的开始符号出发经过若干步(包括0步)推导产生的文法符号序列称为______B________。 A.语言 B.句型 C.句子 D.句柄 31.在自上而下的语法分析中,应从 C 开始分析。 A.句型
B.句子
C.文法开始符号
D.句柄
32.一个文法G,若________C____________,则称它是LL(1)文法。 A.G中不含左递归 B.G无二义性 C.G的LL(1)分析表中不含多重定义的条目 D.G中产生式不含左公因子 33.在规范归约中,用______B______来刻画可归约串。 A.直接短语 B.句柄 C.素短语 D.短语 34.若a为终结符,则A→α·aβ为_______B______项目。 A.归约 B.移进 C.接受 D.待约 35.中间代码生成时所依据的是 C 。
A.词法规则 B.语法规则 C.语义规则 D.等价变换规则 36.文法G[S]及其语法制导翻译定义如下: 产生式 S’ → S
语义动作 print(S.num) S.num = L.num +1 S.num = 0
L.num = L(1).num + S.num
S → (L)
S → a
L →L(1), S
L →S
L.num = S.num
若输入为(a,(a)),且采用自底向上的分析方法,则输出为 C 。
4