Intérprete Compiler

3

Click here to load reader

description

definición de interprete y compilador, y sus ventajas

Transcript of Intérprete Compiler

Page 1: Intérprete Compiler

Intérprete: 

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.

No genera código objeto, analiza y ejecuta directamente cada proposición del código fuente.

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).

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.

En algunos lenguajes (Smalltalk, Prolog, LISP) está permitido y es frecuente añadir código según se

ejecuta otro código, y esta característica solamente es posible implementarla en un intérprete.

Puede ser interrumpido con facilidad.

Puede ser rápidamente modificado y ejecutado nuevamente.

Un Intérprete necesita menos memoria que un compilador.

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.

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.

Page 2: Intérprete Compiler

Compilador: 

Es un traductor que convierte un texto escrito en un lenguaje de alto nivel a un lenguaje de bajo nivel (código

objeto o máquina).

 

Cómo saber si estamos ante un compilador:

Cuando el lenguaje fuente esta en un lenguaje de programación de alto nivel y el objeto generado sea de bajo

nivel (ensamblador o código de maquina).

Ventajas de los Compiladores: 

Produce un código optimizado.

La ejecución del programa objeto es mucho mas rápida que si se interpreta el programa fuente.

El compilador tiene una visión global del programa, por lo que la información de mensajes de error es

más detallada.

Se debe ejecutar muchas veces el código fuente para ver los cambios en el resultado.

Mayor consumo de memoria.