考虑以下无上下文语法,其中的终端集为{a,b,c,d,f}。
以下是部分填充的LL(1)解析表。
以下哪个选择代表解析表中编号单元格的正确组合(“空白”表示对应的单元格为空)?
(A) A
(B) B
(C) C
(D) D答案: (A)
解释:
让我们计算非终端的“第一”和“跟随”。
First | Follow | |
S | d,c,f | c,f,$ |
T | a,b,∈ | c,f,$ |
R | c,∈ | f |
现在使用first和follow,我们将构造LL(1)解析表。
1. S-> Rf生产条目将位于解析表中S终端(c,f)的第一个下面。
2. T->∈生产项将位于解析表中T终端(c,f,$)的后面。
a | b | c | d | f | $ | |
S | S ->Rf | S->daT | S ->Rf | |||
T | T->aS | T->baT | T->∈ | T->∈ | T->∈ | |
R | R->caTR | R->∈ |
这个问题的测验