.
Intérpretes
Joyanes Aguilar, define a un Intérprete, como un traductor que toma un
programa fuente, lo traduce, y a continuación lo ejecuta. Los programas
intérpretes clásicos, como BASC, prácticamente ya no se utilizan, aunque se
puede encontrar alguna computadora que opere con la versión QBasic bajo el
Sistema Operativo DOS que corre en las computaras personales. Sin embargo,
está muy extendida la versión interpretada del Lenguaje Smalltalk, un lenguaje
orientado a objetos puro. Los intérpretes han vuelto a renacer con la aparición
de Java, ya que para entender el código en bytes (bytecode) al que traduce un
compilador se necesita un intérprete.
Compiladores
Después que se ha diseñado el algoritmo y escrito el programa en un papel, se
debe comenzar el proceso de introducir el programa en un archivo (fichero) en
el disco duro de la computadora. La introducción y modificación del programa
en un archivo se hace utilizando un editor de texto o simplemente un editor, un
programa que viene en la computadora. El aprendizaje de cómo utilizar un
editor hace la tarea de introducir un programa una tarea muy fácil.
El programa ya sea escrito en C o en Java, o en cualquier otro lenguaje, pero ni
C ni Java son lenguajes máquina, por el contrario son lenguajes de alto nivel
diseñados para hacer más fácil la programación que utilizando el lenguaje
máquina. La computadora no entiende los lenguajes de alto nivel. En
consecuencia, un programa escrito en un lenguaje de alto nivel debe ser
traducido a un lenguaje que la máquina pueda comprender. Los lenguajes que
la computadora puede comprender se llaman lenguajes de bajo nivel. La
traducción de un programa escrito en un lenguaje de alto nivel, como C++ o
Java, a un lenguaje que pueda entender la computadora se hace mediante otro
programa conocido como compilador.
Los lenguajes de bajo nivel que la computadora puede entender directamente
se conocen como lenguajes ensamblador o lenguaje máquina. En realidad,
aunque son muy similares y en ocasiones se les considera sinónimos, tienen
algunas pequeñas diferencias. El lenguaje que la computadora puede
comprender directamente se denomina lenguaje máquina. El lenguaje
ensamblador es casi la misma cosa, pero necesita un paso adicional para que
la traducción pueda ser entendida por la máquina. Si un compilador traduce el
programa de alto nivel a algún lenguaje de bajo nivel, no es exactamente
lenguaje máquina, se necesita, por tanto, una pequeña traducción adicional
antes de ser ejecutado en la computadora, pero normalmente este proceso
suele ser automático y no es problemático.
En esencia, un compilador es un programa que traduce un programa en
lenguaje de alto nivel, tal como un programa de C/C++/Java, en un programa de
un lenguaje más sencillo que la computadora puede comprender más o menos
directamente.
La compilación y sus fases
La compilación es el proceso de traducción de programas fuente a programas
objeto. El programa objeto obtenido de la compilación se traduce normalmente
a código máquina.
Para conseguir el programa máquina real se debe utilizar un programa llamado
montador o enlazador (linker). El proceso de montaje conduce a un programa
en lenguaje máquina directamente ejecutable. Figura 1.4.3.
El proceso de ejecución de un programa escrito en un lenguaje de
programación (por ejemplo, C) y mediante un compilador suele tener los
siguientes pasos:
1. Escritura del lenguaje máquina con un editor (programa que permite a
una computadora actuar de modo similar a una máquina de escribir
electrónica) y guardarlo en un dispositivo de almacenamiento (por
ejemplo, un disco).
2. Introducir el programa fuente en memoria.
3. Compilar el programa con el compilador C.
4. Verificar y corregir errores de compilación (listado de errores).
5. Obtención del programa objeto.
6. El enlazador (linker) obtiene el programa ejecutable.
7. Se ejecuta el programa y, si no existen errores, se tendrá la salida del
programa.
(Norton, Peter. Introducción a la Computación. Mc Graw Hill. México. 3ra edición. 2000. p. 429.)
Comentarios
Publicar un comentario