考虑以下上下文无关文法,其中终端集是 {a,b,c,d,f}。
以下是部分填充的 LL(1) 解析表。
以下哪个选项代表解析表中编号单元格的正确组合(“空白”表示对应的单元格为空)?
(一) A
(乙)乙
(C)丙
(四)丁答案:(一)
解释:
让我们先计算非终端。
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->∈ |
这个问题的测验