0

我在下面有这个语法并试图弄清楚是否可以使用 LL 解析器进行解析?如果不是,请解释。

S --> ab | cB
A --> b | Bb
B --> aAb | cC
C --> cA | Aba

据我了解,两组的交集必须为空才能通过成对不相交测试。

但我不确定从哪里开始,并且一直在查看我的教科书和http://en.wikipedia.org/wiki/LL_parser#Parsing_procedure,但不能完全理解或找到任何可以遵循的示例。我只需要查看程序或步骤即可了解如何解决其他类似问题。任何帮助表示赞赏。

4

1 回答 1

1

计算所有非终结符的 FIRST 集,并检查给定非终结符的备选方案的 FIRST 集是否都是不相交的。如果全部是,则为 LL,如果有任何非终结符不是它们,则不是。如果有任何 ε 规则,您还需要 FOLLOW 集。

计算 FIRST 1集非常简单,它会告诉你语法是否为 LL(1)。计算 FIRST k集要复杂得多,但会告诉您对于您计算 FIRST k集的任何特定 k,语法是否为 LL(k)。

于 2014-10-22T02:39:13.450 回答