Se puede también utilizar una alternativa diferente de
los compiladores para traducir lenguajes de alto nivel. En vez de
traducir el programa fuente y grabar en forma permanente el código
objeto que se produce durante la corrida de compilación para utilizarlo
en una corrida de producción futura, el programador sólo carga el
programa fuente en la computadora junto con los datos que se van a
procesar. A continuación, un programa intérprete, almacenado en el
sistema operativo del disco, o incluido de manera permanente dentro de
la máquina, convierte cada proposición del programa fuente en lenguaje
de máquina conforme vaya siendo necesario durante el proceso de los
datos. No se graba el código objeto para utilizarlo posteriormente.
La siguiente vez que se utilice una instrucción, se le
debe interpretar otra vez y traducir a lenguaje máquina. Por ejemplo,
durante el procesamiento repetitivo de los pasos de un ciclo, cada
instrucción del ciclo tendrá que volver a ser interpretado cada vez que
se ejecute el ciclo, lo cual hace que el programa sea más lento en
tiempo de ejecución (porque se va revisando el código en tiempo de
ejecución) pero más rápido en tiempo de diseño (porque no se tiene que
estar compilando a cada momento el código completo). El intérprete
elimina la necesidad de realizar una corrida de compilación después de
cada modificación del programa cuando se quiere agregar funciones o
corregir errores; pero es obvio que un programa objeto compilado con
antelación deberá ejecutarse con mucha mayor rapidez que uno que se debe
interpretar a cada paso durante una corrida de producción.
No hay comentarios:
Publicar un comentario