Es un tipo especial de compilador, no genera un programa
objeto convencional, sino que traduce las instrucciones de alto nivel, una a
una, en sus equivalentes de lenguaje máquina, directamente durante la secuencia
de ejecución del programa. En caso de encontrar un error, el programa se
detiene en ese punto. En general, un lenguaje de alto nivel que utiliza un intérprete
ejecuta programas más lentamente que si utilizase un compilador. Ello es debido
a que las instrucciones que inician operaciones repetitivas (bucles), han de
ser retraducidas cada vez que reaparecen durante la ejecución.
Lenguajes
interpretativos
Algunos lenguajes no pueden compilarse por completo al lenguaje de la
máquina por uno de los motivos siguientes:
- Porque contienen operadores que precisan de la
presencia del intérprete, como aquéllos que ejecutan en tiempo de
ejecución cadenas de caracteres que representan instrucciones del lenguaje
fuente (APL, LISP, Prolog, Smalltalk).
- Porque han eliminado totalmente la declaración
de las variables, de tal modo que una variable tiene siempre el tipo del
último valor que se le asignó (APL, LISP, Smalltalk).
- Porque se ha eliminado la gestión dinámica de
la memoria, confiándole al intérprete la eliminación automática de la
memoria no utilizada (APL, JAVA, LISP, Smalltalk).
- Porque la presencia del intérprete durante la
ejecución es necesaria por razones de seguridad o de independencia de la
máquina (JAVA).
Entre los
lenguajes interpretativos destacan APL, JAVA, LISP, Prolog, Rexx, Smalltalk y
SNOBOL.
Ventajas de un intérprete
- Flexibilidad: permite realizar acciones complejas, imposibles o
muy difíciles con un compilador, como las siguientes:
- Ejecución de cadenas de caracteres mediante operadores como
"execute", "interprete" o "evalquote".
- Modificar sobre la marcha el significado de los símbolos e
incluso prescindir por completo de las declaraciones.
- Obtener un ligamiento
dinámico completo en los
sistemas orientados a objetos.
- Simplificar la gestión de memoria en los programas fuente.
- Facilidad de depuración de programas: la interpretación puede
interrumpirse en cualquier momento para examinar o modificar los valores
de las variables o la situación en la ejecución. La tabla de símbolos está
disponible. Se pueden corregir los errores y continuar. Trazas y paradas
programadas. Saltos en el programa. Abandonos de subrutinas.
- Rapidez en el desarrollo.
Desventajas de un intérprete
- Velocidad: usualmente un orden de magnitud menor que la de un
programa compilado.
- Tamaño del programa objeto, que exige añadir el intérprete al
programa propiamente dicho.
Uso de los intérpretes
Los intérpretes se usan principalmente:
- Para el desarrollo de prototipos.
- Para la enseñanza.
- Cuando el lenguaje tiene características que
exigen un intérprete (Lisp, APL, REXX, Smalltalk, Prolog).
- Cuando el lenguaje dispone de operadores muy
potentes, lo que significa que la mayor parte del tiempo los programas
están ejecutando código rápido prefabricado, más que los programas fuente
del programador (APL, SNOBOL).
- Para obtener independencia de la máquina
(JAVA).
- Para aumentar la seguridad (JAVA).
Fuentes:
Rocha
Díaz, Alberto (2014). Introducción a la Programación. Electrónica e informática
aplicada (pp. 190). Argentina: Libr. y Edit. Alsina.
Saffady,
William. El Software del Ordenador. Informática Documental para Bibliotecas (pp.
47 - 48).
Capítulo
8. Intérpretes
http://arantxa.ii.uam.es/~alfonsec/docs/compila8.htm
COMPILADORES
| INTERPRETES (Compilers and Interpreters)
http://compiladores-interpretes.blogspot.com/2012/01/introduccion-compiladores-e-interpretes.html#comment-form
Slot Machine Casino Review - Jammyhub
ResponderEliminarSlot Machine 고양 출장마사지 Casino is a fun, regulated 포항 출장안마 and safe 군포 출장샵 casino with great signup bonuses and free spins. 수원 출장안마 Read our 통영 출장샵 review to see if you can