SOFTWARE DE GENERACIÓN Y SIMULACIÓN DE TABLAS DE ANÁLISIS SINTÁCTICO (BURGRAM)
Portada > El proceso de compilación > Fases de compilación

Fases de compilación

A finales de la década de los 50 [DISPGARR 2005], en el año 1958 se ofrece una solución al problema de que un compilador fuera utilizable por varias máquinas, esta consistía en dividir el compilador en dos etapas, una inicial (de análisis) y otra final (de síntesis), que se denominan”front end” y ”back end”. En la etapa inicial se analiza el programa fuente y en la etapa final se produce la generación de código para la máquina objeto.

Fases del front-end:

Análisis lexicográfico. Su trabajo consiste en descomponer el programa fuente en sus elementos o símbolos constituyentes (denominados tókenes), tales como palabras reservadas, operadores, identificadores, números, separadores, ...

Análisis sintáctico. Examina la estructura del programa y comprueba que está escrito conforme a la sintaxis del lenguaje de programación. La sintaxis establece como deben escribirse los programas.

Análisis semántico. Verifica si el significado de las construcciones sintácticas es correcto conforme a la semántica del lenguaje de programación y recoge información útil para las fases posteriores.

Fases del back-end:

Generador de código intermedio. Se genera una representación explícita del programa fuente. Esta representación intermedia debe tener dos propiedades importantes: ser fácil de producir y fácil de traducir al lenguaje objeto.

Optimizador de código. En esta fase se analizará el código intermedio con el objetivo de mejorarlo.

Generador de código. Se encarga de generar el código objeto definitivo, que podrá ser directamente ejecutable, o necesitar de otros pasos previos a la ejecución, tales como ensamblado, encadenado y carga.