Interpretes

Páginas: 52 (12755 palabras) Publicado: 17 de diciembre de 2009
Intérpretes y Diseño de Lenguajes de Programación

Jose Emilio Labra Gayo Juan Manuel Cueva Lovelle Raúl Izquierdo Castanedo Aquilino Adolfo Juan Fuente Mª Cándida Luengo Díez Francisco Ortín Soler

Fecha: Abril 2004

-1-

Tabla de Contenidos
1. Intérpretes ____________________________________________________________

____________ 3 1.1. Definición____________________________________________________________

_________ 3 1.2. Estructura de un intérprete ______________________________________________________ 3 1.3. Ventajas de la utilización de intérpretes ____________________________________________ 5 1.4. Aplicaciones de los sistemas basados en intérpretes___________________________________ 5 1.5. Tipos de intérpretes____________________________________________________________

6 1.6. Ejemplo de intérprete de código intermedio________________________________________ 12 1.7. Ejemplo de intérprete de lenguaje recursivo _______________________________________ 19 2. Diseño de Lenguajes de Programación ________________________________________________ 24 2.1. Aspectos lingüísticos ___________________________________________________________ 24 2.2. Principios dediseño ___________________________________________________________ 24 2.3. Técnicas de Especificación semántica _____________________________________________ 25 2.4. Familias de Lenguajes _________________________________________________________ 27 2.5. Lenguajes de Dominio Específico ________________________________________________ 38 2.6. Máquinas abstractas___________________________________________________________ 39 Ejercicios Propuestos ____________________________________________________________

____ 41 Referencias ____________________________________________________________

____________ 42

-2-

Definición

1. Intérpretes
1.1. Definición
Un intérprete es un programa que analiza y ejecuta simultáneamente un programa escrito en un lenguaje fuente. En la Figura 1 sepresenta el esquema general de un intérprete visto como una caja negra. Cualquier intérprete tiene dos entradas: un programa P escrito en un lenguaje fuente LF (en lo sucesivo, se denotará P/LF) junto con los datos de entrada; a partir de dichas entradas, mediante un proceso de interpretación va produciendo unos resultados.

P/LF Intérprete de LF Datos

Resultados
Figura 1: Esquema general deun intérprete Los compiladores, a diferencia de los intérpretes, transforman el programa a un programa equivalente en un código objeto (fase de compilación), y en un segundo paso generan los resultados a partir de los datos de entrada (fase de ejecución).

P/LF

Compilador de LF Compilación

Datos

P/OBJ Ejecución Resultados
Figura 2: Esquema general de un compilador

1.2. Estructura deun intérprete
A la hora de construir un intérprete es conveniente utilizar una Representación Interna (RI) del lenguaje fuente a analizar. De esta forma, la organización interna de la mayoría de los intérpretes se descompone en los módulos: Traductor a Representación Interna: Toma como entrada el código del programa P en Lenguaje Fuente, lo analiza y lo transforma a la representación internacorrespondiente a dicho programa P. Representación Interna (P/RI): La representación interna debe ser consistente con el programa original. Entre los tipos de representación interna, los árboles sintácticos son los más utilizados y, si las características del lenguaje lo permiten, pueden utilizarse estructuras de pila para una mayor eficiencia. Tabla de símbolos: Durante el proceso de traducción,es conveniente ir creando una tabla con información relativa a los símbolos que aparecen. La información a almacenar en dicha tabla de símbolos depende de la complejidad del lenguaje fuente. Se pueden almacenar etiquetas para instrucciones de salto, información sobre identificadores (nombre, tipo, línea en la que aparecen, etc.) o cualquier otro tipo de información que se necesite en la etapa de...
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