第七章:语法制导翻译和中间代码

 

(垃圾博主随心情更新。。。。)

1. 中间代码是介于源语言程序和什么之间的一种代码?( )

A. 源代码

B. 机器语言

C. 汇编语言

D. 目标代码

2. 在编译程序中与生成中间代码的目的无关的是( )。

A. 便于目标代码优化

B. 便于存储空间的组织

C. 便于目标代码的移植

D. 便于编译程序的移植

3. 逆波兰表示法表示表达式时无须使用括号。

正确

错误

4. 四元式之间的联系是通过( )实现的。

A. 指示器

B. 临时变量

C. 符号表

D. 程序变量

显示答案揭示答案

5. 后缀式 ab+cd+/可用表达式( )来表示。

A. a+b/c+d

B. (a+b)/(c+d)

C. a+b/(c+d)

D. a+b+c/d

6. 表达式( ┐ A ∨B)∧(C∨D)的逆波兰表示为( )。

A. ┐AB∨∧CD∨

B. A┐B∨CD∨∧ 

C. AB∨┐CD∨∧

D. A┐B∨∧CD∨

7. 间接三元式表示法的优点为( )。

A.采用间接码表,便于优化处理 

B. 节省存储空间,不便于表的修改 

C.便于优化处理,节省存储空间  

D. 节省存储空间,不便于优化处理

8. 数组元素的地址计算与数组的存储方式有关。

正确

错误

9. 树形表示和四元式不便于优化,而三元式和间接三元式则便于优化。

正确

错误

10. 表达式a*b-c-d$e$f-g-h*i中,运算符的优先级由高到低依次为-、*、$,且均为右结合,则其后缀式为( )。

A. $*a-b-cd$e*-f-ghi

B. bcd--a*efgh--i*$$

C. abcd--*efgh--i*$$

D. ab*c-d-e$fg-h-i*$ 

11. 以下( )不是中间代码的表示形式。

A. DAG图

B. 后缀式

C. 三元式

D. 间接四元式

12 表达式a+b*c-d/e↑f的后缀式是( )。

A. ab+c*d-e↑f

B. abc+*def/↑-

C. abc*+def↑/-

D. abc*+-def↑/

13. 编译过程中将源代码翻译成中间代码,具有很多优点,其中( )不是中间代码的优点。

A. 中间代码不能用于解释

B. 利于在不同目标机上实现同一种语言

C. 利于进行与机器无关的优化

D. 编译程序的逻辑结构更为简单明确

14. 中间代码生成时依据的是( )。

A. 语法规则

B. 词法规则

C. 语义规则

D. 等价变换规则

15. 采用三元式实现三地址代码时,不利于对中间代码进行优化。

正确

错误

 

 

注:那个,我又回来了,如果后面有需要的话可以评论或者私信告诉我哟,看到的话想起来的话还是会回来的,拜呀!

你可能感兴趣的:(编译原理)