Sei sulla pagina 1di 1

UNIVERSIDAD DE GUAYAQUIL

ESCUELA DE INGENIERIA EN SISTEMAS COMPUTACIONALES


COMPILADORES

NOMBRE: RONALD ANTONIO CASTAÑEDA AUQUILLA


FECHA: 14/05/2019
CURSO: ISIS-NO-7-5

Fases y Componentes de Un Compilador

Por razones de estudio, se ha logrado dividir al compilador en 7 fases y un componente, los cuales
son:

Análisis Léxico. - Conocido como scanner. Su función es leer, uno a uno, los caracteres del programa
fuente y agruparlos a los que tienen relación entre sí. A estos grupos de caracteres se les denomina
tokens. Estos a su vez poseen un tipo y en algunos casos un valor y se los pueden agrupar en 2
categorías: Cadenas específicas y no específicas. Las cadenas específicas son todos los operadores
aritméticos y lógicos, signos de puntuación y palabras reservadas como if, for,while, etc. los cuales
no poseen valor, pero sí un tipo. Las cadenas no específicas son todas las constantes numéricas o
de texto y los identificadores, los cuales siempre poseen un tipo y un valor. Por lo tanto, el análisis
léxico tiene como entrada los caracteres del programa fuente y como salida los tokens. Para su
diseño se emplea Autómatas Finitos.

Análisis Sintáctico. - Conocido como parser. Su función es comprobar si los tokens generados por el
analizador léxico están en orden o correctamente escritos. Tiene como entrada tokens y como salida
un árbol sintáctico. Para su diseño se emplea Autómatas de Pila.

Análisis Semántico. - Su función es determinar la validez del significado de las instrucciones del
programa. Como entrada tiene las instrucciones del programa y como salida un árbol semántico.
Para su diseño se emplean las gramáticas atribuidas.

Control de Errores. - Informa adecuadamente al programador de los errores que existe en su


programa. Se lleva a cabo en las fases de análisis sintáctico y semántico.

Generación de Código Intermedio. - Se crea un código intermedio con la intención de crear menos
compiladores que transformen los lenguajes fuente en lenguajes objeto, ya que las empresas
creadoras de compiladores trabajan con muchos lenguajes fuente y objeto.

Optimización del Código. - Se realiza con la función de que el programa objeto sea más rápido y
necesite menos memoria par ejecutarse. Por ejemplo: Elimina expresiones comunes, optimiza los
bucles, etc.

Generación de Código objeto. - El código intermedio optimizado es traducido a una secuencia de


instrucciones en código máquina.

Tabla de Símbolos. – Complemento donde se almacena la información de los elementos que va


encontrando el compilador en el programa fuente. Esta tabla debe ser diseñada para contener toda
la información que el compilador necesita.

Potrebbero piacerti anche