Resumen de Compilación



Monografias.com
Resumen de Traducción Definición: Un traductor es un algoritmo que convierte un código fuente en un programa objeto equivalente. Definición: Un compilador es un traductor donde el lenguaje objeto está un nivel “más bajo” que el lenguaje del código fuente. (Gp:) Traductor (Gp:) Codigo Fuente (Gp:) Programa Objeto
Monografias.com
Resumen de Traducción (cont.)? ¿ Cuándo es el nivel de un lenguaje menor que otro ? Definición: Un interpretador es un algoritmo que simula la ejecución de programas escritos en un determinado lenguaje fuente. Interpretador Fuente entrada salida
Monografias.com
Resumen de Traducción (cont.)? Definición: La implementación de un lenguaje de programacion consiste de un traductor (o compilador) para ese lenguaje, y un interpretador para el correspondiente lenguaje objeto. Interpretador Objeto entrada salida Compilador Fuente
Monografias.com
Traducción Un programa fuente puede ser traducido un número arbitrario de veces antes que el programa objeto sea generado. Traductor1 Fuente Traductor2 TraductorN Objeto ...
Monografias.com
Traducción (cont.)? Cada una de estas traducciones es llamada una fase, no se debe confundir con una pasada, i.e. una escritura al disco. P: ¿ Cómo debiera ser divido en fases un compilador? R: De manera que cada fase pueda ser descrita por un modelo formal de computación, y realizar la fase eficientemente.
Monografias.com
Traducción (cont.)? P: ¿ Cómo se divide usualmente un compilador? R: En 2 fases principales, con varias posibilidades de subdivisión. Fase 1: Análisis (determina correctitud)? Fase 2: Síntesis (produce código objeto)? Otros criterios: Fase 1: Sintaxis (forma). Fase 2: Semántica (significado).
Monografias.com
División tipica de un compilador Scanning (Análisis lexico). Objetivo: Agrupar secuencia de caracteres que ocurren en la fuente, en unidades lógicas atómicas llamadas tokens. Ejemplos de tokens: Identificadores, palabras reservadas, enteros, hileras, signos de puntuación, “espacios en blanco”, caracteres de fin de línea, comentarios, etc., … Scanner (Analizador Léxico)? Fuente Secuenica de Tokens
Monografias.com
Análisis Léxico Se debe tratar con carateres fin de línea y fin de archivo (end-of-file). Se hace una clasificación preliminar de tokens. Por ejemplo, ‘program’ y ‘Ex’ son clasificados como identificadores. Se tiene que dar reglas no-ambiguas para la formación de tokens. Ejemplo:
Monografias.com

Monografias.com
Filtraje (Screening) Objetivo: Remover los tokens no deseados. Clasificar las palabras reservadas. Unir/simplificar tokens. (Gp:) Screener (Gp:) Secuencia de Tokens (Gp:) Secuencia de Tokens
Monografias.com
Filtraje (Screening)? Reconoce (y reclasifica) palabras reservadas. Descarta espacios en blanco (y comentarios). Actua como una interfaz entre el “scanner” y la siguiente fase, el “parser” (analizador sintáctico). Ejemplo:
Monografias.com

Monografias.com
Análisis sintactico (Parsing) Objetivos: Determinar si la secuencia de tokens es sintácticamente correcta. Agrupar los tokens, en una estructura sintáctica correcta (árbol), de ser posible.
Monografias.com
Análisis sintáctico (cont.)? Estructura sintáctica de programas: Expresiones Declaraciones Procedimientos Funciones Módulos Metodología: Usar “reglas de reescritura” (a.k.a. BNF).