1 / 11

Teoría de Autómatas I

Teoría de Autómatas I. 2º curso Ingeniería Técnica en Informática de Sistemas UNED. Sesión 6. Analizadores Sintácticos LL(k) y LR(k). Analizadores Sintácticos LL(k) y LR(k). Ejercicio: Producir un Autómata de Pila equivalente a la gramática: S → xSy S → λ Solución página 116

sarah-mason
Download Presentation

Teoría de Autómatas I

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Teoría de Autómatas I 2º curso Ingeniería Técnica en Informática de Sistemas UNED

  2. Sesión 6 • Analizadores Sintácticos LL(k) y LR(k) Teoría de Autómatas I 2º Ing. Tec. Informática Sistemas Josep Silva Galiana

  3. Analizadores Sintácticos LL(k) y LR(k) • Ejercicio: • Producir un Autómata de Pila equivalente a la gramática: S → xSy S → λ • Solución página 116 • Segmento de programa equivalente (figura 2.26) • Utilizar el autómata de pila con la cadena de entrada “xxyy” a partir del símbolo inicial S • El autómata es indeterminista • No sabemos qué regla utilizar Teoría de Autómatas I 2º Ing. Tec. Informática Sistemas Josep Silva Galiana

  4. Analizadores Sintácticos LL(k) y LR(k) • Principio de preanálisis: • Técnica que permite observar los símbolos siguientes sin leerlos • El símbolo siguiente se almacena en un buffer • Solución ejercicio anterior Figura 2.27 • ¿Cuántos símbolos son necesarios? • Depende de las reglas de la gramática • Gramática figura 2.25 → 1 • Gramática figura 2.28 → 2 Teoría de Autómatas I 2º Ing. Tec. Informática Sistemas Josep Silva Galiana

  5. Analizadores Sintácticos LL(k) y LR(k) • Lenguajes LL(k): • L → Lee su entrada de izquierda a derecha • L → Produce una derivación por la izquierda • k → Nº de símbolos de preanálisis necesarios • A mayor k mayor potencia (más lenguajes) • Existen lenguajes independientes del contexto no LL(k) → LL(k) < LIC • xn / n є N  xn yn / n є N Teoría de Autómatas I 2º Ing. Tec. Informática Sistemas Josep Silva Galiana

  6. Analizadores Sintácticos LL(k) y LR(k) • Análisis sintáctico LL • Tablas de análisis sintáctico: • Filas = No-Terminales • Columnas = Terminales • Figura 2.29 (página 119) • Algoritmo genérico de análisis sintáctico • Puede usarse con cualquier tabla (Figura 2.30) • Ejercicios 3 y 4, página 121 Teoría de Autómatas I 2º Ing. Tec. Informática Sistemas Josep Silva Galiana

  7. Analizadores Sintácticos LL(k) y LR(k) • Lenguajes LR(k): • L → Lee su entrada de izquierda a derecha • R → Produce una derivación por la derecha • k → Nº de símbolos de preanálisis necesarios • LL → Análisis descendente • Del todo a las partes (S → xy) • LR → Análisis ascendente • De las partes al todo (xy → S) Teoría de Autómatas I 2º Ing. Tec. Informática Sistemas Josep Silva Galiana

  8. Analizadores Sintácticos LL(k) y LR(k) • Lenguajes LR(k): • Conversión de una gramática en un autómata de Pila → Figura 232 (página 123) • Análisis cadena zazabzbz→ Figura 233 (página 124) • Se produce una derivación por la derecha (página 125) • Ejercicios 1 y 2 (Página 133) • Problema del indeterminismo: ¿Cuándo reducir? • Figura 2.33: Paso 4 → ¿Por qué reduce z a M y no a N? • Figura 2.33: Paso 9 → ¿Por qué reduce z a N y no a M? Teoría de Autómatas I 2º Ing. Tec. Informática Sistemas Josep Silva Galiana

  9. Analizadores Sintácticos LL(k) y LR(k) • Tablas de análisis LR(k): • Filas: Símbolos especiales • Columnas: Terminales, No-Terminales y FDC • Se construyen a partir de autómatas (Figura 2.37) • Ejemplo en Figura 2.34 • Traza en la Figura 2.36 • Algoritmo de análisis LR(k) • Puede usarse con cualquier tabla (figura 2.35) Teoría de Autómatas I 2º Ing. Tec. Informática Sistemas Josep Silva Galiana

  10. Analizadores Sintácticos LL(k) y LR(k) • LR(k) incluye más lenguajes que LL(k) • LR(k) es justamente la clase de los lenguajes independientes del contexto deterministas • Existen lenguajes independientes del contexto que no son LR(k) • xnyn / n є N+ xny2n / n є N+ Teoría de Autómatas I 2º Ing. Tec. Informática Sistemas Josep Silva Galiana

  11. Analizadores Sintácticos LL(k) y LR(k) Ejercicios 1 y 2 página 133 Teoría de Autómatas I 2º Ing. Tec. Informática Sistemas Josep Silva Galiana

More Related