编译原理作业答案完全正确中南大学在线测试




(一) 单选题
1. 扫描器的任务是从源程序中识别出一个个( )。

(A) 句子 (B) 语法单位 (C) 语句序列 (D) 单词符号



参考答案:
(D)
没有详解信息!
2. 规范归约也称为( )。

(A) 最左归约 (B) 最上归约 (C) 最右归约 (D) 最下归约



参考答案:
(A)
没有详解信息!
3. 语法分析器的任务是在词法分析识别出单词符号串的基础上,分析并判定程序的结构是否符合( )。

(A) 词法规则 (B) 语义规则 (C) 符号规则 (D) 语法规则



参考答案:
(D)
没有详解信息!
4. 对于文法G[S] S →(L) S→aS S→a L →L,S L→S 句子 (a,(a,a)) 的最左推导是()。

(A) S=>(L)=>(L,S)=>(L,(L))=>(L,(L,S))=>(L,(L,a))=>(L,(S,a))=>(L,(a,a))=>(S,(a,a))=>(a,(a,a))
(B) S=>(L)=>(L,S)=> (a,S)=>(a,(L))=>(a,(L,S))=>(a,(S,S))=>(a,(a,S))=>(a,(a,a))
(C) S=>(L)=>(L,S)=>(S,S)=>(a,S)=> =>(a,(L,S))=>(a,(S,S))=>(a,(a,S))=>(a,(a,a))
(D) S=>(L)=>(L,S)=>(S,S)=>(a,S)=>(a,(L))=>(a,(L,S))=>(a,(S,S))=>(a,(a,S))=>(a,(a,a))



参考答案:
(D)
没有详解信息!
5. 语法分析是依据语言的语法规则进行。中间代码产生是依据语言的( )规则进行的。

(A) 语句 (B) 符号 (C) 语义 (D) 词法



参考答案:
(C)
没有详解信息!
6. 编译过程可分为词法分析、语法分析、( )、代码优化和目标代码生成五个阶段。

(A) 中间代码生成 (B) 静态语义检查 (C) 一致性检查 (D) 类型检查



参考答案:
(A)
没有详解信息!
7. 一字母表Σ={a, b},Σ上所有以a为首的字组成的正规集相对应的正规式是( )。

(A) a * ( a | b ) (B) a ( a | b )* (C) a ( a | b )+ (D) a* ( a | b )*



参考答案:
(B)
没有详解信息!
8. 一个文法G别是LL(1)文法的充要条件是当且仅当对于G的每一个非终结符A的任何两个不同产生式A→α?β,下面的条件成立( )。

(A) FIRST(α) ∩FIRST(β)=Ф
(B) 如果 β=*>ε, FIRST(α) ∩FOLLOW(A)= Ф
(C) FIRST(α) ∩FIRST(β)=Ф 和 如果 β=*>ε, FIRST(α) ∩FOLLOW(A)= Ф
(D) FIRST(α) ∩FIRST(β)=Ф 和 如果 β=*>ε, FIRST(β) ∩FOLLOW(A)= Ф



参考答案:
(C)
没有详解信息!
9. 在Σ={a, b} 上不以 a 开头,以aa 结尾的字符串集合的正规表达式是( )。

(A) b*aa
(B) b(a|b)*aa
(C) baa*
(D) (b | a)*aa



参考答案:
(B)
没有详解信息!
10. 语言的语法结构是用( )描述的。

(A) 上下文无关文法 (B) 上下文有关文法 (C) 0型文法 (D) 1型文法



参考答案:
(A)
没有详解信息!
11. 高级语言程序的执行有编译方式和( )。

(A) 交互方式 (B) 解释方式 (C) 终端方式 (D) 命令方式



参考答案:
(B)
没有详

解信息!
12. 已知文法G[S] S→S*aF | aF | *aF F→+aF | +a 消除文法左递归和提公共左因子后的文法为( )。

(A) S→aFS’ | *aFS’ S’→*aFS’ | ε F→+aF’ F’→F |ε
(B) S→aFS’ | *aFS’ S’→ ε F→+aF’ F’→F |ε
(C) S→aFS’ S’→*aFS’ | ε F→+aF’ F’→F |ε
(D) S→aFS’ | *aFS’ S’→*aFS’ | ε F→+aF’ F’→|ε



参考答案:
(A)
没有详解信息!
13. 语法分析器的输入是单词符号,其输出是( )。

(A) 单词符号串 (B) 语法单位 (C) 语句序列 (D) 句子



参考答案:
(B)
没有详解信息!
14. b(ab)*正规表达式( )( ba)*b正规表达式。

(A) 等价
(B) 不等价
(C) 大于
(D) 小于



参考答案:
(A)
没有详解信息!
15. 文法是G[S]: S→AB A→aAc | D D→bD | b B→aBb | aabb 使其语言为()。

(A) L(G)={albmclanbn| l>=1, m>=1, n>=2}
(B) L(G)={albmclanbn| l>=0, m>=1, n>=2}
(C) L(G)={albmclanbn| l>=0, m>=1, n>=1}
(D) L(G)={albmclanbn| l>=1, m>=1, n>=2}



参考答案:
(B)
没有详解信息!
16. 状态转换图是一张有限方向图。在状态转换图中,有一个初态,( )一个终态。

(A) 没有
(B) 只有
(C) 至少
(D) 至多



参考答案:
(C)
没有详解信息!
17. 编译预处理主要工作是( )。

(A) 删除无用代码
(B) 删除无用赋值
(C) 消除语法错误
(D) 滤掉空格,跳过注释、换行符等



参考答案:
(D)
没有详解信息!
18. 编译前端主要由与源语言有关但与目标机无关的那些部分组成。这些部分通常包括词法分析、语法分析、语义分析与中间代码产生。编译后端包括编译程序中与目标机有关的那些部分,如与目标机有关的 和目标代码生成生成等。( )

(A) 代码优化 (B) 静态语义检查 (C) 一致性检查 (D) 类型检查



参考答案:
(A)
没有详解信息!
19. ( )又称为规范推导。

(A) 最左推导 (B) 最上推导 (C) 最右推导 (D) 最下推导



参考答案:
(C)
没有详解信息!
20. 令Σ={a,b},则正规式a*b|b*a 表示的正规集是( )。

(A) {ab,ba,aab,bba……}
(B) {ab,ba,abb,baa……}
(C) {aa,bb,aabb,bbaa……}
(D) {a,b,ab,ba,aab,bba……}



参考答案:
(D)
没有详解信息!

(二) 多选题
1. 语法分析方法可分为( )。

(A) 自左向右分析法 (B) 自右向左分析法 (C) 自上而下分析法 (D) 自下而上分析法



参考答案:
(CD)
没有详解信息!
2. 编译前端主要由与源语言有关但与目标机无关的那些部分组成,这些部分通常包括( )。

(A) 词法分析 (B) 语法分析 (C) 语义分析 (D) 中间代码产生



参考答案:
(ABCD)
没有

详解信息!
3. 高级语言可分为( )。

(A) 强制式的高级语言 (B) 应用式的高级语言 (C) 基于规则的高级语言 (D) 自面向对象的高级语言



参考答案:
(ABCD)
没有详解信息!
4. 对于文法G[S] S→aPS’ | *aPS’ S’→*aPS’ | ε P→+aP’ P’→P | ε FOLLOW(P’)中包含的符号有 。

(A) *'
(B) a'
(C) ='
(D) +'



参考答案:
(AC)
没有详解信息!
5. 对于文法G[S] S→aPS’ | *aPS’ S’→*aPS’ | ε P→+aP’ P’→P | ε FIRST(S)中包含的符号有( )。

(A) +'
(B) a'
(C) ε'
(D) *'



参考答案:
(BD)
没有详解信息!
6. 一字母表Σ={a, b}上的正规集{b, bab, babab, bababab, …}对应的正规是( )。

(A) b(ab)*
(B) ( ba)+b
(C) b(ab)+
(D) ( ba)*b



参考答案:
(AD)
没有详解信息!
7. 用高级语言构造编译程序的方法有( )。

(A) 编译方式 (B) 移植 (C) 自编译 (D) 自动构造工具



参考答案:
(BCD)
没有详解信息!
8. 单词符号分为( )。

(A) 基本字 (B) 标识符号 (C) 常数 (D) 算符和界符



参考答案:
(ABCD)
没有详解信息!
9. 在Σ={a, b} 上不以 a 开头,以aa 结尾的字符串集合的正规表达式是( )。

(A) (a|b)* b aa
(B) b(a)*aa
(C) b(a|b)*aa
(D) b(b)*aa



参考答案:
(D)
没有详解信息!
10. 编译预处理主要做的工作是( )。

(A) 删除无用代码 (B) 滤掉空格 (C) 删除无用赋值 (D) 跳过注释、换行符



参考答案:
(BD)
没有详解信息!
11. 考虑文法G[S] S→(L) | a L→L,S | S 消除左递归后的文法为 G’[S]包含的产生式为( )。

(A) S→(L) | a
(B) L→SL'
(C) L'→SL' | e
(D) L'→,SL'| e



参考答案:
(ABD)
没有详解信息!
12. 一个上下文无关文法G包括( )。

(A) 一组终结符集 (B) 一个开始符 (C) 一组非终结符集 (D) 一组产生式



参考答案:
(ABCD)
没有详解信息!
13. 编译程序可分为( )。

(A) 诊断编译程序 (B) 优化编译程序 (C) 交叉编译程序 (D) 可变目标编译程序



参考答案:
(ABCD)
没有详解信息!
14. 编译后端包括编译程序中与目标机有关的那些部分,如与目标机有关的( )生成等。

(A) 语法分析 (B) 中间代码产生 (C) 代码优化 (D) 目标代码生成



参考答案:
(CD)
没有详解信息!
15. 语言L(G)={ban|n≥1} 可由下面( )文法产生。

(A) S→bA, A→aA | a
(B) S→bA , A→Aa | a
(C) S→bA, A→aAa | a
(D) S→bA, A→|aA | ε



参考答案:
(AB)
没有详解信息!
16. 为构造不带回溯的自上而下分析算法,必须对文法( )。

(A) 消除右递归
(B) 消除

左递归
(C) 提取公共右因子
(D) 提取公共左因子



参考答案:
(BD)
没有详解信息!
17. 下面的文法( )定义的语言都是 { 0n1n|n≥1}

(A) S→0S1|01
(B) A→01R| A→01, R→A
(C) S→01 S |01
(D) A→0R| A→01, R→A1



参考答案:
(AD)
没有详解信息!
18. 对自上而下分析方法论述正确的是( )。

(A) 不允许文法含有任何左递归
(B) 允许文法含有任何左递归
(C) 允许文法含有任何右递归
(D) 不允许文法含有任何右递归



参考答案:
(AC)
没有详解信息!
19. 高级语言程序的执行有( )方式。

(A) 编译方式 (B) 命令方式 (C) 交互方式 (D) 解释方式



参考答案:
(AD)
没有详解信息!
20. 要在某一台机器上为某种语言构造一个编译程序,必需掌握内容( )。

(A) 源程序 (B) 命令方式 (C) 编译方法 (D) 目标程序



参考答案:
(ACD)
没有详解信息!

(三) 判断题
1. 一个句型一定句子。 ( )

(A) 对 (B) 错



参考答案:
(B)
没有详解信息!
2. 二义性问题可判定的。 ( )

(A) 对 (B) 错



参考答案:
(B)
没有详解信息!
3. 并不是每个文法都能改写成LL(1)文法。 ( )

(A) 对 (B) 错



参考答案:
(A)
没有详解信息!
4. 语法分析器的任务是在词法分析识别出单词符号串的基础上,分析并判定程序的结构是否符合语法规则。 ( )

(A) 对 (B) 错



参考答案:
(A)
没有详解信息!
5. 一个LL(1)文法一定是无二义的。 ( )

(A) 对 (B) 错



参考答案:
(A)
没有详解信息!
6. 如果一个文法存在某个句子对应两棵不同的语法树,则文法是二义性的。 ( )

(A) 对 (B) 错



参考答案:
(A)
没有详解信息!
7. 2法一定是3型文法。 ( )

(A) 对 (B) 错



参考答案:
(B)
没有详解信息!
8. 正规式b(ab)* 与 正规式( ba)*b等价。 ( )

(A) 对 (B) 错



参考答案:
(A)
没有详解信息!
9. 3型文法一定是2型文法。 ( )

(A) 对 (B) 错



参考答案:
(A)
没有详解信息!
10. 上下文无关文法比正规文法具有更强的描述能力。 ( )

(A) 对 (B) 错



参考答案:
(A)
没有详解信息!
11. 自上而下分析方法不允许文法含有任何左递归。 ( )

(A) 对 (B) 错



参考答案:
(A)
没有详解信息!
12. 经证明文法的二义性是可判定的。 ( )

(A) 对 (B) 错



参考答案:
(B)
没有详解信息!
13. 递归下降分析法是一种自下而上分析法。 ( )

(A) 对 (B) 错



参考答案:
(B)
没有详解信息!
14. 语言的语法结构是用上下文

无关文法的描述的。 ( )

(A) 对 (B) 错



参考答案:
(A)
没有详解信息!
15. 一张状态转换图只包含有限个状态,其中有一个初态,最多只有一个终态。 ( )

(A) 对 (B) 错



参考答案:
(B)
没有详解信息!
16. 文法的二义性和语言的二义性是同一个概念。 ( )

(A) 对 (B) 错



参考答案:
(B)
没有详解信息!
17. 一个程序语言是一个记号系统,包括语法和语义两个方面定义。 ( )

(A) 对 (B) 错



参考答案:
(A)
没有详解信息!
18. 正规文法产生的语言都可以用上下文无关文法来描述。 ( )

(A) 对 (B) 错



参考答案:
(A)
没有详解信息!
19. 下文无关文法的开始符,可以是终结符或非终结符。 ( )

(A) 对 (B) 错



参考答案:
(B)
没有详解信息!
20. 编译过程中,语法分析器的任务是分析单词是怎样构成的。 ( )

(A) 对 (B) 错



参考答案:
(B)
没有详解信息!





(一) 单选题
1. 已知文法G[S]: E→E+T | T T→T*F| F F→(E)| i 句型 (E+T)*i+F 的最左素短语是()。

(A) (E+T) (B) E+T (C) (E+T)*i (D) (E+T)*i



参考答案:
(B)
没有详解信息!
2. 在形式语言中,()常被称为规范推导。

(A) 最上推导
(B) 最左推导
(C) 最下推导
(D) 最右推导



参考答案:
(D)
没有详解信息!
3. 已知文法G[S]及相应翻译方案 S→aAb {print “1”} S→a {print “2”} A→AS {print “3”} A→c {print “4”} 输入acab,输出是()。

(A) 4231 (B) 3214 (C) 1234 (D) 3421



参考答案:
(A)
没有详解信息!
4. 对于文法的每个产生式都配备了一组属性的计算规则,称为()。

(A) 语法规则 (B) 传递规则 (C) 语义规则 (D) 继承规则



参考答案:
(C)
没有详解信息!
5. 规范归约使用进行()归约。

(A) 句柄
(B) 最左素短语
(C) 最右素短语
(D) 素短语



参考答案:
(A)
没有详解信息!
6. 设文法G[S]: S→(T) | a T→T+S | S LASTVT(T)=()。

(A) { a, )}
(B) {+, )}
(C) {+, a,}
(D) {+, a, )}



参考答案:
(D)
没有详解信息!
7. a:=(b+c)*e+(b+c)/f的逆波兰式是()。

(A) abc*e+bc+f/+:= (B) abc+e*bc+f/+:= (C) abc+e*b+c+f/:= (D) abc+eb*c+f/+:=



参考答案:
(B)
没有详解信息!
8. S-属性文法只含有()属性。

(A) 继承 (B) 综合 (C) 原子 (D) 一致



参考答案:
(B)
没有详解信息!
9. 规范归约也称为()。

(A) 最上归约
(B) 最左归约
(C) 最下归约
(D) 最右归约



参考答案:
(B)
没有详解信息!
10. 在语法树中,一个结点的继承属性由此结点的父结点和/或

兄弟结点的某些属性确定称为()。

(A) 继承属性 (B) 一致属性 (C) 原子属性 (D) 综合属性



参考答案:
(A)
没有详解信息!
11. 表达式(a+b)*(c+d)后缀式为()。

(A) abcd++* (B) abcd*++ (C) ab*cd++ (D) ab+cd+*



参考答案:
(D)
没有详解信息!
12. 紧接词法分析和语法分析之后,编译程序要做的工作就是进行()和翻译。

(A) 语法检查 (B) 一致性检查 (C) 类型检查 (D) 静态语义检查



参考答案:
(D)
没有详解信息!
13. 已知文法G[S]: E→E+T | T T→T*F| F F→(E)| i 句型 (E+T)*i+F 的短语是 。

(A) i, E+T, (E+T), (E+T)*i, (E+T)*i+F
(B) i, F, E+T, (E+T), (E+T)*i, (E+T)*i+F
(C) i, F, E+T, (E+T), (E+T)*i+F
(D) i, F, E+T, (E+T), (E+T)*i



参考答案:
(B)
没有详解信息!
14. 已知文法G[S]: S→bAb A→(B | a B→Aa) 写出句型b(Aa)b的句柄是()。

(A) b
(B) Aa
(C) Aa)
(D) a



参考答案:
(C)
没有详解信息!
15. 移进-归约过程是自顶向下()的逆过程。

(A) 最左推导 (B) 最上推导 (C) 最右推导 (D) 最下推导



参考答案:
(C)
没有详解信息!
16. 属性文法的属性分为()两类。

(A) 综合属性和继承属性 (B) 一致属性和继承属性 (C) 原子属性和继承属性 (D) 综合属性和传递属性



参考答案:
(A)
没有详解信息!
17. 素短语是指这样一个短语,()含有一个终结符,并且,除它自身外不再含任何更小的素短语。

(A) 至多 (B) 只 (C) 至少 (D) 不



参考答案:
(C)
没有详解信息!
18. 自下而上分析的中心问题是()。

(A) 判断栈中符号可约性,以及如何归约
(B) 判断栈底符号可约性,以及如何归约
(C) 判断栈顶符号可约性,以及如何归约
(D) 判断栈外符号可约性,以及如何归约



参考答案:
(C)
没有详解信息!
19. 在语法树中,一个结点的综合属性的值由其子结点的属性值确定称为()。

(A) 继承属性 (B) 一致属性 (C) 原子属性 (D) 综合属性



参考答案:
(D)
没有详解信息!
20. 设文法G[S]: S→(T) | a T→T+S | S FIRSTVT(T)=()。

(A) {+, a, (}
(B) {+, a, }
(C) {+, (}
(D) {a, (}



参考答案:
(A)
没有详解信息!

(二) 多选题
1. 下面关于直接短语的论述正确的是()。

(A) 直接短语必是句柄
(B) 句柄必是直接短语
(C) 素短语必是直接短语
(D) 直接短必是语素短语



参考答案:
(B)
没有详解信息!
2. 设文法G[S]: S→T | S∨T T→U |T∧U U→i |-U FIRSTVT(S)包含的符合有()。

(A) ∨'
(B) i'
(C) ∧'
(D) -'



参考答案:
(ABCD)
没有详解信息!
3. 在整个编译期间

,对于符号表的操作有()。

(A) 查询名字
(B) 往表中填入一个新的名字
(C) 访问给定名字信息
(D) 对给定名字,填写或更新信息



参考答案:
(ABCD)
没有详解信息!
4. 符号表查找和整理技术有()。

(A) 线性表
(B) 对折查找
(C) B+树
(D) 杂奏技术



参考答案:
(ABD)
没有详解信息!
5. 设文法G[S]: S→T | S∨T T→U |T∧U U→i |-U LASTVT(S)包含的符合有()。

(A) ∨'
(B) i'
(C) ∧'
(D) -'



参考答案:
(ABCD)
没有详解信息!
6. 已知文法G(S) S→a | ^ | (T) T→T,S | S 句型((T,S),a)的直接短语有()。

(A) de
(B) T,S
(C) d
(D) a



参考答案:
(BD)
没有详解信息!
7. 设文法G[S]: S→(T) | a T→T+S | S FIRSTVT(T)中的符号有()。

(A) +'
(B) )'
(C) a'
(D) ('



参考答案:
(ACD)
没有详解信息!
8. 自下而上分析方法()。

(A) 不允许文法含有任何左递归
(B) 允许文法含有任何左递归
(C) 允许文法含有任何右递归
(D) 不允许文法含有任何右递归



参考答案:
(BC)
没有详解信息!
9. 下面关于优先函数的论述正确的是()。

(A) 便于作比较运算,并且节省存储空间
(B) 有的优先关系表不存在优先函数
(C) 优先关系表必存在优先函数
(D) 把错误的句子得到正确的归约



参考答案:
(ABD)
没有详解信息!
10. 符号表的作用是()。

(A) 登记源程序中出现的各种名字及其信息
(B) 登记四元式
(C) 登记三地址代码
(D) 以及了解各阶段的进展状况



参考答案:
(AD)
没有详解信息!
11. 常见的中间语言形式有()。

(A) 后缀式 (B) 四元式 (C) 三元式 (D) 间接三元式



参考答案:
(ABCD)
没有详解信息!
12. 多数编译程序却采用了独立于机器的、复杂性介于源语言和机器语言之间的中间语言。这样的好处有()。

(A) 便于进行与机器无关的代码优化工作
(B) 使编译程序改变目标机更容易
(C) 使编译程序的结构在逻辑上更为简单明确
(D) 便于静态语义检查



参考答案:
(ABC)
没有详解信息!
13. 下面关于算符优先分析的论述正确的是()。

(A) 算符优先分析是自下而上分析
(B) 算符优先分析是自上而下分析
(C) 算符优先分析使用素短语归约
(D) 算符优先分析不是规范归约



参考答案:
(AD)
没有详解信息!
14. 已知文法G[S]: E→E+T | T T→T*F| F F→(E)| i 句型 (E+T)*i+F 的素短语有()。

(A) (E+T)
(B) i
(C) F
(D) E+T



参考答案:
(BD)
没有详解信息!
15. 已知文法G(S) S→aAcBe A→Ab| b B→d 句型aAbcde的短语

有()。

(A) de
(B) Ab
(C) d
(D) aAbcde



参考答案:
(BCD)
没有详解信息!
16. 属性文法的属性分为()。

(A) 继承属性 (B) 一致属性 (C) 综合属性 (D) 原子属性



参考答案:
(AC)
没有详解信息!
17. 规范归约对符号栈的使用的操作有()。

(A) 移进
(B) 归约
(C) 接受
(D) 出错处理



参考答案:
(ABCD)
没有详解信息!
18. 静态语义检查通常包括()。

(A) 类型检查 (B) 控制流检查 (C) 一致性检查 (D) 相关名字检查



参考答案:
(ABCD)
没有详解信息!
19. 符号表中的内容是有()。

(A) 名字的类型
(B) 名字的种属
(C) 名字所占单元大小
(D) 名字的地址



参考答案:
(ABCD)
没有详解信息!
20. 规范归约使用进行()归约。

(A) 最左直接短语
(B) 素短语
(C) 句柄
(D) 最左素短语



参考答案:
(AC)
没有详解信息!

(三) 判断题
1. 仅仅使用综合属性的属性文法称为S-属性文法。 ( )

(A) 对 (B) 错



参考答案:
(A)
没有详解信息!
2. 静态语义检查是在语法分析之后,中间代码产生之前进行的。 ( )

(A) 对 (B) 错



参考答案:
(A)
没有详解信息!
3. 最左直接短语称为该句型的句柄。 ( )

(A) 对 (B) 错



参考答案:
(A)
没有详解信息!
4. 规范归约是最右推导的逆过程。 ( )

(A) 对 (B) 错



参考答案:
(A)
没有详解信息!
5. 所谓自下而上语法分析就是从输入串开始,逐步进行“归约”,直至归约到文法的开始符。 ( )

(A) 对 (B) 错



参考答案:
(A)
没有详解信息!
6. 对折查找速度快,所以编译程序查表方法一定使用对折查找技术。 ( )

(A) 对 (B) 错



参考答案:
(B)
没有详解信息!
7. 算符优先分析不是一种规范法。 ( )

(A) 对 (B) 错



参考答案:
(A)
没有详解信息!
8. 一个优先表一定存在相应的优先函数。 ( )

(A) 对 (B) 错



参考答案:
(B)
没有详解信息!
9. 终结符只有综合属性,开始符号没有继承属性。 ( )

(A) 对 (B) 错



参考答案:
(A)
没有详解信息!
10. 规范归约也称为最左归约。 ( )

(A) 对 (B) 错



参考答案:
(A)
没有详解信息!
11. 算符优先文法是无二义的。 ( )

(A) 对 (B) 错



参考答案:
(A)
没有详解信息!
12. 仅仅使用综合属性的属性文法称为S-属性文法。 ( )

(A) 对 (B) 错



参考答案:
(A)
没有详解信息!
13. 依赖图用来描述分析树中的继承属性和属性中间的相互依赖关系。 ( )

(A) 对 (B) 错




参考答案:
(A)
没有详解信息!
14. 最左推导又称为规范推导。 ( )

(A) 对 (B) 错



参考答案:
(B)
没有详解信息!
15. 算符优先分析法每次都是对句柄进行归约。 ( )

(A) 对 (B) 错



参考答案:
(B)
没有详解信息!
16. 继承属性用于“自下而上”信息。 ( )

(A) 对 (B) 错



参考答案:
(B)
没有详解信息!
17. 对应一个优先关系表的优先函数f和g是唯一的。 ( )

(A) 对 (B) 错



参考答案:
(B)
没有详解信息!
18. 属性分为综合属性和继承属性两类。综合属性用于“自上而下”信息,而继承属性用于“自下而上”信息。 ( )

(A) 对 (B) 错



参考答案:
(B)
没有详解信息!
19. 算符优先分析不是一种规范归约。 ( )

(A) 对 (B) 错



参考答案:
(A)
没有详解信息!
20. 素短语是一个短语,它至多包含一个终结符,且除自身外不再包含其他素短语。 ( )

(A) 对 (B) 错



参考答案:
(B)
没有详解信息!





(一) 单选题
1. 每条指令的执行代价定义为()。

(A) 指令访问主存次数
(B) 指令访问主存次数加1
(C) 指令访问主存次数加2
(D) 指令访问主存次数加3



参考答案:
(B)
没有详解信息!
2. 常用的两种动态存贮分配办法是()。

(A) 栈式和堆式动态分配
(B) 栈式和队列式动态分配
(C) 链式和堆式动态分配
(D) 队列式和堆式动态分配



参考答案:
(A)
没有详解信息!
3. 在运行存储空间的划分中有一个单独的区域叫做堆,留给存放()。

(A) 局部数据
(B) 静态数据
(C) 全局数据
(D) 动态数据



参考答案:
(D)
没有详解信息!
4. 根据优化所涉及的程序范围,可将优化分成为()级别。

(A) 4
(B) 3
(C) 2
(D) 5



参考答案:
(B)
没有详解信息!
5. 在基本块范围的优化称为()。

(A) 循环优化
(B) 全局优化
(C) 局部优化
(D) 基本块优化



参考答案:
(C)
没有详解信息!
6. 变量和形参运行时在栈上的绝对地址是()。

(A) 栈顶地址+相对地址
(B) 栈顶地址+相对地址
(C) 活动记录基地址+相对地址
(D) 栈底地址+相对地址



参考答案:
(C)
没有详解信息!
7. 通过DISPLAY表访问非局部变量和比沿着静态链访问非局部变量()。

(A) 速度要慢
(B) 容易
(C) 速度要快
(D) 不容易



参考答案:
(C)
没有详解信息!
8. 对于数据空间的存贮分配,FORTRAN采用()策略。

(A) 动态存贮分配
(B) 栈式存贮分配
(C) 堆式存贮分配
(D) 静态存贮分配



参考

答案:
(D)
没有详解信息!
9. 考虑下面的程序: … procedure p(x, y, z); begin y:=y+z; z:=y*z+x end; begin a:=2; b:=3; p(a+b, b, a); print a end. 若参数传递的方式采用传名时,程序执行后输出 a的值是 。

(A) 16
(B) 17
(C) 18
(D) 19



参考答案:
(B)
没有详解信息!
10. 以下程序 (1) J:=1 (2) A:=0 (3) R:=I-1 (4) C:=B+J (5) A:=C*A (6) if J=20 goto (9) (7) J:=J+1 (8) goto (3) (9) 可划出()个基本块。

(A) 4
(B) 3
(C) 2
(D) 5



参考答案:
(A)
没有详解信息!
11. 记录过程的各外层过程的最新活动记录的起始地址的表称为()。

(A) 静态表
(B) 起始地址表
(C) 活动记录表
(D) DISPLAY表



参考答案:
(D)
没有详解信息!
12. 如果在一个基本块中,四元式i对A定值,四元式j要引用A值,而从i到j之间没有A的其它定值,则称j是四元式i的变量A的()。

(A) 待用信息
(B) 已用信息
(C) 使用信息
(D) 必用信息



参考答案:
(A)
没有详解信息!
13. 为了管理过程在一次执行中所需要的信息,使用一个连续的存储区来管理,这个区 (块) 叫做一个()。

(A) 结构体记录
(B) 数组记录
(C) 管理信息记录
(D) 活动记录



参考答案:
(D)
没有详解信息!
14. 所谓传名就是在进入调用段之前不对实在参数预先进行计值,而是过程中每当使用到相应的形参时才对它实行计值。因此,在实现时通常都把实参处理成()。

(A) 子程序
(B) 变量
(C) 指针
(D) 常量



参考答案:
(A)
没有详解信息!
15. 使用指针指向直接外层的最新活动记录的地址,从而形成一条链,称为()。

(A) 动态链
(B) 已用信息
(C) 静态链
(D) 必用信息



参考答案:
(C)
没有详解信息!
16. 每个过程的活动记录的体积在编译时()。

(A) 静态确定
(B) 动态确定
(C) 不能确定
(D) 不能计算



参考答案:
(A)
没有详解信息!
17. 对程序进行各种等价变换,使得从变换后的程序出发,生成更有效的目标代码称为()。

(A) 变换
(B) 优化
(C) 编译
(D) 解释



参考答案:
(B)
没有详解信息!
18. 考虑下面的程序: … procedure p(x, y, z); begin x:=x+y; z:=z*z; end begin A:=2; B:=A*2; P(A, B, B); Print A, B end. 若参数传递的方式采用传地址时,程序执行后输出 A, B的值是()。

(A) A=4,B=14
(B) A=4,B=16
(C) A=6,B=14
(D) A=6,B=16



参考答案:
(D)
没有详解信息!
19. 一个过程相应的DISPLAY表的内容为()。

(A) 现行活动记录地址
(B) 现行活动记录地址和所有外层最新活动记录的地址传递规则
(C) 所有外层最

新活动记录的地址
(D) 以上都不对



参考答案:
(B)
没有详解信息!
20. 所谓得结果就是每个形式参数对应两个单元,第一个单元存放实参的地址,第二个单元存放实参的值。在过程体中对形参的任何引用或赋值都被处理成对第二个形式单元的(),但在过程工作完成返回之前必须把第二个单元的内容存放到第一个单元所指的那个实参单元之中。

(A) 间接访问
(B) 指针访问
(C) 直接访问
(D) 间接的间接访问



参考答案:
(C)
没有详解信息!

(二) 多选题
1. 常用的参数传递方式有()。

(A) 传地址
(B) 传值
(C) 传名
(D) 传过程



参考答案:
(ABC)
没有详解信息!
2. FORTRAN语言使用静态分配策略。 FORTRAN语言()。

(A) 不允许过程递归
(B) 每个数据名所需存储空间都是常量
(C) 允许过程递归
(D) 所有数据名的性质是完全确定的



参考答案:
(ABD)
没有详解信息!
3. 在允许过程嵌套程序语言,一个过程可以引用包围它的任一外层过程所定义的标识符,对非局部量的引用(存取)方法有()。

(A) 静态链
(B) 动态链
(C) DISPLAY表
(D) 指针链



参考答案:
(AC)
没有详解信息!
4. 活动记录一般包含内容有()。

(A) 临时单元、内情向量、局部变量、形式单元
(B) 动态链
(C) 静态链
(D) 返回地址



参考答案:
(ABCD)
没有详解信息!
5. 一个过程相应的DISPLAY表的内容有()。

(A) 所有活动记录地址
(B) 所有外层活动记录的地址
(C) 现行活动记录地址
(D) 所有外层最新活动记录的地址



参考答案:
(CD)
没有详解信息!
6. 对于静态链,C和PASCAL语言()。

(A) 需要
(B) 不需要
(C) 可以不使用,但要用其他方法打通代替
(D) 无关



参考答案:
(AC)
没有详解信息!
7. 求基本块入口语句是()。

(A) 循环的第一个语句
(B) 程序的第一个语句
(C) 条件转移或无条件转移转移到的语句
(D) 紧跟在条件转移语句后面的语句



参考答案:
(BCD)
没有详解信息!
8. 采用简单的栈式存储分配的语言()。

(A) 过程定义不允许嵌套
(B) 允许过程的递归调用
(C) 过程定义允许嵌套
(D) 不允许过程的递归调用



参考答案:
(AB)
没有详解信息!
9. 根据优化所涉及的程序范围,可将优化分成为()。

(A) 基本块优化
(B) 局部优化
(C) 循环优化
(D) 全局优化



参考答案:
(BCD)
没有详解信息!
10. 对于下面程序 program main(input, output); procedure p(x, y, z); begin y:=y+1; z:=z+x; end begin a:=2; b:=3; p(a+b, a, a);

print a end 参数传递采用方式,程序执行后输出 a的正确值是()。

(A) 传值:2
(B) 传地址:6
(C) 得结果:7
(D) 传名:9



参考答案:
(ACD)
没有详解信息!
11. 对代码进行等价变换必须遵循一定的原则是()。

(A) 等价原则
(B) 一致原则
(C) 有效原则
(D) 合算原则



参考答案:
(ACD)
没有详解信息!
12. 代码生成要考虑的主要问题有()。

(A) 减少目标中代码访问访问主存单元的次数
(B) 发现语法错误
(C) 使生成的目标代码较短
(D) 检查程序一致性



参考答案:
(AC)
没有详解信息!
13. 假设过程R的外层为Q,Q的外层为P,则过程R运行时DISPLAY表的内容有()。

(A) R的现行活动记录地址
(B) Q的最新活动记录的地址
(C) P的最新活动记录的地址
(D) 程序的活动记录地址



参考答案:
(ABC)
没有详解信息!
14. 在一个基本块内,可以进行删除公共子表达式和删除无用赋值两种优化,还可以实现下面的变换技术有()。

(A) 合并已知量
(B) 临时变量改名
(C) 交换语句的位置
(D) 代数变换



参考答案:
(ABCD)
没有详解信息!
15. 编译程序为了组织存储空间,必须考虑的问题有()。

(A) 过程是否允许递归
(B) 过程是否允许引用非局部名称
(C) 过程调用时如何传递参数
(D) 存储空间可否动态分配



参考答案:
(ABCD)
没有详解信息!
16. 代码化化()。

(A) 只能在中间代码进行
(B) 可以在中间代码进行
(C) 只能在目标代码上进行
(D) 可以在目标代码上进行



参考答案:
(BD)
没有详解信息!
17. 目标代码一般有以下()形式。

(A) 能够立即执行的机器语言代码
(B) C语言代码
(C) 待装配的机器语言模块
(D) 汇编语言代码



参考答案:
(ACD)
没有详解信息!
18. 优化技术有()。

(A) 删除公共子表达式、无用代码、归纳变量
(B) 复写传播
(C) 强度削弱
(D) 代码外提



参考答案:
(ABCD)
没有详解信息!
19. 常用的两种动态存贮分配办法有()。

(A) 链式动态分配
(B) 堆式动态分配
(C) 队列式动态分配
(D) 栈式动态分配



参考答案:
(BD)
没有详解信息!
20. 形成DISPLAY 的方法是()。

(A) 程序的基地址
(B) 当过程层次为n,DISPLAY表为n+1个值
(C) 一个过程被调用时,从调用过程的DISPLAY表中自下向上抄录n个SP值,再加上层的SP值。
(D) 全局DISPLAY地址



参考答案:
(BCD)
没有详解信息!

(三) 判断题
1. 为了生成更有效的目标代码, 要考虑基本块中中间代码序列。 ( )

(A)

对 (B) 错



参考答案:
(A)
没有详解信息!
2. 跟踪每个外层过程的最新活动记录的位置的的方法只有静态链方法。 ( )

(A) 对 (B) 错



参考答案:
(B)
没有详解信息!
3. 每个基本块只有一个入口和一个出口。 ( )

(A) 对 (B) 错



参考答案:
(A)
没有详解信息!
4. 代码外就是对于循环中的某些代码,如果它产生的结果在循环中是不变的,就可以把它提到循环外来,以避免每循环一次都要对这条代码进行运算。 ( )

(A) 对 (B) 错



参考答案:
(A)
没有详解信息!
5. 每条指令的执行代价=每条指令访问主存单元次数。 ( )

(A) 对 (B) 错



参考答案:
(B)
没有详解信息!
6. 使用静态链访问非局部变量比DISPLAY表速度快。 ( )

(A) 对 (B) 错



参考答案:
(B)
没有详解信息!
7. 动态链是指向调用该过程前的最新活动记录的地址的指针。 ( )

(A) 对 (B) 错



参考答案:
(A)
没有详解信息!
8. 复写传播的目的是使对某些变量的赋值变为无用。 ( )

(A) 对 (B) 错



参考答案:
(A)
没有详解信息!
9. FORTRAN语言采用栈式动态分配策略。 ( )

(A) 对 (B) 错



参考答案:
(B)
没有详解信息!
10. 目标代码生成时,应考虑如何充分利用计算机的寄存器的问题。( )

(A) 对 (B) 错



参考答案:
(A)
没有详解信息!
11. 代码化化可以在中间代码和目标代码上进行优化。 ( )

(A) 对 (B) 错



参考答案:
(A)
没有详解信息!
12. 孤立地考虑一个基本块常常不能确定一个赋值是否真的无用。 ( )

(A) 对 (B) 错



参考答案:
(A)
没有详解信息!
13. 每个过程的活动记录的体积在编译时可静态确定。( )

(A) 对 (B) 错



参考答案:
(A)
没有详解信息!
14. 一个过程的活动指的是该过程的一次执行。 ( )

(A) 对 (B) 错



参考答案:
(A)
没有详解信息!
15. 每个流图以语句为结点。 ( )

(A) 对 (B) 错



参考答案:
(B)
没有详解信息!
16. 每个基本块可用一个DAG表示。( )

(A) 对 (B) 错



参考答案:
(A)
没有详解信息!
17. 用运算时间短的运算符替换运算时间长的运算符,这种变换称为强度削弱。 ( )

(A) 对 (B) 错



参考答案:
(A)
没有详解信息!
18. DISPLAY表不是跟踪每个外层过程的最新活动记录的位置的方法。 ( )

(A) 对 (B) 错



参考答案:
(B)
没有详解信息!
19. 静态链指向静态直接外层最新活动记录的地址的指针,用来访问局部数据。 ( )

(A) 对 (B) 错



参考答案:
(B)
没有详解信息!
20. 内情向量用来记录数组有关信息。 ( )

(A) 对 (B) 错



参考答案:
(A)
没有详解信息!



相关文档
最新文档