Quando olho para a análise de Earley, ela parece muito elegante e me pergunto por que as técnicas de GLR se tornam populares? Alguém sabe o que havia de errado com Earley analisando que Tomita criou o GLR? Atuação? Todas as publicações sobre essa discussão são muito apreciadas.
11
Respostas:
Antes tarde do que nunca.
Se bem entendi, Earley está de cima para baixo e gastará tempo e memória criando itens de Earley para cada produção em um determinado S (i). Isso significa que, para a linguagem natural, em S (0), criamos e verificamos um item de Earley para todas as palavras possíveis que iniciam uma frase, e existem muitas delas.
Mas a GLR é de baixo para cima, portanto, assumindo consultas de tabela / estado com hash eficientes, o primeiro token seleciona a (s) próxima (s) transição (ões) em tempo constante.
Isso é verdade especificamente para idiomas naturais, com o grande número de produções distintas. Mas não é realmente significativo para linguagens de programação, com o conjunto muito pequeno de produções.
fonte