+ All Categories
Home > Documents > Automatas y compiladores analisis sintactico

Automatas y compiladores analisis sintactico

Date post: 25-Jun-2015
Category:
Upload: germania-rodriguez
View: 16,644 times
Download: 6 times
Share this document with a friend
Description:
automatas compiladores árboles de análisis sintáctico
Popular Tags:
16
Germania Rodríguez [email protected] Teoría de Autómatas y Compiladores
Transcript
Page 1: Automatas y compiladores analisis sintactico

Germania Rodríguez [email protected]

Teoría de Autómatas y Compiladores

Page 2: Automatas y compiladores analisis sintactico

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.

Page 3: Automatas y compiladores analisis sintactico

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.

Page 4: Automatas y compiladores analisis sintactico

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

Page 5: Automatas y compiladores analisis sintactico

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

Page 6: Automatas y compiladores analisis sintactico

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.

Page 7: Automatas y compiladores analisis sintactico

Gramática: definiciones •  Estructuras • Derivación directa • Gramáticas equivalentes

Page 8: Automatas y compiladores analisis sintactico

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

Page 9: Automatas y compiladores analisis sintactico

Gramáticas •  Tipos

– Tipo 1: Sensibles al contexto

– Tipo 0: Sin restricciones respecto a su formato

Page 10: Automatas y compiladores analisis sintactico

Gramáticas Si el lenguaje Li generado por la gramática i

entonces se cumple que

Page 11: Automatas y compiladores analisis sintactico

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

Page 12: Automatas y compiladores analisis sintactico

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.

Page 13: Automatas y compiladores analisis sintactico

Derivación RG

exp exp op exp | (exp) | número op + | - | *

EJEMPLO: (34-3) * 42

Page 14: Automatas y compiladores analisis sintactico

Árbol de Análisis Sintáctico

RG exp

exp op exp

(exp) * número

número – número

Page 15: Automatas y compiladores analisis sintactico

Árbol de Análisis Sintáctico Abstracto

RG *

- 42

34 3

Page 16: Automatas y compiladores analisis sintactico

•  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

Bibliografía


Recommended