Teoría de Autómatas y    Compiladores      Germania Rodríguez     grrodriguez@utpl.edu.ec
Análisis Sintáctico•  Determina la sintaxis, o estructura de un   programa.•  L a s i n t a x i s d e u n l e n g u a j e ...
Análisis Sintáctico•  El AS involucra tener que elegir entre   varios métodos diferentes con sus   propiedades y capacidad...
Análisis Sintáctico – Proceso             Código fuente     Analizador léxico o rasterador                 Tokens         ...
Análisis Sintáctico - Proceso•  La tarea del AS es determinar la estructura   sintáctica de un programa a partir de los   ...
Análisis Sintáctico - Proceso  – Compiladores de una pasada no generan árbol    sintáctico explícito.  – Compiladores de m...
Gramática: definiciones•  Estructuras•  Derivación directa•  Gramáticas equivalentes
Gramática•  Tipos  – Tipo 3: Regulares de acuerdo al formato de    producción pueden ser:     •  Lineales a la derecha:   ...
Gramáticas•  Tipos  – Tipo 1: Sensibles al contexto  – Tipo 0: Sin restricciones respecto a su formato
GramáticasSi el lenguaje Li generado por la gramática i entonces se cumple que
Gramática Libre de Contexto•  Especificación para la estructura sintáctica   de un lenguaje de programación, muy similar  ...
Gramática Libre de Contexto:      Comparación RG con las ER•  Utilizan notación semejante en ER:  – Operaciones ER: =, con...
DerivaciónRG     exp  exp op exp | (exp) | número     op  + | - | *EJEMPLO:   (34-3) * 42
Árbol de Análisis SintácticoRG                   exp             exp op exp           (exp)    * número      número – número
Árbol de Análisis Sintáctico AbstractoRG                  *              -        42         34        3
Bibliografía•  Kenneth C. Louden, Construccion de Compiladores   Principios Y Práctica•  Universidad Jaume, Open Course Wa...
Upcoming SlideShare
Loading in...5
×

Automatas y compiladores analisis sintactico

16,875

Published on

automatas compiladores árboles de análisis sintáctico

0 Comments
4 Likes
Statistics
Notes
  • Be the first to comment

No Downloads
Views
Total Views
16,875
On Slideshare
0
From Embeds
0
Number of Embeds
0
Actions
Shares
0
Downloads
268
Comments
0
Likes
4
Embeds 0
No embeds

No notes for slide

Automatas y compiladores analisis sintactico

  1. 1. Teoría de Autómatas y Compiladores Germania Rodríguez grrodriguez@utpl.edu.ec
  2. 2. Análisis Sintáctico•  Determina la sintaxis, o estructura de un programa.•  L a s i n t a x i s d e u n l e n g u a j e d e programación se lo determina mediante reglas gramaticales de una gramática libre de contexto similar a las ER en el análisis léxico con la diferencia que son recursivos.•  Los algoritmos utilizados para reconocer estas estructuras difieren del léxico ya que utilizan llamadas recursivas o una pila de AS.
  3. 3. Análisis Sintáctico•  El AS involucra tener que elegir entre varios métodos diferentes con sus propiedades y capacidades, existen dos categorías basados en la manera en que construyen el árbol de análisis gramáticas o sintáctico: descendente o ascendente.
  4. 4. Análisis Sintáctico – Proceso Código fuente Analizador léxico o rasterador Tokens Analizador Sintáctico Árbol sintáctico Analizador Semántico Árbol con anotaciones Optimizador de código fuente Código intermedio Generador de código Código objetivo Optimizador de código objetivo Código Objetivo
  5. 5. Análisis Sintáctico - Proceso•  La tarea del AS es determinar la estructura sintáctica de un programa a partir de los tokens producidos por el AL.•  En resumen una función que toma como entrada la secuencia de tokens y salida el AS. Secuencia de tokens  árbol sintáctico
  6. 6. Análisis Sintáctico - Proceso – Compiladores de una pasada no generan árbol sintáctico explícito. – Compiladores de múltiples pasadas – las pasadas utilizaran el árbol como su entrada.•  El árbol se define como estructura de datos dinámica, nodos, atributos, campos del atributo.•  Manejo de errores, no solo mostrar mensaje sino recuperarse (inferir código corregido) y continuar el análisis, para encontrar tantos errores como sea posible.
  7. 7. Gramática: definiciones•  Estructuras•  Derivación directa•  Gramáticas equivalentes
  8. 8. Gramática•  Tipos – Tipo 3: Regulares de acuerdo al formato de producción pueden ser: •  Lineales a la derecha: A  aB Aa •  Lineales a la izquierda A  Ba Aa – Tipo 2: Libre de contexto •  A  B siempre independiente del contexto
  9. 9. Gramáticas•  Tipos – Tipo 1: Sensibles al contexto – Tipo 0: Sin restricciones respecto a su formato
  10. 10. GramáticasSi el lenguaje Li generado por la gramática i entonces se cumple que
  11. 11. Gramática Libre de Contexto•  Especificación para la estructura sintáctica de un lenguaje de programación, muy similar a la estructura léxica.•  Se define a través de Reglas Gramaticales RG
  12. 12. Gramática Libre de Contexto: Comparación RG con las ER•  Utilizan notación semejante en ER: – Operaciones ER: =, concatenación, selección |, repetición *, – Operaciones RG: , concatenación, selección |, recursividad. – Ejm: exp  exp op exp | (exp) | número op  + | - | * – Las ER son sobre caracteres y las RG son sobre tokens.
  13. 13. DerivaciónRG exp  exp op exp | (exp) | número op  + | - | *EJEMPLO: (34-3) * 42
  14. 14. Árbol de Análisis SintácticoRG exp exp op exp (exp) * número número – número
  15. 15. Árbol de Análisis Sintáctico AbstractoRG * - 42 34 3
  16. 16. Bibliografía•  Kenneth C. Louden, Construccion de Compiladores Principios Y Práctica•  Universidad Jaume, Open Course Ware –II20 Teoría de autómatas y lenguajes formales en: http://e-ujier.uji.es/pls/ w w w / ! g r i _ w w w . e u j i 2 2 1 0 1 ? p_id=7&p_tipo=A&p_curso=II20&p_idioma=ES
  1. A particular slide catching your eye?

    Clipping is a handy way to collect important slides you want to go back to later.

×