标签: grammar ll
我有这个练习,它给了我一个语法,并要求证明它不是LL(1)。这一部分都很好,但之后它会问我该语法是否可以是LL(k)(for k>1)。我应该遵循什么程序来确定?
LL(1)
LL(k)(for k>1)
答案 0 :(得分:1)
对于给定的k和非左递归语法,您所要做的就是构建LA(k)表(通过随处可用的算法)。如果没有歧义,语法为LL(k),语言也是如此。
k
LA(k)
LL(k)
知道给定语言k是否存在LL(k)是不可判定的。您必须先尝试k之后的一个值,直到您成功,或者宇宙耗尽。