La descarga está en progreso. Por favor, espere

La descarga está en progreso. Por favor, espere

Análisis Sintáctico Descendente

Presentaciones similares


Presentación del tema: "Análisis Sintáctico Descendente"— Transcripción de la presentación:

1 Análisis Sintáctico Descendente
Sección 4.4

2 Análisis sintáctico por descenso recursivo
Consíderese la gramática S => cAd A => ab | a Entrada w = cad Revisar las dos posibilidades de A

3 Análisis sintáctico por descenso recursivo
Pero si fuera S => cAd A => aAb | a Entrada w = cad

4 Análisis sintáctico predictivo
Conocer el no terminal a expandir Dado el símbolo actual “a” (token) A => α1 | α2 | ... | αn Elegir αi anticipadamente

5 Análisis sintáctico predictivo
Ejemplo: Prop => if Expr then Prop Else Prop | while Expr do Prop | begin lista_props end ¿Cómo elegir cuál usar?

6 Transformación ¿Se puede usar predictivo en cualquier gramática?
Puede ser necesario hacer correcciones Eliminar recursión izquierda Factorizar por la izquierda Agrupar todos los prefijos comunes Prop => if Expr then Prop Else Prop | if Expr then Prop

7 Diagrama de transiciones
Con la gramática lista Para cada no terminal: Crear estado inicial y final Para cada producción A => X1X2...Xn Crear camino desde inicial hasta final Aristas X1, X2, ..., Xn

8 Ejemplo Copie la siguiente gramática: E => E + T | T
T => T * F | F F => (E) | id ¿Tiene recursión izquierda? ¿Necesita factorización izquierda?

9 Gramática sin recursión
E => TE’ E’ => +TE’ | nil T => FT’ T’ => *FT’ | nil F => (E) | id

10 Diagrama de transiciones
1 2 E: + T E’ 3 4 5 6 E’: nil


Descargar ppt "Análisis Sintáctico Descendente"

Presentaciones similares


Anuncios Google