next up previous contents index practicapracticaPP2moodleLHPmoodlepserratacpanmodulospauseperlgoogleetsiiullpcgull
Sig: Ejercicio: Caracterización de una Sup: Análisis Sintáctico Predictivo Recursivo Ant: Práctica: Construcción de los Err: Si hallas una errata ...

Gramáticas LL(1)

Una gramática $ G =(\Sigma,V,P,S)$ cuyo lenguaje generado $ L(G)$ puede ser analizado por un analizador sintáctico descendente recursivo predictivo se denomina LL(1). Una gramática es LL(1) si y sólo si para cualesquiera dos producciones $ A \rightarrow \alpha$ y $ A \rightarrow \beta$ de $ G$ se cumple:
  1. $ FIRST(\alpha) \cap FIRST(\beta) = \emptyset$
  2. Si $ \epsilon \in FIRST(\alpha)$, entonces $ FIRST(\alpha) \cap FOLLOW(A) = \emptyset$

¿De donde viene el nombre LL(1)? La primera L hace alusión al hecho de que el flujo de terminales se lee de izquierda a derecha, accediendo a la entrada por su izquierda (Left). La segunda L se refiere a que el método de análisis predictivo construye una derivación a izquierdas. El número entre paréntesis indica el número de terminales que debemos consultar para decidir que regla de producción se aplica. Asi, en una gramática LL(2) la decisión final de que producción elegir se hace consultando los dos terminales a la entrada.


next up previous contents index practicapracticaPP2moodleLHPmoodlepserratacpanmodulospauseperlgoogleetsiiullpcgull
Sig: Ejercicio: Caracterización de una Sup: Análisis Sintáctico Predictivo Recursivo Ant: Práctica: Construcción de los Err: Si hallas una errata ...
Casiano Rodríguez León
2006-02-21