Está en la página 1de 4

Universidad Tecnolgica Centroamericana UNITEC

Evolucin de los Compiladores y su aplicacin en la actualidad Compiladores I Catedrtico: Ing. Carlos Enrique Vallejo Meja Alumno: Kevin Leonel Lpez Nmero de cuenta: 11111174

Tegucigalpa, Francisco Morazn, Lunes 27 de Enero de 2014

Evolucin de los compiladores


Las primeras computadoras electrnicas aparecieron en la dcada de 1940 y se programaban en lenguaje mquina, mediante secuencias de 0s y ls que indicaban de manera explcita a la computadora las operaciones que deba ejecutar, y en qu orden. Las operaciones en s eran de muy bajo nivel: mover datos de una ubicacin a otra, sumar el contenido de dos registros, comparar dos valores, etctera. Est dems decir, que este tipo de programacin era lenta, tediosa y propensa a errores. Y una vez escritos, los programas eran difciles de comprender y modificar. El primer compilador fue escrito por Grace Hopper, en 1952 para el lenguaje de programacin A-0, En 1950 JOHN BACKUS dirigi una investigacin en IBM sobre un lenguaje algebraico. En 1954 se empez a desarrollar un lenguaje que permita escribir frmulas matemticas de manera traducible por un ordenador; le llamaron FORTRAN (FORmulae TRANslator). Fue el primer lenguaje de alto nivel y se introdujo en 1957 para el uso de la computadora IBM modelo 704. En la actualidad existen miles de lenguajes de programacin. Pueden clasificarse en una variedad de formas. Una de ellas es por generacin. Los lenguajes de primera generacin son los lenguajes de mquina, los de segunda generacin son los lenguajes ensambladores, y los de tercera generacin son los lenguajes de alto nivel, como Fortran, Cobol, Lisp, C, C + + , C # y Java. Los lenguajes de cuarta generacin son diseados para aplicaciones especficas como NOMAD para la generacin de reportes, SQL para las consultas en bases de datos, y PostScript para el formato de texto. El trmino lenguaje de quinta generacin se aplica a los lenguajes basados en lgica y restricciones, como Prolog y OPS5. Desde su diseo, los lenguajes de programacin y los compiladores estn ntimamente relacionados; los avances en los lenguajes de programacin impusieron nuevas demandas sobre los escritores de compiladores. stos tenan que idear algoritmos y representaciones para traducir y dar soporte a las nuevas caractersticas del lenguaje. Desde la dcada de 1940, la arquitectura de computadoras ha evolucionado tambin. Los escritores de compiladores no slo tuvieron que rastrear las nuevas caractersticas de un lenguaje, sino que tambin tuvieron que idear algoritmos de traduccin para aprovechar al mximo las nuevas caractersticas del hardware. Los compiladores pueden ayudar a promover el uso de lenguajes de alto nivel, al minimizar la sobrecarga de ejecucin de los programas escritos en estos lenguajes. Los compiladores tambin son imprescindibles a la hora de hacer efectivas las arquitecturas computacionales de alto rendimiento en las aplicaciones de usuario. = Un compilador debe traducir en forma correcta el conjunto potencialmente infinito de programas que podran escribirse en el lenguaje fuente. El problema de generar el cdigo destino ptimo a partir de un programa fuente es indecidible; por ende, los escritores de compiladores deben evaluar las concesiones acerca de los problemas

que se deben atacar y la heurstica que se debe utilizar para lidiar con el problema de generar cdigo eficiente.

Tipos de Compiladores
Compiladores cruzados Generan cdigo para un sistema distinto del que estn funcionando. Compiladores optimizadores Realizan cambios en el cdigo para mejorar su eficiencia, pero manteniendo la funcionalidad del programa original. Compiladores de una sola pasada: generan el cdigo mquina a partir de una nica lectura del cdigo fuente. Compiladores de varias pasadas Necesitan leer el cdigo fuente varias veces antes de poder producir el cdigo mquina. Compiladores JIT (Just In Time) Forman parte de un Interprete y compilan partes del cdigo segn se necesitan

Aplicaciones de la tecnologa de compiladores


El diseo de compiladores no es slo acerca de los compiladores; muchas personas utilizan la tecnologa que aprenden al estudiar compiladores en la escuela y nunca, hablando en sentido estricto, han escrito (ni siquiera parte de) un compilador para un lenguaje de programacin importante. La tecnologa de compiladores tiene tambin otros usos importantes. Adems, el diseo de compiladores impacta en otras reas de las ciencias computacionales. En esta seccin veremos un repaso acerca de las interacciones y aplicaciones ms importantes de esta tecnologa.

Bibliografa
Compiladores, principios, tcnicas y herramientas Alfred V. Aho http://www.slideshare.net/udalrico/evolucion-de-los-compiladores1