设有下列文法(S是文法的开始符号): (1)S→aSSb|aSSS|c (2)S→AS|b A→SA|a (3)S→cA|ccB B→ccB|b A→cA|a 试构造上述文法的LR(0)项目集规范族。
设有文法G的LR(1)项目集规范族和GO函数,用如图5—4所示的FA表示。试判断G是四类LR文法的哪一类,并简要说明理由。
设有已拓广的文法G(S′是G的开始符号):S′→S S→aA|a A→cAd|ε给出G的LR(1)项目集规范族和G()函数用FA表示(如图5—5所示)。
(1)改正图5—5的LR(1)项目集规范族中的错误。 (2)试判断G是四类LR文法的哪一类.并简要说明理由。
下述LR(0)项目可以成为一个LR的项目集吗? ①A→P.Q P→.a Q→.a ②A→P.P A→P.Q P→.a Q→.a 说明没有超前扫描的情况下②不存在冲突。
A.项目集中可以有移进-归约冲突
B.项目集中不允许多个移进项目同时出现
C.项目集中可以有归约-归约冲突
D.项目集中不能有移进-归约冲突和归约-归约冲突
A.A→P.Q和B→QP.
B.A→P.Q和B→PQ.
C.A→.χ和B→.
D.A→P.Q和B→P.Q
E.A→P.Q和A→.Q