考虑下述文法,S为开始符号
G1[S]:S→A
A→aAb | ab
G2[S] S→A
A→aA |a|
下列结论中为真的是()。
A.G1是LR(0)文法,G2不是LR(1)文法
B.G2是LR(0)文法,G1不是LR(1)文法
C.G2是LR(1)文法,G1不是LR(1)文法
D.G1和G2都是LR(1)文法
参考答案:A
解析:
因为G2存在句子aa,该句子有两棵不同的语法树,所以文法G2是二义性文法。二义性文法不是LR文法,所以B、C、D不正确。选A。
考虑下述文法,S为开始符号
G1[S]:S→A
A→aAb | ab
G2[S] S→A
A→aA |a|
下列结论中为真的是()。
A.G1是LR(0)文法,G2不是LR(1)文法
B.G2是LR(0)文法,G1不是LR(1)文法
C.G2是LR(1)文法,G1不是LR(1)文法
D.G1和G2都是LR(1)文法
参考答案:A
解析:
因为G2存在句子aa,该句子有两棵不同的语法树,所以文法G2是二义性文法。二义性文法不是LR文法,所以B、C、D不正确。选A。