Compiladores

Solo disponible en BuenasTareas
  • Páginas : 5 (1017 palabras )
  • Descarga(s) : 0
  • Publicado : 12 de octubre de 2010
Leer documento completo
Vista previa del texto
COMPILADORES
Compilador es un programa informático que traduce un programa escrito en un lenguaje de programación a otro lenguaje de programación, generando un programa equivalente que la maquina será capaz de interpretar. Usualmente el segundo lenguaje es lenguaje maquina, pero también puede ser simplemente texto. Este proceso de traducción se conoce como compilación.
Un compilador es unprograma que permite traducir el código fuente de un programa en lenguaje de alto nivel, a otro lenguaje de nivel inferior. De esta manera un programador puede diseñar un programa en un lenguaje mucho más cercano a cómo piensa un ser humano, para luego compilarlo a un programa más manejable por una computadora.
En 1946 se desarrollo la primera computadora digital. En un principio, estas maquinasejecutaban instrucciones consistentes en códigos numéricos que señalaban a los circuitos de la maquina los estados correspondientes a cada operación, lo que se denominó lenguaje maquina.
C es un lenguaje de programación creado en 1972 por Dennis M. Ritchie en los Laboratorios Bell como evolución del anterior lenguaje B, a su vez basado en BCPL.
Tipos de compiladores
Esta taxonomía de los tipos decompiladores no es excluyente, por lo que puede haber compiladores que se adscriban a varias categorías:
* Compiladores cruzados: generan código para un sistema distinto del que están funcionando.
* Compiladores optimizadores: realizan cambios en el código para mejorar su eficiencia, pero manteniendo la funcionalidad del programa original.
* Compiladores de una sola pasada: genera elcódigo maquina a partir de una única lectura del código fuente.
* Compiladores de varias pasadas: necesitan leer el código fuente varias veces antes de poder producir el código maquina.
* Compilador JIT (Just In Time): forman parte de un intérprete y compilan partes del código según se necesitan.
ANSI C e ISO C
Es un estándar publicado por el Instituto Nacional Estadounidense deEstándares (ANSI), para el lenguaje de programación C. Se recomienda a los desarrolladores de Software en C que cumplan con los requisitos descritos en el documento para facilitar así la portabilidad del código. Posteriormente fue adoptado por la International Organization for Standardization (ISO), y revisiones posteriores publicas ISO han sido adoptadas por ANSI. El termino ANSI C es de uso másfrecuente en la industria que ISO C. Un término más neutral es estándar C.
ISO es el estándar ISO/IEC 9899:1990. Esta versión se conoce a veces como C90.
ANSI C es compatible por casi todos los compiladores, dado que la gran parte del código escrito en C está basado en ANSI C. se da por hecho que cualquier programa escrito solo según el estándar C sin dependencia alguna del hardware se compila deforma correcta en cualquier plataforma con una implementación conforme con C. Si no se toman estas medidas, la mayoría de programas solo podrán compilarse en una plataforma determinada o con un compilador en particular.
Compiladores compatibles con ANSI C:
* GCC
* Microsoft Visual C++
* ARM Real View
La primera estandarización del lenguaje C fue en ANSI, con el estándarX3.159-1989. El lenguaje que define este estándar fue conocido como ANSI C. posteriormente, en 1900, fue ratificado como estándar ISO.
Uno de los objetivos de diseño del lenguaje C es que sólo sean necesarias unas pocas instrucciones en lenguaje máquina para traducir cada elemento del lenguaje, sin que haga falta un soporte intenso en tiempo de ejecución. Es muy posible escribir C a bajo nivel deabstracción; de hecho, C se usó como intermediario entre diferentes lenguajes.
Tras un proceso largo y arduo, se completó el estándar en 1989 y se ratificó como el Lenguaje de Programación C ANSI X3.159-1989. Esta versión del lenguaje se conoce a menudo como ANSI C, o a veces como C89.
Uno de los objetivos del proceso de estandarización del ANSI C fue producir una extensión al C de Kernighan y...
tracking img