表示b和d具有相同数量的b和d的字符串的LL(1)语法是什么样的?

时间:2018-10-11 00:22:15

标签: compiler-construction context-free-grammar ll

在过去的几天里,我一直试图弄清楚这一点,但无济于事。每次我添加一个端点,语法似乎都无法通过LL(1)测试。

输入字符串示例如下:

dbbbdd

我尝试的最后一个示例是:

S1 -> b S d
S2 -> d S b
S -> S1 
S -> S2

这符合LL(1)要求,但不适用于正确的输入。

我尝试的另一种方法是:

S -> S1 S S2 S
S -> S2 S S1 S
S -> ε
S1 -> b
S2 -> d

这确实适用于输入,但不是LL(1)。除非我创建的解析表不正确。

enter image description here

任何帮助将不胜感激。

0 个答案:

没有答案