Diese Präsentation wurde erfolgreich gemeldet.
Die SlideShare-Präsentation wird heruntergeladen. ×

Automatas y compiladores analisis sintactico

Anzeige
Anzeige
Anzeige
Anzeige
Anzeige
Anzeige
Anzeige
Anzeige
Anzeige
Anzeige
Nächste SlideShare
Analizador Sintactico
Analizador Sintactico
Wird geladen in …3
×

Hier ansehen

1 von 16 Anzeige
Anzeige

Weitere Verwandte Inhalte

Diashows für Sie (20)

Ähnlich wie Automatas y compiladores analisis sintactico (20)

Anzeige

Weitere von Germania Rodriguez (20)

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áticas Si 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ón RG exp  exp op exp | (exp) | número op  + | - | * EJEMPLO: (34-3) * 42
  14. 14. Árbol de Análisis Sintáctico RG exp exp op exp (exp) * número número – número
  15. 15. Árbol de Análisis Sintáctico Abstracto RG * - 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

×