| INSTITUTO POLITÉCNICO NACIONAL ESCUELA SUPERIOR DE CÓMPUTO |

Introducción | Contenido | Bibliografía

Introducción
Contenido
UNIDAD I
UNIDAD II
UNIDAD III
UNIDAD IV Introducción 4.1 Frases, formas sentenciales, Handles (Mangos), Prefijo Viable 4.2 Eliminación de Recursión inmediata y no inmediata 4.3 Factorización de Gramáticas

4.4 Analizador Top-Down

4.4.1 Análisis Sintáctico por Descenso Recursivo sin Retroceso y con Retroceso

4.4.2 Análisis Sintáctico LL(1)

4.4.2.1 Cálculo de First y Follow

4.4.2.2 Definición de Gramáticas LL(1) con reglas Épsilon

4.4.2.3 Algoritmo de análisis sintáctico LL(1)

4.5 Analizador Bottom-UP

4.5.1 Análisis Sintáctico por Precedencia de Operadores

4.5.1.1 Definición de Gramáticas de Operadores

4.5.1.2 Definición Formal de las Relaciones de Precedencia de Operadores

4.5.1.3 Funciones Firstop y Lastop

4.5.1.4 Obtención de la tabla de precedencia de Operadores

4.5.1.5 Algoritmo de análisis Sintáctico por Precedencia de Operadores

4.5.2 Análisis Sintáctico LR

4.5.2.1 Algoritmo de Análisis Sintáctico LR

4.5.2.2 Análisis Sintáctico LR(0)

4.5.2.2.1 Construcción de la Máquina LR(0)

4.5.2.2.2 Construcción de la Tabla LR(0)

4.5.2.2.3 Análisis Sintáctico SLR

4.5.2.2.4 Obtención de Estados SLR

4.5.2.2.5 Construcción de la Máquina de Estados SLR

4.5.2.2.6 Construcción de la Tabla SLR

4.5.2.2.7 Análisis Sintáctico LR(1)

4.5.2.2.8 Definición de elementos LR(1)

4.5.2.2.9 Construcción de conjuntos de elementos

4.5.2.2.10 Construcción de Máquina de estados LR(1)

4.5.2.2.11 Construcción de la Tabla LR(1)

UNIDAD V
UNIDAD VI
UNIDAD VII
UNIDAD VIII
UNIDAD IX
PROBLEMARIO
Bibliografía

4.4.2.3 Algoritmo de Análisis Sintáctico LL(1)

> Una gramática cuya tabla de análisis sintáctico no tiene entradas con definiciones múltiples se define como LL(1). La primera “L” de LL(1) representa la lectura de izquierda a derecha, la segunda “L” representa una derivación por la izquierda, y el “1” es por utilizar un símbolo de análisis por adelantado a cada paso para tomar las decisiones de la acción en el análisis sintáctico.

> Las gramáticas LL(1) tiene varias propiedades distintivas. Ninguna gramática ambigua o recursiva por la izquierda puede ser LL(1). También se puede demostrar que una gramática G es LL(1) si, solo si, cuando A → α | β sean dos producciones distintas de G, y se cumplen las siguientes condiciones:

> 1. Para ningún terminal a tanto α como β se derivan a la vez cadenas que comiencen con a.

> 2. A lo sumo una de α y β puede derivar la cadena vacía.

> 3. Si β λ, α no deriva ninguna cadena que comience con un terminal en SIGUIENTE(A).

> Para construir la tabla de análisis sintáctico LL(1) se aplica el siguiente algoritmo:

> Para cada producción A → α de la gramática, seguir los dos siguientes pasos.

> - Para cada terminal a de PRIMERO(α), añádase A → α a la tabla M.

> - Si λ está en PRIMERO(α), añádase A → α a la tabla M para cada terminal b de SIGUIENTE(A). Si λ está en PRIMERO(α) y $ esta en SIGUIENTE(A), añádase A → α a M.

> - Hágase que cada entrada no definida de M sea un error.

Atrás Siguiente

##### Introducción / Contenido / Unidad I / Unidad II / Unidad III / Unidad IV / Unidad V / Unidad VI / Unidad VII / Unidad VIII / Unidad IX / Problemario / Bibliografía

##### Inicio

##### Créditos

José Sánchez Juárez, Andrés Ortigoza Campos, Fabiola Ocampo Botello