La gente suele decir que los analizadores LR (k) son más potentes que los analizadores LL (k) . Estas declaraciones son vagas la mayor parte del tiempo; en particular, ¿deberíamos comparar las clases para una fija o la unión sobre todas las k ? Entonces, ¿cómo es realmente la situación? En particular, estoy interesado en cómo encaja LL (*).
Hasta donde sé, los respectivos conjuntos de gramáticas que aceptan los analizadores LL y LR son ortogonales, así que hablemos de los lenguajes generados por los respectivos conjuntos de gramáticas. Supongamos que denota la clase de lenguajes generados por las gramáticas que pueden ser analizadas por un analizador L R ( k ) y similares para otras clases.
Estoy interesado en las siguientes relaciones:
Algunos de estos son probablemente fáciles; mi objetivo es recopilar una comparación "completa". Las referencias son apreciadas.