¿QUE ES UN PROGRAMA ENSAMBLADOR, INTERPRETADOR,LINKEADOR Y COMPILADOR?

PROGRAMA ENSAMBLADOR

Generalmente crea código objeto traduciendo instrucciones mnemónicas de lenguaje ensamblador en opcodes,y resolviendo los nombres simbólicos para las localizaciones de memoria y otras entidades. 
El uso de referencias simbólicas es una característica clave del lenguaje ensamblador,evitando tediosos cálculos y actualizaciones manuales de las direcciones después de cada modificación del programa. La mayoría de los ensambladores también incluyen facilidades de macros para realizar sustitución textual. 
Ejemplo: Generar cortas secuencias de instrucciones como expansión en línea en vez de llamar Sub-rutinas.

Los ensambladores son generalmente más simples de escribir que los compiladores para los lenguajes de alto nivel, y han estado disponibles desde los años 1950. En los compiladores para lenguajes de alto nivel,son el último paso antes de generar el código ejecutable.

PROGRAMA INTERPRETADOR

Es un lenguaje de programación para el que la mayoría de sus implementaciones ejecuta las instrucciones directamente, sin una previa compilación del programa a instrucciones en lenguaje máquina.El interprete ejecuta el programa directamente, traduciendo cada sentencia en una secuencia de una o mas subrutinas ya compiladas en código máquina.
Los términos del lenguaje interpretado y lenguaje compilado no están bien definidos porque, en teoría,cualquier lenguaje de programación puede ser interpretado o compilado. Cada vez es más popular, en las implementaciones más modernas de un lenguaje de programación,ofrecer ambas opciones. 
Los lenguajes interpretados también pueden diferenciarse de los lenguajes de máquina. Funcional mente, tanto la ejecución y la interpretación significan los mismo- obtener la siguiente instrucción/sentencia del programa y su ejecución. Aunque el bytcode (código byte) interpretado es además el término "interpretado" se reserva  en la práctica para lenguajes "procesados por software" (como las máquinas virtuales o emuladores por encima del procesado nativo (por ejemplo,por hardware)

PROGRAMA COMPILADOR
Es un programa informático que traduce un programa que ha sido escrito en un lenguaje de alto nivel de programación a un lenguaje diferente. Usualmente lenguaje de máquina,aunque también puede ser traducido a un código intermedio (bytcode) o a texto. este proceso de traducción se conoce como compilación.
La construcción de un compilador involucra la división del proceso en una serie de fases que variará con su complejidad.generalmente estas fases se agrupan en dos tareas: el análisis del programa y la síntesis del programa objeto.

PROGRAMA LINKEADOR
Un enlazador es un programa que toma los objetos generados en los primeros pasos del proceso de compilación, la información de todos los recursos necesarios (biblioteca), quita aquellos recursos que no necesita, y enlaza el código objeto en su(s) biblioteca(s) con lo que finalmente produce un fichero ejecutable o una biblioteca. En el caso de los programas enlazados dinámicamente, el enlace entre el programa ejecutable y las bibliotecas se realiza en tiempo de carga o ejecución del programa.

Comentarios

Entradas populares de este blog

¿QUÉ ES UN SIMULADOR, EMULADOR, DEPURADOR?

SUMAS CODIFICADAS EN BINARIO

LENGUAJE ENSAMBLADOR,LENGUAJE DE MÁQUINA,LENGUAJE INTERPRETADO,LENGUAJE COMPILADO