Kiedy patrzę na parsowanie Earleya, wygląda to bardzo elegancko i zastanawiam się, dlaczego techniki GLR stały się popularne? Czy ktoś wie, co było nie tak z analizowaniem Earleya przez to, że Tomita stworzyła GLR? Wydajność? Wszelkie publikacje dotyczące tych dyskusji są bardzo mile widziane.
11
Odpowiedzi:
Lepiej późno niż wcale.
Jeśli dobrze rozumiem, Earley jest odgórny i poświęci czas i pamięć na tworzenie przedmiotów Earley dla każdej produkcji w danym S (i). Oznacza to, że dla języka naturalnego w S (0) tworzymy i sprawdzamy element Earley dla każdego możliwego słowa, które rozpoczyna zdanie, a jest ich całkiem sporo.
Ale GLR jest oddolny, więc zakładając, że efektywnie zaszyfrowane są tabele / wyszukiwania stanu, pierwszy token wybiera kolejne przejścia w stałym czasie.
Dotyczy to w szczególności języków naturalnych z ogromną liczbą różnych produkcji. Ale niezbyt znaczący dla języków programowania, z bardzo małym zestawem produkcji.
źródło