Traductores y ensamblador
De acuerdo al modo en que llevan a cabo el proceso de conversión, los traductores se dividen en dos conjuntos: intérpretes y compiladores.
Ensamblador:
Un ensamblador traduce el código escrito en lenguaje
ensamblador directamente a código binario, cuyo código se puede crear
manualmente o por máquina. Por ejemplo, algunos compiladores primero convierten
el código del programa en código ensamblador y luego llaman a un ensamblador.
Esto, a su vez, funciona como un compilador en sí mismo y, como paso final,
crea el código máquina.
Compiladores:
Es un Software que traduce un programa escrito en un lenguaje de programación de alto nivel (C / C ++, COBOL, etc.) en lenguaje de máquina. Un compilador generalmente genera lenguaje ensamblador primero y luego traduce el lenguaje ensamblador al lenguaje máquina. Una utilidad conocida como «enlazador» combina todos los módulos de lenguaje de máquina necesarios en un programa ejecutable que se puede ejecutar en la computadora.
Los traductores de tipo compilador convierten el código fuente de un programa en código máquina, generando en el camino un recurso adicional (un ejecutable) que será el que utilizaremos para ejecutar el programa.
En realidad, el programa fuente será convertido, sentencia a sentencia, a código máquina, creando un programa objeto o código objeto.
Sin embargo para crear el programa final, autoejecutable, será necesario un proceso adicional: el enlazado o montaje (realizado por el programa montador, enlazador o linker).
Interpretes:
Un intérprete es un traductor que ejecuta las líneas de código que conforman un programa una a una y directamente. Es un programa que va leyendo el código fuente de otro programa y lo va ejecutando según lo lee.
El código máquina generado en el momento de la traducción no es almacenado para su posterior ejecución cuando se solicite. Por tanto, el programa realizado con un lenguaje de programación traducido por un intérprete, siempre necesitará a éste para poder ejecutarse. No existe independencia entre la fase de traducción y ejecución.
Cada vez que el programa necesite ejecutarse, el traductor tendrá que convertir el código fuente a código máquina (interpretar). Esta característica hace que, por regla general, los lenguajes que usan este tipo de traductor ofrezcan un menor rendimiento.
En contrapartida, ofrecen un mejor entorno de programación, depuración y mantenimiento que el otro conjunto de traductores: los compiladores.





Comentarios
Publicar un comentario