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.

Es una estructura de datos que se mantendrá en todas las fases de un compilador. Todos los nombres de identificador junto con sus tipos se almacenan aquí.

Tabla de simbolos

Controladores de error

Los errores encontrados en las distintas fases de análisis se envían a un módulo denominado manejo de errores. Se encarga de escribir un mensaje con el error

RAMIREZ LÓPEZ VICTOR ARATH GRUPO: 1155