COMPILADORES
INTRODUCCION
Los  compiladores son programas de computadora que traducen un lenguaje a  otro. Toman un lenguaje de alto nivel (como C o C++)  y lo convierten en  un código objeto (conocido también como lenguaje maquina).
El  propósito de este texto es el de proporcionar la información básica de  los compiladores, además de ofrecer al lector todas las herramientas   necesarias para diseñar y programar  un compilador real.
El  estudio de las técnicas de codificación práctica en si mismo requiere  de una cuidadosa planeación, ya que incluso con buenos fundamentos  teóricos los detalles de la codificación pueden ser complejos y  abrumadores.
OBJETIVOS
Se  entenderá y aprenderá la manera de manejar un compilador, así como las  diversas herramientas que nos ayudarán a poder elaborar un compilador  real. El compilador debe de leer un lenguaje objeto (lenguaje de alto  nivel) y transformarlo en un lenguaje objeto (lenguaje maquina).
DESARROLLO
El  avenimiento de la computadora con programa almacenado, iniciado por  John von Neumann a finales de 1940, se hizo necesario escribir  secuencias de códigos, o programas, que darían como resultado que estas  computadoras realizaran los cálculos deseados. Al principio estos  programas se escribían en lenguaje maquina, el cual son códigos  numéricos que representaban las operaciones reales de la maquina que  iban a efectuarse.
 La  escritura de tales códigos es muy tediosa y consume mucho tiempo pronto  fue reemplazado por el lenguaje ensamblador. Un ensamblador traduce los  códigos simbólicos y las localidades de memoria del lenguaje  ensamblador a los códigos numéricos correspondientes de lenguaje  maquina. El lenguaje ensamblador mejoró enormemente la velocidad y  exactitud. Sin embargo el lenguaje ensamblador tiene varios defectos: Es  difícil de escribir leer y comprender.
Programas relacionados con los compiladores.
Intérpretes:  Traductor de lenguaje, como un compilador, pero la diferencia es que  ejecuta el programa fuente inmediatamente, en vez de generar un código  objeto que se ejecuta después  de que se completa la traducción.  Cualquier lenguaje de programación se puede interpretar o compilar.  
 Ensambladores:  Un ensamblador es un traductor para el lenguaje ensamblador de una  computadora en particular, el lenguaje ensamblador es una forma  simbólica de lenguaje maquina de la computadora. 
Ligadores: Tanto  los compiladores como los ensambladores a menudo dependen de un  programa conocido como ligador el cual recopila el código que se compila  o ensamblador por separado en diferentes archivos objeto, en un archivo  que es directamente ejecutable. Un ligador también conecta un programa  objeto con el código de funciones de librerías estándar así como  recursos suministrados por el sistema operativo de la computadora, tales  como asignadores de memoria y dispositivos de entrada y salida.
Cargadores:  Con frecuencia un compilador, ensamblador o ligadores producirá un  código que no está organizado ni listo para ejecutarse. Se dice que tal  código es relocalizable y un cargador resolverá todas las direcciones  relocalizables relativas a una dirección base,  o de inicio, dada.
Preprocesadores:  Un preprocesador es un programa separado que es invocado por el  compilador antes de que comience la traducción real. Un preprocesador de  este tipo puede eliminar los comentarios, incluir estos archivos y  ejecutar sustituciones de macro.
Editores: Los  compiladores por lo regular aceptan programas fuente escritos  utilizando cualquier editor que pueda producir un archivo estándar, tal y  como un archivo ASCIL, los compiladores han sido integrados junto con  los editores y otros programas en un ambiente de desarrollo interactivo.  Tales editores se denominan basados en estructura y ya incluyen alguna  de las operaciones de un compilador, de manera de, por ejemplo pueden  informarse al programador de los errores a medida que el programa se  valla escribiendo en logar de hacerlo cuando esta compilado.
Depuradores: Un  depurador es un programa que puede utilizarse para determinar los  errores de ejecución en un programa compilado. La ejecución de un  programa con un depurador de diferencia de la ejecución directa en que  el depurador se mantiene al tanto de la mayoría o la totalidad de la  información sobre el código fuente, tal como los números de línea y los  nombres de las variables y procedimientos. También puede detener la  ejecución en ubicaciones previamente especificadas denominadas puntos de  ruptura, además de proporcionar la información de cuales funciones se  han invocado y cuáles son los valores actuales de las variables.
Perfiladores: Un perfilador es un programa que recolecta estadísticas sobre el comportamiento de un programa objeto durante la ejecución.
Administradores de proyecto: Los  modernos proyectos de software por lo general son tan grandes que deben  de ser emprendidos por grupos de programadores en lugar de un solo  programador. Es importante que los archivos que se están trabajando por  personas distintas se encuentren coordinados y este es el trabajo de un  programa de administración de proyectos.
Por  ejemplo: Un administrador de proyecto debería coordinar la mezcla de  diferentes versiones del mismo archivo producido por programadores  diferentes.
CONCLUSION 
No hay comentarios:
Publicar un comentario