Monografias.com > Computación > Programación
Descargar Imprimir Comentar Ver trabajos relacionados

Resumen de Compilación




Enviado por Pablo Turmero



Partes: 1, 2


    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).

    Partes: 1, 2

    Página siguiente 

    Nota al lector: es posible que esta página no contenga todos los componentes del trabajo original (pies de página, avanzadas formulas matemáticas, esquemas o tablas complejas, etc.). Recuerde que para ver el trabajo en su versión original completa, puede descargarlo desde el menú superior.

    Todos los documentos disponibles en este sitio expresan los puntos de vista de sus respectivos autores y no de Monografias.com. El objetivo de Monografias.com es poner el conocimiento a disposición de toda su comunidad. Queda bajo la responsabilidad de cada lector el eventual uso que se le de a esta información. Asimismo, es obligatoria la cita del autor del contenido y de Monografias.com como fuentes de información.

    Categorias
    Newsletter