Interpretes

Páginas: 6 (1348 palabras) Publicado: 26 de abril de 2011
COMPILADORES E INTERPRETES: INTERPRETES
Luis A. Ochoa P. ziul1979@gmail.com

Introducción
¨

¨

¨

Todas las computadoras disponen de una unidad central de procesamiento (CPU) y cada CPU se caracteriza por el repertorio de instrucciones o conjunto de operaciones básicas que es capaz de ejecutar. Hay CPU de muchos tipos: la x86 de Intel, la PowerPC de Apple/IBM/Motorola, la Alpha deDEC, las Mips R, las Sparc de Sun, etc. Por lo tanto, para que se ejecute un programa en una CPU es necesario traducirlo al conjunto de instrucciones específicas de esta CPU. El conjunto de instrucciones que puede ejecutar cada CPU se denomina código máquina.

Introducción
¨

¨

El objetivo de los compiladores es poder traducir, sin errores, el código de un lenguaje de programación a códigomáquina que pueda ejecutar la CPU. Existe otra manera de poder ejecutar las instrucciones de un programa. Se trata de construir otro programa que simule la ejecución: se le pasa como entrada un conjunto de instrucciones y el programa simulará la ejecución y retornará la salida esperada.

Introducción
¨

¨

Los programas como los que acabamos de describir se denominan intérpretes y loslenguajes que se ejecutan mediante intérpretes, lenguajes interpretados. Un intérprete es un tipo de traductor que no genera código objeto equivalente al código fuente, sino que analiza y ejecuta, una a una, las sentencias del programa fuente.

Introducción
¨

Un intérprete sigue un proceso iterativo en el cual toma cada sentencia del programa fuente y la ejecuta sobre la plataforma. Cadasentencia implica una ejecución. En caso de existir errores en la sentencia, se tienen que notificar.

Ejemplo
¨

¨

Imaginemos que disponemos de un intérprete capaz de ejecutar operaciones matemáticas y que soporta variables. Este intérprete trataría la sentencia como I × 3 + 4 de la manera siguiente: Primero, mediante una fase de análisis crearía el árbol sintáctico de la expresión

Ejemplo¨

¨

¨

Después, el intérprete recorrería el árbol y ejecutaría las operaciones a medida que las fuera encontrando. Primero encontraría la operación asignación (token :=) y sabría que ha de calcular la expresión contenida en el hijo derecho del árbol. Por lo tanto, recorrería la parte derecha del árbol y descubriría que ha de resolver la operación suma (token +). Para realizar la suma,sabría que ha de sumar las expresiones de la parte izquierda del árbol y de la parte derecha:
¤ ¤ ¤ ¤

Recorrería la parte izquierda y vería que está el valor 3. Después, recorrería la parte derecha y encontraría el valor 4. A continuación, realizaría la suma 3 + 4 y vería que da 7. Después, recorrería la parte izquierda de la asignación y encontraría la variable X, obtendría la dirección asociada dememoria y guardaría el valor 7.

Diferencias compilador vs interprete

¨

¨

Muchas veces los intérpretes se utilizan para lenguajes de órdenes porque, normalmente, en estos lenguajes cada orden se traduce en la llamada a una rutina compleja, como la apertura de un editor de texto, una consulta a una base de datos, etc. Los intérpretes de pedidos de los sistemas operativos, denominadosshells, son intérpretes porque, normalmente, los comandos se traducen en llamadas a otros programas o a rutinas complejas. El intérprete de comandos de MS-DOS o el shell de Unix son ejemplos conocidos de intérpretes de este tipo.

Criterios para el uso de intérpretes en lenguajes de programación
¨

Desde la perspectiva del desarrollo, elegir entre lenguajes interpretados y lenguajescompilados requiere tener presente que, por una parte, aunque un compilador permite detectar e informar de más errores que un intérprete, la compilación puede ser muy lenta, lo que restará tiempo de desarrollo. Por la otra, el hecho de que un intérprete lea cada instrucción del código fuente y lo ejecute es una ayuda para desarrollar herramientas de depuración mucho más potentes que permiten, por...
Leer documento completo

Regístrate para leer el documento completo.

Estos documentos también te pueden resultar útiles

  • interprete
  • Interprete
  • Interprete
  • intérprete
  • Interpretes
  • Interpretaciones
  • Interpretaciones
  • interpretaciones

Conviértase en miembro formal de Buenas Tareas

INSCRÍBETE - ES GRATIS