题目内容
(请给出正确答案)
[主观题]
(1)列出这个文法的所有LR(0)项目(2)按(1)列出的项目构造识别这个文法活前缀的NFA,把这个NFA确定化为DFA,说明这个DFA的所有状态全体构成这个文法的LR(0)规范族(3)这个文法是SLR的吗?若是构造出它的SLR分析表(4)这个文法是LALR或LR(1)的吗?
查看答案
如果结果不匹配,请 联系老师 获取答案
考虑文法S AS|b
A SA|a
(1)构造文法的LR(0)项目集规范族及相应的DFA。
(2)如果把每一个LR(0)项目看成一个状态,并从每一个形如Ba:Xb的状态出发画一条标记为X的箭弧刀状态Ba.Xb,而且从每一个形如Ba.Ab的状态出发画标记为的箭弧到所有形如A●g的状态。这样就得到了一个NFA。说明这个NFA与(a)中的DFA是等价的。
(3)构造文法的SLR分析表。
(4)对于输入串bab,给出SLR分析器所作出的动作。
(5)构造文法的LR(1)分析表和LALR分析表。
A.项目集中可以有移进-归约冲突
B.项目集中不允许多个移进项目同时出现
C.项目集中可以有归约-归约冲突
D.项目集中不能有移进-归约冲突和归约-归约冲突
A.LR分析方法是一种自顶向下分析方法
B.LR分析方法中的R表示构造一个最左推导的逆过程
C.LR分析方法中的L表示从左到右扫描输入串
D.LR分析方法对文法的限制比递归下降分析更多
LL(1)文法的判断。
作业要求:
LL(1)文法本质含义是第一个L表明自顶向下分析是从左向右扫描输入串,第2个L表明分析过程中将使用最左推导,1表明只需向右看一个符号便可决定如何推导,即选择哪个产生式(规则)进行推导。
有以下文法G:
E->TE'
E'->+E|ε
T->FT'
T'->T|ε
F->PF'
F'->*F'|ε
P->(E)|a|b|^
(1)计算这个文法每个非终结符的FIRST集和FOLLOW集。
(2)证明这个方法是LL(1)的。