Capas de un compilador
¿Qué es un compilador?
Es programa especial que traduce de código fuente de un programa a lenguaje de máquina.
¿Cuáles son sus capas?
Código fuente
conjunto de líneas de texto con los pasos que debe seguir la computadora para ejecutar dicho programa
Analizador léxico
lee la secuencia de caracteres de izquierda a derecha del programa fuente y agrupa las secuencias de caracteres en léxicos o tokens
Análisis Sintáctico
Determina si la secuencia de componentes léxicos sigue la sintaxis del lenguaje y obtiene la estructura jerárquica del programa en forma de árbol.
Análisis Semántico
Realiza las comprobaciones necesarias sobre el árbol sintáctico para determinar el correcto significado del programa.
Generación de código intermedio
Genera un código mejorado, ya no estructurado, más fácil de traducir directamente a código ensamblador o máquina, compuesto de un código de tres direcciones
Optimización de código
La optimización puede ser asumida como algo que elimina código innecesario, y organiza la secuencia de declaraciones con el fin de acelerar la ejecución del programa sin desperdicio de recursos (CPU, memoria).
Generación de código
Se traduce el código intermedio en una secuencia de (generalmente) reubicables código máquina.
Programa objeto
Es aquel programa que se encuentra en lenguaje máquina y que ya es ejecutable por esta.