martes, 31 de mayo de 2016

Clase 2

Clasificación de los interpretes

Concepto de Interprete:


Un intérprete es un programa que analiza y ejecuta simultáneamente el programa fuente, es decir no producen un código objeto, siendo su ejecución simultánea a la del programa fuente.


Comportamiento de un Interprete:

Un intérprete es como un compilador, solo que la salida es una ejecución. El programa de entrada se reconoce y ejecuta a la vez. No se produce un resultado físico (código máquina) sino lógico (una ejecución).

Resultado del Interprete:



Ventajas de los Interpretes:


Su principal ventaja es que permiten una fácil depuración. Permiten una mayor interactividad con el código en tiempo de desarrollo.
Puede ser interrumpido con facilidad. 
Facilita la búsqueda de errores. En algunos lenguajes está permitido añadir código según se ejecuta otro código.
Menor consumo de memoria.


Desventajas de los Interpretes:


Lentitud de ejecución, ya que al ejecutar a la vez que se traduce no puede aplicarse un alto grado de optimización. Cada instrucción debe ser traducida a código máquina tantas veces como sea ejecutada

Durante la ejecución, el intérprete debe residir en memoria ya que no genera código objeto.

Tamaño del programa objeto, que exige añadir el intérprete al programa propiamente dicho. 


Clasificación de Intérpretes:

Intérpretes Puros: son los que analizan una sentencia y la ejecutan, y así sucesivamente todo el programa fuente. Fueron los intérpretes desarrollados en la primera generación de ordenadores, pues permitían la ejecución de largos programas con ordenadores de memoria muy reducida, ya que sólo debían contener en memoria el intérprete y la sentencia a analizar y ejecutar.



Interpretes Avanzados: incorporan un paso previo de análisis de todo el programa fuente. Generando posteriormente un lenguaje intermedio que es ejecutado por ellos mismos.


Interpretes Incrementales: tienen gran interés en los lenguajes que permiten no definir los problemas completamente en tiempo de compilación. En estos casos se  utilizan evaluadores parciales que toman como entrada el programa fuente junto con algunos datos (pero no todos), realizándose los cálculos que se pueden hacer con dicho subconjunto de datos, y produciendo una salida que contiene un residuo del programa fuente que se ha introducido.


No hay comentarios:

Publicar un comentario