第五章复习题
单选
-
递归子程序法属于(A)语法分析方法。
A. 自顶向下
B. 自底向上
C. 自左向右
D. 自右向左 -
采用确定的自顶向下分析时,必须(A)。
A. 消除左递归
B. 消除右递归
C. 避免回溯
D. 提取左公因子 -
自上而下语法分析的主要分析动作是(A)。
A. 推导
B. 移进
C. 规约
D. 匹配 -
一个字符属于FOLLOW(S),这个字符的含义是(A)。
A. 一定会有一个句型中后随S的终结符
B. S可能推导出第一个字符
C. S可能推导出最后一个字符
D. 在某句型中直接跟在S后的字符 -
在递归子程序法中,若文法存在左递归,则会使分析过程产生(D)。
A. 回溯
B. 非法调用
C. 有限次调用
D. 无限循环 -
编译程序中的语法分析器接受以(C)为单位的输出,并产生有关信息供以后各阶段使用。
A. 表达式
B. 产生式
C. 单词
D. 语句 -
构造一个不带回溯的自顶向下语法分析器,要求文法满足(E)。
A. 对每个形如A→x1|x2|…|xn的产生式,要求FIRST(xi)与FIRST(xj)的交集为空集(i≠j)
B. 对每个形如A→x1|x2|…|xn的产生式,若xi能推出ε,则要求FIRST(xj)与FOLLOW(A)的交集为空集(i≠j)
C. 不含左递归
D. A和B同时满足
E. A、B和C同时满足 -
LL(1)文法(B)二义性的。
A. 都是有
B. 都没有
C. 不一定有
D. 极少具有
多选
- 语法分析器的常用方法是(AB)。
A. 自顶向下
B. 自底向上
C. 自左向右
D. 自右向左
判断
- LL(1)文法又称为预测分析法。正确
- 左递归会造成自顶向下分析过程出现无穷的重复。正确
- LL(1)文法不一定都是二义性的。错误
- 考虑文法G[A]:A→A∨B|B B→B∧C|C C→┓C|D D→(A)|i 该文法是LL(1)文法。错误
- 一个算符优先文法可能不存在优先函数与之对应。正确
- LR分析法在自左至右扫描输入串是就能发现错误,并且能准确地指出出错地点。正确
单选
-
最左简单子树的末端结点构成的符号串称为(B)。
A. 简单短语
B. 句柄
C. 最左素短语
D. 素短语 -
若a为终结符,则A→α·aβ为(C)项目。
A. 待约
B. 接受
C. 移进
D. 规约 -
下面哪种不是自底向上的语法分析文法(C)。
A. LR(1)
B. SLR(1)
C. LL(K)
D. 算符优先文法 -
LR(k)方法是(B)。
A. 从左到右分析,每次向前预测k步的一种编译方法
B. 从左到右分析,是否规约句柄要向后看k个输入符号的一种编译方法
C. 从左到右分析,共经过k步的一种编译方法
D. 从左到右分析,每次走k步的一种编译方法 -
算符优先分析文法是一种自底向上的分析方法,它是以(C)作为每一步规约的对象。
A. 句柄
B. 最右直接短语
C. 最左素短语
D. 最右素短语 -
在通常的语法分析方法中,(C)特别适用于表达式的分析。
A. 简单优先法
B. LR分析法
C. 算符优先法
D. LL(1)分析法 -
若项目集Ik含有A->α·,则在状态k时,仅当面临的输入符号a∈FOLLOW(A)时,才采取“A->α·”动作的一定是(D)。
A. LALR文法
B. LR(0)文法
C. LR(1)文法
D. SLR(1)文法 -
在规范规约中,任何可规约串的出现都在(C)。
A. 栈的内部
B. 剩余的输入串中
C. 栈顶
D. 在栈顶和输入串中 -
一个LR分析器实质上是一个带有先进后出存储栈的(A)。
A. DFA
B. NFA
C. ACTION表
D. LR分析表 -
LR分析法属于(D)。
A. 自顶向下分析法
B. LALR分析法
C. SLR分析法
D. 自底向上分析法 -
自下而上语法分析的主要分析动作是(C)。
A. 移进
B. 推导
C. 规约
D. 匹配