📜  门| GATE CS 2012 |第65章

📅  最后修改于: 2021-06-29 02:30:22             🧑  作者: Mango

考虑与上述问题相同的日期。 E1,E2和E3的适当条目是

CSE_GATE_20123
(A) A
(B) B
(C) C
(D) D答案: (C)
解释:

由于我们需要查找针对非终端S和B的条目E1,E2和E3,因此我们仅处理在LHS上具有S和B的产品。

这里,将解析表表示为M [X,Y],其中X代表行(非终端),Y代表列(终端)。

Rule 1: if P --> Q is a production, for each terminal
        't' in FIRST(Q) add P-->Q to M [ P , t ]

Rule 2 : if epsilon is in FIRST(Q), add P --> Q to
         M [ P , f ] for each f in FOLLOW(P). 

对于生产规则S–> aAbB,它将被添加到解析表中的位置M [S,FIRST(aAbB)],现在FIRST(aAbB)= {a},因此将S–> aAbB添加到M [S, a],即E1。

对于生产规则S–> bAaB,它将被添加到解析表中的位置M [S,FIRST(bAaB)],现在FIRST(bAaB)= {b},因此将S–> bAaB添加到M [S, b],即E2

对于生产规则S–> epsilon,它将被添加到解析表中的位置M [S,FOLLOW(S)],现在FOLLOW(S)= {a,b,$},因此将S –> epsilon添加到M [S,a]和M [S,b]分别分别为E1和E2。

对于生产规则B –> S,它将被添加到解析表中的位置M [B,FIRST(S)],现在FIRST(S)也包含epsilon,因此将B –> S添加到M [S,FOLLOW (B)],而FOLLOW(B)包含{$},即M [S,$]为E3。

epsilon对应于空字符串。这个问题的测验