Un traductor divide su labor en dos etapas: una que
analiza la entrada y genera estructuras intermedias y otra que sintetiza la
salida a partir de dichas estructuras.
Básicamente los objetivos de la etapa de análisis
son:
a) controlar la corrección del programa fuente, y
b) generar las
estructuras necesarias para comenzar la etapa de síntesis.
Para llevar esto a cabo, la etapa de análisis
consta de las siguientes fases:
Análisis lexicográfico. Divide el programa fuente
en los componentes básicos del lenguaje a compilar. Cada componente básico es
una su secuencia de caracteres del programa fuente, y pertenece a una categoría
gramatical: números, identificadores de usuario (variables, constantes, tipos,
nombres de procedimientos,...), palabras reservadas, signos de puntuación, etc.
Análisis sintáctico. Comprueba que la estructura de
los componentes básicos sea correcta según las reglas gramaticales del lenguaje
que se compila.
Análisis semántico. Comprueba que el programa
fuente respeta las directrices del lenguaje que se compila (todo lo relacionado
con el significado): chequeo de tipos, rangos de valores, existencia de
variables, etc.
Etapa de análisis
En esta etapa se controla que el texto fuente sea
correcto en todos los sentidos, y se generan las estructuras necesarias para la
generación de código.
Fase de análisis lexicográfico
En
esta fase, la cadena de caracteres que constituye el programa fuente se lee de
izquierda a derecha y se agrupa en componentes léxicos, que son secuencias de
caracteres que tienen un significado atómico; además el analizador léxico
trabaja con la tabla de símbolos introduciendo en ésta los nombres de las
variables.
No hay comentarios:
Publicar un comentario