Skip to content

XJTUSE-编译原理-随堂测 ​

2021级随堂测

随堂小测 ​

共4次,10个选择,标深颜色的表示正确答案

小测1 ​

1.编译系统的哪一部分与目标机器的指令集合有关

前端

后端

2.用T型图表示的编译系统在某机器上一定可执行吗?

一定

未必

3.状态转换图既能用于词法分析又能用于语法分析,对吗?

正确

错误

4.有限状态自动机(DFA)的初态必须唯一吗?

是的

不必

5.非确定有限自动机(NFA)确定化后一定不是最简吗?

未必

是的

6.上下文无关文法中任何非终结符都必须能推导为终结符串吗?

是的

不必

7.某个句子有两颗不同的语法树意味着什么?

语言是二义的

文法是二义的

文法二义:一个句子有两颗不同的语法树意味着

语言非二义:存在一个无二义的文法表示该语言。

9.哪类语法分析方法从树根开始构建语法树?

自下而上

自上而下

自下而上语法分析方法从叶子节点开始构建语法树。

10.递归下降分析必须首先消除什么和回溯两个障碍?

左递归

右递归

小测2 ​

1.针对终结符,非终结符以及文法符号串能定义哪种集合?

FIRST集合

FOLLOW集合

FOLLOW集合还需要产生式才能推导出来

2.预测分析与递归下降分析谁显式管理分析栈?

递归下降分析

预测分析

预测分析如LL(1)文法,会构造分析表,显式管理分析栈

3.算符文法的任何句型中是否会出现终结符相邻的情况

会

不会

算符文法的任何句型中不会出现非终结符相邻的情况

4.算符优先文法的优先关系是否具有逆对称性/传递性/等价性?

是

否

5.构建算符优先矩阵需要先构建哪些集合?

FIRST & FOLLOW

FIRSTVT & LASTVT

6.LR分析的“规约”语法动作有什么触发?

句柄

最左素短语

最左素短语用在算符优先文法中

7.LR分析表的各行与预测分析表,优先关系矩阵是否相似?

相似

不相似

8.项目[S'->S,#]是哪种项目

LR(1)规约项目

LR(0)规约项目

9.构造哪种LR分析表时不需要考虑非终结符的FOLLOW集?

SLR分析表

LR(0)分析表

10.LALR分析表的状态数与哪种分析表一样多?

SLR

LR(1)

小测3 ​

1.词法分析器能确定什么符号的什么属性?

非终结符/继承属性

终结符/综合属性

例如读取终结符数字“9”,就确定了num.s为9

2.文法开始符号的继承属性如何确定?

属性计算前的初始值

语法分析器确定

简单的小口诀

产生式左边综合属性,产生式右边继承属性

3.产生式左边的综合属性可以依赖于哪些属性?

右边的任何属性

左右边的任何属性

4.产生式右边的继承属性可以依赖于哪些属性?

右边的任何属性

左右边的任何属性

5.哪种基于属性文法的处理方法效率更低?

依赖图

树遍历

因为树遍历时间复杂度O(n^2),而依赖图的时间复杂度取决于构造的图,通常比树遍历复杂

6.哪种属性文法适合采用LL(1)分析方法?

S-属性文法

L-属性文法

L-属性文法需要自顶向下计算,而LL(1)是自顶向下的分析方法

7.属性文法的语义规则和代码段有何区别?

是否涉及实现细节

是否放在产生式不同位置

8.L-属性文法是否满足语义规则的自限性要求?

不满足

满足

9.翻译模式与语义动作的含义有何区别

抽象/具体

无区别

10.自下而上计算继承属性如何行得通

引入标记非终结符

将继承属性替换为综合属性

小测4 ​

1.哪种三地址代码更有利于后期优化

间接三元式

四元式

四元式,间接三元式都有利于后期优化

2.数组说明的翻译需要做什么?

填写内情向量

计算下标地址

3.数组元素的引用的翻译需要计算什么?

下标地址的变址与定址

各维的宽度

4.布尔表达式中哪种算法优先级更高?

布尔算法

算术运算符

优先级:算术>关系>布尔(not  > and > or)

5.转移目标在使用之后出现时怎么办更好?

使用拉链-回填法

使用队列法

6.翻译控制语句IF-THEN-ELSE时需要引入几种非终结符

一种

两种

M 和 N

7.控制语句翻译之后有几个待回填的链?

一个

不确定

8.翻译标号与转移语句时是否需要额外的综合属性?

需要

不需要

9.翻译case语句时所采用策略是否考虑分叉数?

不必考虑

考虑

10.翻译过程调用语句时如何记住每一个实参的地址

使用队列

使用符号表