Estructura de un Compilador

Ejemplos de compilación

Procesamientos

el código fuente de una aplicación se puede dividir en módulos almacenados en archivos distintos

Etapa de análisis

Fase de análisis lexicográfico

se lee de izquierda a derecha y se agrupa en componentes léxicos

Fase de análisis sintáctico

Subtopic

Trabaja con una gramática de contexto libre y genera el árbol sintáctico que reconoce su sentencia de entrada

Fase de análisis semántico

revisa el árbol sintáctico junto con los atributos y la tabla de símbolos para tratar de encontrar errores semánticos

Etapa de síntesis

Fase de Generación de código intermedio

suele generar una representación intermedia explícita del programa fuente

Fase de optimización de código

fase trata de mejorar el código intermedio, de modo que en la siguiente fase resulte un código de máquina más rápido de ejecutar

Fase de generación de código maquina

es la generación de código objeto, que por lo general consiste en código máquina reubicable o código ensamblador

Tabla de simbolos

es una estructura de datos que posee información sobre los identificadores definidos por el usuario

Construcción sistemática del compilador

Front End

partes de fases, que dependen exclusivamente del lenguaje fuente y que son independientes de la máquina para la cual se va a generar el código

Back end

fases del compilador que dependen de la máquina destino y que, en general, no dependen del lenguaje fuente sino sólo del lenguaje intermedio.