| 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.5.1.3 Funciones Firstop y Lastop

> Vamos a formalizar un método para obtener las relaciones de precedencia de los símbolos terminales de una gramática de operador.

> Definición 1. Las relaciones de precedencia de operador asociadas con una gramática de operador se definen sobre el alfabeto de símbolos terminales VT , según las siguientes reglas:

> 1) S1 := S2 sii existe una producción U ! _S1S2_ o U ! _S1XS2_, en donde S1; S2 2 VT y X 2 VN.

> 2) S1<_ S2 sii existe una producción U ! _S1X_ tal que X +) S2 : : : o X +) Y S2 : : :, en donde S1; S2 2 VT y X; Y 2 VN.

> 3) S1>_ S2 sii existe una producción U ! _XS2_ tal que X +) : : : S1 or X +) : : : S1Y , en donde S1; S2 2 VT y X; Y 2 VN.

> Usaremos para calcularlas, los conjuntos

> FIRSTOP(X) = fS1jX
> +)
> S1 _ _ _ ó X
> +)
> Y S1 con X; Y 2 VN y S1 2 VT g
> LASTOP(X) = fS1jX
> +)
> _ _ _ S1 ó X
> +)
> _ _ _ Y S1 con X; Y 2 VN y S1 2 VT g

> Para la gramática
> E ! TjE + TjE T
> T ! FjT _ FjT=F
> F ! PjF " P
> P ! ij(E)
> X FIRSTOP LASTOP
> P i( i)
> F i(" i)"
> T i("*/ i)"*/
> E i("*/+- i)"*/+

> Para el ejemplo vamos a usar una gramática más pequeña, la gramática:

> 1 E ! E+T
> 2 E ! T
> 3 T ! T*F
> 4 T ! F
> 5 F ! (E)
> 6 F ! i

> Los conjuntos FIRSTOP y LASTOP son los siguientes:

> FIRSTOP(E) = f+; _; (; ig LASTOP(E) = f+; _; ); ig
> FIRSTOP(T) = f_; (; ig LASTOP(T) = f_; ); ig
> FIRSTOP(F) = f(; ig LASTOP(F) = f); ig

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