ClubEnsayos.com - Ensayos de Calidad, Tareas y Monografias
Buscar

COMPILADORES E INTÉRPRETES


Enviado por   •  10 de Marzo de 2013  •  2.867 Palabras (12 Páginas)  •  377 Visitas

Página 1 de 12

COMPILADORES E INTÉRPRETES

1. Introducción a los Compiladores

Los principios y técnicas de escritura de compiladores son tan amplios que las ideas encontradas en este documento se usaran muchas veces en la carrera de un cientifico de la computación. La escritura de compiladores comprende los lenguajes de programación, la arquitectura de computadores, la teoría de lenguajes, los algoritmos y la ingenieria de software. Por fortuna, con algunas técnicas básicas de escritura de compiladores se pueden construir traductores para una gran variedad de lenguajes y maquinas. Aquí se introduce el tema de compilación describiendo los componentes de un compilador, el entorno en que trabajan los compiladores y algunas herramientas de software que facilitan la construccion de compiladores.

Perspectiva Histórica

Años 40-50

Años 50-60

Años 60-

En los 50 los compiladores eran considerados programas muy difíciles de construir por Ejemplo: Fortran evolucionó durante 18 años de trabajo en grupo.

Hoy en día se han desarrollado técnicas sistemáticas, entornos de programación y herramientas de software que facilitan la tarea de desarrollo de compiladores, intérpretes y traductores.

Los primeros compiladores traducían fórmulas aritméticas a código de máquina. No puede darse una fecha exacta del primer desarrollo. Varios grupos en forma independiente desarrollaron técnicas de análisis y diseño de compiladores.

Hoy en día hay gran variedad de compiladores para múltiples lenguajes de alto nivel, disponibles para muchas plataformas, es decir cubren gran variedad de códigos de máquina.

2. Compiladores

Para traducir las instrucciones de un programa escrito en un lenguaje de alto nivel a instrucciones de un lenguaje máquina, hay que utilizar un programa llamado compilador. Así pues, el compilador es un programa que recibe como datos de entrada el código fuente de un programa escrito por un programador, y genera como salida un conjunto de instrucciones escritas en el lenguaje binario de la computadora donde se van a ejecutar.

Lenguaje Fuente Lenguaje Destino

Mensajes de error

Un compilador no es un programa que funciona de manera aislada, sino que necesita de otros programas para conseguir su objetivo: obtener un programa ejecutable a partir de un programa fuente en un lenguaje de alto nivel. Algunos de esos programas son el preprocesador, el linker, el depurador y el ensamblador. El preprocesador se ocupa (dependiendo del lenguaje) de incluir ficheros, expandir macros, eliminar comentarios, y otras tareas similares. El linker se encarga de construir el fichero ejecutable añadiendo al fichero objeto generado por el compilador las cabeceras necesarias y las funciones de librería utilizadas por el programa fuente. El depurador permite, si el compilador ha generado adecuadamente el programa objeto, seguir paso a paso la ejecución de un programa. Finalmente, muchos compiladores, en vez de generar código objeto, generan un programa en lenguaje ensamblador que debe después convertirse en un ejecutable mediante un programa ensamblador.

3. Análisis del Programa Fuente

En la compilación, el análisis consta de tres fases:

a.) Análisis Lineal, en el que la cadena de caracteres que constituye el programa fuente se lee de izquierda a derecha y se agrupa en componentes léxicos, que son secuencias de caracteres que tienen un significado colectivo.

b.) Análisis Jerárquico, en el que los caracteres o los componentes léxicos se agrupan jerárquicamente en colecciones anidadas con un significado colectivo.

c.) Análisis Semántico, en el que se realizan ciertas revisiones para asegurar que los componentes de un programa se ajustan de un modo significativo.

El programa compilador traduce las instrucciones en un lenguaje de alto nivel a instrucciones que la computadora puede interpretar y ejecutar. Para cada lenguaje de programación se requiere un compilador separado. El compilador traduce todo el programa antes de ejecutarlo. Ya que los compiladores son programas de traducción insertados en la memoria por el sistema operativo para convertir programas de cómputo en pulsaciones electrónicas ejecutables. Los compiladores pueden ser de:

• Una sola pasada: generan el código máquina a partir de una única lectura del código fuente

• Pasada múltiple: necesitan leer el código fuente varias veces antes de poder producir el

código máquina.

• Optimación: realizan cambios en el código para mejorar su eficiencia, pero manteniendo la

funcionalidad del programa original.

...

Descargar como (para miembros actualizados) txt (11 Kb)
Leer 11 páginas más »
Disponible sólo en Clubensayos.com