Parsing 需要解释一下Earley算法吗

Parsing 需要解释一下Earley算法吗,parsing,nlp,earley-parser,Parsing,Nlp,Earley Parser,如果有人能为我澄清小野维基百科提到的例子,我将非常高兴: 考虑语法: P → S # the start rule S → S + M | M M → M * T | T T → number 和输入: 2 + 3 * 4 Earley算法的工作原理如下: (state no.) Production (Origin) # Comment --------------------------------- == S(0): • 2 + 3 * 4 ==

如果有人能为我澄清小野维基百科提到的例子,我将非常高兴:

考虑语法:

P → S      # the start rule
S → S + M | M
M → M * T | T
T → number
和输入:

2 + 3 * 4
Earley算法的工作原理如下:

 (state no.) Production          (Origin) # Comment
 ---------------------------------
 == S(0): • 2 + 3 * 4 ==
 (1)  P → • S         (0)    # start rule
 (2)  S → • S + M     (0)    # predict from (1)
 (3)  S → • M         (0)    # predict from (1)
 (4)  M → • M * T     (0)    # predict from (3)
这只是第一组S(0),但我的问题是: 为什么算法要从步骤(4)中的(3)进行预测 但它的预测来自(2)

我希望有人能理解这个想法,并能帮助我使用(2)进行预测不会产生新的产品,因为点旁边的符号是S。因此,将只会再次获得产品(2)和(3),而不会添加信息。

使用(2)进行预测不会产生新的产品,因为点旁边的符号是S。因此,将只再次获取不添加信息的产品(2)和(3)