Compiladores

Páginas: 536 (133824 palabras) Publicado: 27 de marzo de 2012
CAPITULO 1
Introducción a la compilación
Los principios y técnicas de escritura de compiladores son tan amplios que las ideas encontradas en este libro se usarán muchas veces en la carrera de un científico de la computación. La escritura de compiladores comprende los lenguajes de programación, la arquitectura de computadores, la teoría de lenguajes, los algoritmos y la ingeniería de software.Por fortuna, con algunas técnicas básicas de escritura de compiladores se pueden construir traductores para una gran variedad de lenguajes y máquinas. En este capítulo, se introduce el tema de la compilación describiendo los componentes de un compilador, el entorno en el que trabajan los compiladores y algunas herramientas de software que facilitan la construcción de compiladores.

1.1COMPILADORES
A grandes rasgos, un compilador es un programa que lee un programa escrito en un lenguaje, el lenguaje fuente, y lo traduce a un programa equivalente en otro lenguaje, el lenguaje objeto (véase Pig. 1.1). Como parte importante de este proceso de traducción, el compilador informa a su usuario de la presencia de errores en el programa fuente.

programa
fuente
programa
objeto
mensajes deerror

Fig. 1.1. Un compilador.
A primera vista, la diversidad de compiladores puede parecer abrumadora. Hay miles de lenguajes fuente, desde los lenguajes de programación tradicionales, como FORTRAN o Pascal, hasta los lenguajes especializados que han surgido virtualmente en todas las áreas de aplicación de la informática. Los lenguajes objeto son igualmente variados; un lenguaje objeto puedeser otro lenguaje de programación o

el lenguaje de máquina de cualquier computador entre un microprocesador y un su- percomputador. Los compiladores a menudo se clasifican como de una pasada, de múltiples pasadas, de carga y ejecución, de depuración o de optimación, dependiendo de cómo hayan sido construidos o de qué función se supone que realizan. A pesar de esta aparente complejidad, las tareasbásicas que debe realizar cualquier compilador son esencialmente las mismas. Al comprender tales tareas, se pueden construir compiladores para una gran diversidad de lenguajes fuente y máquinas objeto utilizando las mismas técnicas básicas.
Nuestro conocimiento sobre cómo organizar y escribir compiladores ha aumentado mucho desde que comenzaron a aparecer los primeros compiladores a principiosde los años cincuenta. Es difícil dar una fecha exacta de la aparición del primer compilador, porque en un principio gran parte del trabajo de experimentación y aplicación se realizó de manera independiente por varios grupos. Gran parte de los primeros trabajos de compilación estaba relacionada con la traducción de fórmulas aritméticas a código de máquina.
En la década de 1950, se consideró a loscompiladores como programas notablemente difíciles de escribir. El primer compilador de FORTRAN, por ejemplo, necesitó para su implantación 18 años de trabajo en grupo (Backus y otros [1975]). Desde entonces, se han descubierto técnicas sistemáticas para manejar muchas de las importantes tareas que surgen en la compilación. También se han desarrollado buenos lenguajes de implantación, entornos deprogramación y herramientas de software. Con estos avances, puede hacerse un compilador real incluso como proyecto de estudio en un curso de un semestre sobre diseño de compiladores.
Modelo de análisis y síntesis de la compilación
En la compilación hay dos partes: análisis y síntesis. La parte del análisis divide al programa fuente en sus elementos componentes y crea una representaciónintermedia del programa fuente. La parte de la síntesis construye el programa objeto deseado a partir de la representación intermedia. De las dos partes, la síntesis es la que requiere las técnicas más especializadas. En la sección 1.2 se examinará el análisis de manera informal y en la sección 1.3 se esbozará la forma de sintetizar el código objeto en un compilador estándar.
Durante el análisis, se...
Leer documento completo

Regístrate para leer el documento completo.

Estos documentos también te pueden resultar útiles

  • Compiladores
  • Compilador
  • COMPILADORES
  • Compiladores
  • Compiladores
  • Compiladores
  • compiladores
  • Compiladores

Conviértase en miembro formal de Buenas Tareas

INSCRÍBETE - ES GRATIS