1.5 Fases de un compilador
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. Como parte importante de este proceso de
traducción, el compilador informa a su usuario de la presencia de errores en el
programa fuente.
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 puede ser otro lenguaje de programación.
Durante la Compilación de un Programa se realizan las siguientes fases:
Preprocesamiento: Transformaciones al Archivo Fuente, previas a la Compilación.
Análisis Léxico: Reconocimiento de los Elementos del Lenguaje.
Análisis Sintáctico: Reconocimiento de la Estructura del Lenguaje.
Análisis Semántico: Reconocimiento de la coherencia de la Entrada.
Generación de Código Intermedio: Transformación de la Entrada en una representación de código intermedio para una máquina abstracta.
Optimización de Código: Mejoras a la representación intermedia que resulten en un código más rápido de ejecutar.
Generación de Código: Transformación del código intermedio en código objeto.
Depuración: Reconocimiento de Errores.
Administración de la Tabla de Símbolos: Reconocimiento de los nombres de los identificadores utilizados en la Entrada y sus diferentes atributos.
Estas fases no son en estricto rigor secuenciales, sino que los módulos que las implementan interactúan durante el proceso de compilación, complementando sus tareas, unos con otros. Sin embargo, a modo didáctico se plantea un esquema secuencial de fases, lo que permitirá el estudio de cada módulo en forma independiente.


Comentarios
Publicar un comentario