Analisis Lexico
Un programa fuente es una serie de símbolos. Con estos símbolos se representan las construcciones del lenguaje ( variables, etiquetas, palabras reservadas, constantes,operadores...). El traductor debe identificar los significados de estas construcciones
Análisis sintáctico:
Llamado también parser, realiza su análisis en el nivel de la sentencia, es mucho más complejo queel análisis léxico. Su función es tomar los tokens que ha encontrado el analizador léxico y determinar la estructura sintáctica de las sentencias, agrupando los tokens en clases sintácticas ( los noterminales de la gramática), tales como expresiones.
Análisis semántico:
El analizador semántico detecta la validez semántica (reglas de significado) de las sentencias aceptadas por el sintáctico.Típico de esta fase es la comprobación de tipos de datos.
Generación de código intermedio:
El código intermedio no es un lenguaje de programación de ninguna máquina real, sino que corresponde a unamáquina abstracta, que se debe definir lo más general posible, de manera que sea posible traducir este código intermedio a cualquier máquina real.
El objetivo del código intermedio es reducir elnúmero de programas necesarios para construir traductores y permitir más fácilmente la transportabilidad de los traductores desde unas máquinas a otras.
Optimización de código Intermedio:
Esindependiente de la máquina. Algunas optimizaciones pueden consistir en evaluación de expresiones constantes, el uso de las propiedades asociativa, conmutativa de algunos operadores, reducción de expresionescomunes, etc.
Generación de código :
Una vez que se ha obtenido el código intermedio se pasará a ensamblador o a código máquina de una máquina real en el caso de un compilador o a otro lenguaje enel caso de un traductor.
Optimización de código:
En este caso ya depende de la máquina, de su arquitectura, de la asignación óptima de registros, el uso de operaciones de registros en vez de...
Regístrate para leer el documento completo.