Está en la página 1de 16

Compiladores

Programa Sinttico
Mtra. Luz Mara Snchez Garca

Objetivo General
Desarrollo un intrprete con base en herramientas generadoras de analizadores lxicos y sintcticos y programacin orientada a objetos.

Competencias
Disear e implementar por medio de la POO analizadores lxicos, analizadores sintcticos por descenso recursivo, analizadores sintcticos ascendentes y algoritmos para la generacin de cdigo intermedio. Diseo e implementacin de algoritmos. Disear gramticas para un propsito especfico. Aplicar el concepto de atributos heredados y sintetizados para la construccin de sistemas que requieran la aplicacin de analizadores sintcticos: Evaluadores de expresiones, graficadores, derivadores simblicos, procesadores de consultas, etc. Comparar alternativas de implementacin de algoritmos de anlisis lxico, sintctico y semntico. Desarrollar el pensamiento estratgico, el pensamiento creativo, el trabajo colaborativo y participativo y la comunicacin asertiva.

Relacin con otras unidades de aprendizaje

Contenidos
I. Arquitectura de los Compiladores e Interpretes II. Construccin de Analizadores Lxicos III. Construccin de Analizadores Sintcticos IV. Anlisis semntico y Generacin de cdigo intermedio V. Optimizacin de cdigo

Unidad Temtica I
Arquitectura de los Compiladores e intrprets
1.1 Definicin de compiladores e intrpretes 1.2 Arquitectura de los compiladores e intrpretes Indagacin documental 1.3 Mquinas virtuales 1.4 Funcionalidad de las fases de un compilador Ficha de trabajo Mapas conceptuales 1.4.1 Anlisis lxico Resolucin de problemas Ejercicios correctamente 1.4.2 Anlisis Sintctico resueltos. 1.4.3 Anlisis Semntico 1.4.4 Generacin de cdigo intermedio 1.4.5 Optimizacin de cdigo 1.4.6 Generacin de cdigo objeto

Unidad Temtica II
Construccin de analizadores lxicos
2.1 Definicin de clases lxicas por medio de expresiones regulares. 2.2 Creacin de AFN (Autmatas finitos no deterministas) por medio de la construccin de Thompson 2.3 Conversin de AFN a AFD (Autmatas finitos deterministas) 2.4 Creacin de un AFD a partir una expresin regular 2.5 Minimizacin de estados de un AFD 2.6 Construccin de analizadores lxicos definidos por medio de expresiones regulares 2.7 Generadores de analizadores lxicos (FLEX, JFLEX, JACCIE, GPLEX, etc.)
Investigacin de conceptos Fichas de trabajo Ejercicios en clase Programas de cmputo Reportes (documentacin de programas) Examen terico Propuesta de proyecto

1. Diseo e implementacin de las clases AFN, AFD. 2. Diseo y desarrollo de un sistema para obtener el AFN asociado a una Expresin Regular por construccin de Thompson 3. Implementacin del algoritmo para convertir un AFN a AFD 4. Desarrollo de un analizador lxico especificado por medio de expresiones regulares.

Unidad Temtica III


Construccin de Analizadores Sintcticos
3.1 Analizadores sintcticos 3.1.1 Gramticas ambiguas 3.1.2 Eliminacin de recursin izquierda en las gramticas 3.1.3 rboles de sintaxis 3.1.4 Definicin de lenguajes libres del contexto 3.2 Analizadores Sintcticos Descendentes 3.2.1 Construccin de analizadores sintcticos por descenso recursivo 3.2.2 Construccin de analizadores sintcticos LL(1) 3.3 Analizadores Sintcticos Ascendentes 3.3.1 Analizadores LR(0) 3.3.2 Analizadores LR(1) 3.3.3 Analizadores LALR 3.4 Generadores de analizadores sintcticos (YACC, JACC, JACCIE, GPPG)
Investigacin de conceptos Ejercicios en clase Cuadro de comparaciones Problemas resueltos Programas de cmputo Reportes (documentacin de programas) Exposicin de temas Examen terico Anlisis y diseo del proyecto

5. Desarrollo de un analizador sintctico por descenso recursivo. 6. Diseo e implementacin de la clase para obtener la tabla LL(1) de una gramtica libre del contexto sin recursin izquierda. 7. Diseo e implementacin de la clase para obtener las tablas LR(0), LR(1), LALR.

Unidad Temtica IV
Anlisis semntico y generacin de cdigo intermedio
4.1 Atributos 4.1.1 Atributos heredados 4.1.2 Atributos sintetizados 4.2 Diseo de tabla de smbolos para soportar llamadas a funciones y/o procedimientos y mbito de variables. 4.3 Generacin de cdigo de 3 y 4 direcciones 4.4 Generacin de cdigo intermedio para estructuras iterativas y de control (for, while, if-else, switch) 4.5 Generacin de cdigo intermedio para el llamado a funciones y procedimientos 4.6 Manejo del Polimorfismo en un compilador
Investigacin de conceptos Fichas de trabajo Programas de cmputo Reportes (documentacin de programas) Exposicin de temas Examen terico Desarrollo del proyecto final

8. Generacin de un analizador sintctico ascendente para la gramtica de un lenguaje de programacin que soporte: Declaracin de variables, estructuras de control, estructuras iterativas, expresiones relacionales y aritmticas, llamadas a funciones y procedimientos (Sugerencia HOC). 9. Generacin de cdigo intermedio para la gramtica del problema anterior.

Unidad Temtica V
Optimizacin de cdigo
5.1 Introduccin a la optimizacin de cdigo 5.2 Anlisis de flujo de datos 5.3 Propagacin de constantes 5.4 Eliminacin de redundancia parcial 5.5 Ciclos en grafos de flujos 5.6 Anlisis basado en regiones
Programas de cmputo Reportes (documentacin de programas) Exposicin de temas Examen terico Implementacin del proyecto final

10. Diseo e implementacin de

algoritmos para optimizacin de cdigo aplicados al cdigo generado en la prctica 9


11. Entrega del proyecto final

Evaluacin de los aprendizajes


1er periodo
Unidad I y II

2do periodo
Unidad III Avance de proyecto

3er periodo
Unidad IV y V Proyecto final

Bibliografa (1)
Compiladores Principios, Tcnicas y Herramientas Segunda edicin Alfred V. Aho Monica S. Lam Ravi Sethi Jeffrey D. Ullman Editorial Pearson 2008

Bibliografa (2)
Diseo de compiladores modernos Dick Grune, Henri E. Bol, J.H. Jacobs, Koen G. Langendaen Editorial Mc Graw Hill 2007

Bibliografa (3)
Compiladores Teora e Implementacin Jacinto Ruiz Cataln Editorial Alfaomega 2010

Bibliografa (4)
Compiladores e Intrpretes Teora y prctica Manuel Alfonseca Moreno, Marina de la Cruz Echeanda, Alfonso Ortega de la Puente, Estrella Pulido Caabate Editorial Pearson 2006

Bibliografa (5)
Construccin de Compiladores Principios y prctica Kenneth C. Louden Editorial Thomson 2004

También podría gustarte