Componentes de Un Compilador

UNIVERSIDAD DE GUAYAQUIL ESCUELA DE INGENIERIA EN SISTEMAS COMPUTACIONALES COMPILADORES NOMBRE: RONALD ANTONIO CASTAÑEDA

Views 147 Downloads 1 File size 433KB

Report DMCA / Copyright

DOWNLOAD FILE

Recommend stories

Citation preview

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.