我正在尝试为算术表达式提出一个明确的语法,以使 Earley 解析器更快,但我似乎遇到了麻烦。这是给定的模棱两可的语法
S -> E | S,S
E -> E+E | E-E | E*E | (E) | -E | V
V -> a | b | c
这是我试图使它明确
S -> S+E | S-E | E | (S+E) | (S-E) | (E)
E -> E*T | E
T -> -V | V
V -> a | b | c
它解析一切都很好,但与使用模棱两可的相比没有任何显着的加速。