COPILADORES E INTÉRPRETES
Existen dos tipos principales de traductores de los lenguajes de
programación de alto nivel: Compilador e intérprete.
Compilador : analiza el programa
fuente y lo traduce a otro equivalente escrito en otro lenguaje (por
ejemplo, en el lenguaje de la máquina). Su acción equivale a la de un
traductor humano, que toma un libro y produce otro equivalente escrito en
otra lengua.
Intérprete: analiza el programa fuente
y lo ejecuta directamente, sin generar ningún código equivalente. Su
acción equivale a la de un intérprete humano, que traduce las frases que
oye sobre la marcha, sin producir ningún escrito permanente. Intérpretes y
compiladores tienen diversas ventajas e inconvenientes que los hacen
complementarios:
Un intérprete facilita la búsqueda de errores, pues la ejecución
de un programa puede interrumpirse en cualquier momento para estudiar el
entorno (valores de las variables, etc.). Además, el programa puede
modificarse sobre la marcha, sin necesidad de volver a comenzar la
ejecución.
Un compilador suele generar programas más rápidos y eficientes, ya
que el análisis del lenguaje fuente se hace una sola vez, durante la
generación del programa equivalente. En cambio, un intérprete se ve
obligado generalmente a analizar cada instrucción tantas veces como se
ejecute (incluso miles o millones de veces).
Un intérprete permite utilizar funciones y operadores más
potentes, como por ejemplo ejecutar código contenido en una variable en
forma de cadenas de caracteres. Usualmente, este tipo de instrucciones es
imposible de tratar por medio de compiladores. Los lenguajes que incluyen
este tipo de operadores y que, por tanto, exigen un intérprete, se llaman
interpretativos. Los lenguajes compilativos, que permiten el uso de un
compilador, prescinden de este tipo de operadores.
No hay comentarios:
Publicar un comentario