El algoritmo de Earley[1] es un algoritmo no determinista de análisis sintáctico para las gramáticas libres de contexto descrito originalmente por el informático estadounidense Jay Earley en 1970. Se ordena, a los lados de los algoritmos CYK y GLR, entre los algoritmos que usan la noción de reparto (de cálculos y de estructuras) y que construyen todos los análisis posibles de una frase (y no sólo uno de estos análisis). Es uno de los algoritmos no deterministas que usan ideas de la programación dinámica.