martes, 7 de febrero de 2017

INTERPRETES

UNIDAD 1 ARQUITECTURA DE LOS COMPILADORES E INTERPRETES
Unidad de competencia
Determina la estructura general de los compiladores e intérpretes con base en la funcionalidad de sus etapas y fases


¿Qué es un intérprete?
Un intérprete ejecuta el programa sin traducirlo.
El funcionamiento de un intérprete se caracteriza por traducir y ejecutar, de una en una, las instrucciones del código fuente de un programa, pero, sin generar como salida código objeto.
Analiza el programa fuente y lo ejecuta directamente, o sea en el ejemplo del traductor humano, éste sería un traductor humano que conforme a lo que está escuchando va ejecutando, sin generar ningún escrito, es decir que sobre la marcha va traduciendo.
                                                                



¿Como funciona un interprete? 

Intérprete, que 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.
El proceso que realiza un intérprete es el siguiente: lee la primera instrucción del código fuente, la traduce a código objeto y la ejecuta; a continuación, hace lo mismo con la segunda instrucción; y así sucesivamente, hasta llegar a la última instrucción del programa, siempre y cuando, no se produzca ningún error que detenga el proceso.

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. En pocas palabras "el compilador sólo traduce; el intérprete decodifica y ejecuta.

Ventajas del intérprete frente al compilador:
•             El programa se puede ejecutar de inmediato, sin esperar a ser compilado.
•             Puede ser interrumpido con facilidad.
•             puede ser rápidamente modificado y ejecutado nuevamente.
•             Resultan muy apropiados durante la fase de desarrollo de un programa, ya que la compilación no permite la ejecución paso a paso del programa y con ello impide la edición seguimiento y depuración del programa.
Desventajas del intérprete frente al compilador:
•             La ejecución es más lenta, pues cada instrucción debe ser traducida a código máquina tantas veces como sea ejecutada.
•             No son adecuados en la fase de explotación del programa ya que el proceso de interpretación se ha de repetir cada vez que se ejecuta el programa, mientras que con la compilación, una vez obtenido el programa en leguaje máquina éste puede ser ejecutado sin necesidad de compilarlo de nuevo.
Son lenguajes interpretados:
•             PHP
•             ASP (hasta la versión 3)
•             HTML
•             JavaScript
•             Haskell
•             Prolog




No hay comentarios:

Publicar un comentario