Parsing 如何确定语言是否为LL(1)?

Parsing 如何确定语言是否为LL(1)?,parsing,ll,Parsing,Ll,对于上面的语法G,它不是LL(1)吗,因为它在试图预测p的产生时会引发第一/第一冲突? 我真的在努力证明它不是LL(1)。。。 任何帮助或建议都将非常感谢 对于任何k,左递归语法都不能是LL(k)P→ pl是左递归的 此外,L有两个以同一终端开始的产品,因此不可能只使用一个前瞻符号在它们之间进行选择 P → PL | L L → N; | M; | C N → print E M → print "W" W → TW | ε C → if E {P} | if E {P} else {P} E

对于上面的语法G,它不是LL(1)吗,因为它在试图预测p的产生时会引发第一/第一冲突? 我真的在努力证明它不是LL(1)。。。
任何帮助或建议都将非常感谢

对于任何k,左递归语法都不能是LL(k)<代码>P→ pl是左递归的

此外,
L
有两个以同一终端开始的产品,因此不可能只使用一个前瞻符号在它们之间进行选择

P → PL | L
L → N; | M; | C
N → print E
M → print "W"
W → TW | ε
C → if E {P} | if E {P} else {P}
E → (EOE) | V (note: this has a variable O)
O → + | - | *
V → 0 | 1 | 2 | 3 (note: this has a terminal 0 (zero))
T → a | b | c | d