LL解析器语法

时间:2014-10-22 02:13:08

标签: parsing grammar ll

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

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

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

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

1 个答案:

答案 0 :(得分:1)

为所有非终端计算FIRST集,并检查给定非终端的备选方案的FIRST集是否都是不相交的。如果全部是,则为LL,如果有任何非终端,则不是。如果有任何ε规则,你也需要FOLLOW设置。

计算FIRST 1 集非常简单,并且会告诉您语法是否为LL(1)。计算FIRST k 集合涉及的内容相当多,但会告诉您语法是否为任何特定k的LL(k),您计算FIRST k 集合。 / p>