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.翻译过程调用语句时如何记住每一个实参的地址
使用队列
使用符号表