ANLISIS
Bsicamente los objetivos de la fase de anlisis son los enunciados: controlar la
correccin del programa fuente y generar estructuras necesarias para comenzar la
sntesis. Para llevar esto a cabo, el anlisis consta de las siguientes tareas:
Anlisis lexicogrfico
En la fase de anlisis lxico se leen los caracteres del programa fuente y se
agrupen cadenas que representan los componentes lxicos. Cada componente
lxico es una secuencia lgicamente coherente de caracteres relativa a un
identificador, u palabra reservada, un operador o un carcter de puntuacin. A la
secuencia de caracteres que representa un componente lxico se le llama
lexema (o con nombre en ingls token). En el caso de los identificadores
creados por el programador no solo se genera un componente lxico, sino que se
genera o lexema en la tabla de smbolos.
Anlisis sintctico
Comprueba que la estructura de los componentes bsicos sea correcta segn
ciertas reglas gramaticales.
Anlisis semntico
Comprueba todo lo relacionado con el significado, chequeo de tipos, rangos,
valores, existencia de variables, etc.
SNTESIS
El objetivo de la fase de sntesis consiste en: construir el programa objeto deseado
a partir de las estructuras generadas por la fase de anlisis. Para ello realiza
tareas fundamentales:
Generacin de cdigo intermedio
Genera un cdigo independiente de la mquina. Las ventajas, es que es fcil
hacer pseudocompiladores y adems facilita la optimizacin de cdigo.
Generacin del cdigo mquina
Crea un fichero ejecutable directamente o un fichero objeto. Aqu tambin se
puede hacer la optimizacin propia del microprocesador.
Fase de optimizacin
La optimizacin puede realizarse durante las fases de generacin de cdigo
intermedio y/o generacin de cdigo mquina y puede ser una fase aislada stas,
o estar integrada con ellas. La optimizacin del cdigo intermedio debe ser
independiente de la mquina.