Sie sind auf Seite 1von 3

FASES DEL COMPILADOR

TABLA DE SIMBOLOS

MANEJADOR DE ERRORES

PREPROCESAMIENTO
El cdigo fuente de una aplicacin se puede dividir en
mdulos almacenados en archivos distintos. Entonces el
preprocesador se encarga de reunir el programa fuente.
FASE DE ANLISIS
En esta etapa se controla que el texto fuente sea
correcto en todos los sentidos y se generen las
estructuras necesarias para la generacin de cdigo.
ANALISIS LEXICO

ANLISIS SINTCTICO
ANLISIS SEMNTICO

Objetivo:

Suele estar compuesto por un conjunto de subrutinas


independientes.
Utiliza el rbol sintctico y la informacin en la tabla
de smbolos para revisar y comprobar la consistencia
semntica del programa fuente con la definicin del
lenguaje, para detectar errores.
En la vida real el anlisis lxico y sintctico y
semntico se entre mezclan.
Analiza los operando y operadores
Recopila la informacin sobre el tipo y la guarda, ya
sea en el rbol sintctico o en la tabla de smbolos.
La parte importante del anlisis semntico es la
comprobacin (verificacin) de tipos, donde el
compilador verifica que cada operador tenga operandos
que coincidan, es decir sean compatibles.
Por ejemplo: Algunas definiciones de lenguaje de
programacin requieren que ndice de un arreglo
sea entero, entonces el compilador debe reportar
si tiene un de otro tipo de dato.
Que debe comprobar?
Cuando se utiliza un identificador, este ha
sido declarado previamente.
Se ha asignado valor a las variables antes de
su uso.
Los ndices para acceder a los array est
dentro del rango valido.
En las expresiones aritmticas, las
operaciones aritmticas los operandos
respetan las reglas sobre los tipos de datos
permitidos por las operaciones.

FASE DE SNTESIS
En esta etapa se tiene ya el programa de entrada
correcto, por lo tanto el compilador ya puede
generar el cdigo maquina equivalentemente al
programa fuente.
GENERACION DE CODIGO INTERMEDIO

Es un representacin intermedia explicara del programa


fuente, el cual se puede considerar como un programa para una
maquina abstracta.
Tiene como propiedad que debe ser fcil de generar y fcil de
traducir el cdigo maquina destino.

Cdigo de 3 direcciones:
Es parecido al lenguaje ensamblador para microprocesador
que carece de registros y solo es capaz de trabajar con
direcciones de memoria. Tiene como mximo 3 operandos.
Cada instruccin de 3 direcciones tiene a lo sumo
un operador del lado derecho, adems de la
asignacin.
El compilador genera nombres temporales para
guardar valores intermedios.
Algunas instrucciones tiene menos de 3 operandos.

OPTIMIZACION DE CODIGO

Trata de mejorar el cdigo intermedio, de manera que produzca


un mejor cdigo destino.
GENERACION DE CODIGO

EJEMPLO

Das könnte Ihnen auch gefallen