1.3.1. Definición

 

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.(vease Fig. 1.1). 
Figura 1.1

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 que función se supone que realizan. A pesar de esta aparente complejidad, Ias tareas básicas que debe realizar cualquier compilador son esencialmente las mismas. 

En la década de 1950, se consideró a los compiladores como programas notablemente dificiles 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]).

 Fortran
Desde entonces, se han descubierto técnicas sistemáticas para manejar muchas de las importantes tareas que surgen en Ia compilación. También se han desarrollado buenos lenguajes de implantación, entornos de programación y herramientas de software.