Date post: | 23-Oct-2015 |
Category: |
Documents |
Upload: | oscar-cruz-jimenez |
View: | 10 times |
Download: | 0 times |
INSTITUTO POLITÉCNICO NACIONAL SECRETARÍA ACADÉMICA
DIRECCIÓN DE ESTUDIOS PROFESIONALES EN INGENIERÍA Y CIENCIAS FÍSICO MATEMÁTICAS
PROGRAMA SINTÉTICO
CARRERA: Ingeniería en Computación.
ASIGNATURA: Compiladores SEMESTRE: Quinto
OBJETIVO GENERAL: El alumno diseñará un compilador que funcione completamente y con cada una de sus partes. Explicará las etapas de diseño y su trabajo respectivo en la traducción de un lenguaje de alto nivel hasta uno de bajo nivel. CONTENIDO SINTÉTICO:
I. Introducción. II. Análisis Léxico.
III. Análisis Sintáctico. IV. Análisis Semántico. V. Código Intermedio VI. Generación de Código.
METODOLOGÍA: Preparación y discusión de los temas por parte de los alumnos con guía del profesor. Resolución de problemas bajo la supervisión del profesor. Trabajo en equipo. Uso de material didáctico y presentaciones en Power Point. EVALUACIÓN Y ACREDITACIÓN: La evaluación se hará de manera diagnóstica de seguimiento y sumativa, donde se evaluarán el aprovechamiento de las unidades, mediante tres exámenes departamentales con un valor del 60% de la calificación teórica. El 10% será evaluado de la participación de los alumnos tomando en cuenta los siguientes aspectos: búsqueda bibliográfica en revistas científicas, libros e Internet, etc., participación en clase, tareas extraclase. El 30% restante será evaluado de los reportes y prácticas de laboratorio. BIBLIOGRAFÍA: Kenneth C. and Louden, Construcción de Compiladores Principios y Práctica, Edit. Thomnson, México 2004. p. 446 Hopcroft, John E. And Ullman Jefrey D., Compiladores Edit. Addison-Wesley, U.S.A, Edit. 2002. p. 91-233, p.273-326 Kelley, Dean, Introducción a la Teoría de Autómatas y Lenguajes Formales, Edit. Prentice Hall, España, 1995. p.380
INSTITUTO POLITÉCNICO NACIONAL SECRETARÍA ACADÉMICA
DIRECCIÓN DE ESTUDIOS PROFESIONALES EN INGENIERÍA Y CIENCIAS FÍSICO MATEMÁTICAS
ESCUELA: Escuela Superior de Ingeniería Mecánica y Eléctrica. CARRERA: Ingeniería en Computación. COORDINACIÓN: Academia de Computación. DEPARTAMENTO: Ingeniería en Computación
ASIGNATURA: Compiladores SEMESTRE: Quinto CLAVE: CLA028 CRÉDITOS: 7.5 VIGENTE: Agosto 2005 TIPO DE ASIGNATURA: Teórico-Práctica MODALIDAD: Escolarizada.
TIEMPOS ASIGNADOS
HORAS/SEMANA/TEORÍA: 3.0 HORAS/SEMANA/PRÁCTICA: 1.5 HORAS/SEMESTRE/TEORÍA: 54 HORAS/SEMESTRE/PRÁCTICA: 27 HORAS/TOTALES: 81 PROGRAMA ELABORADO O ACTUALIZADO POR: Academia de Computación de ESIME Culhuacan REVISADO POR: Subdirección Académica de ESIME Culhuacan APROBADO POR: Consejo Técnico Consultivo Escolar de ESIME Culhuacan. Ing. Ernesto Mercado Escutia
AUTORIZADO POR: Comisión de Planes y Programas del Consejo General Consultivo del IPN
INSTITUTO POLITÉCNICO NACIONAL SECRETARÍA ACADÉMICA
DIRECCIÓN DE ESTUDIOS PROFESIONALES EN INGENIERÍA Y CIENCIAS FÍSICO MATEMÁTICAS
ASIGNATURA: Compiladores CLAVE: CLA028 HOJA: 2 DE 10
FUNDAMENTACIÓN DE LA ASIGNATURA
El progreso de las ciencias de la computación ha sido basado en la notación formal matemática y lógica dentro de la cual se han desarrollado los lenguajes formales, estos junto con los Autómatas de estado finito han dado pauta a la creación de compiladores que traducen diferentes lenguajes de programación a un solo tipo de lenguaje, código de maquina, lo cual permite la utilización de computadoras con diferente propósito y de utilización masiva y común. El estudio de los Compiladores permitirá al profesional de la carrera de Ingeniería en Computación comprender el funcionamiento y trabajo desempeñado en el intento por comunicar ideas a trabajo computacional: la computación y los lenguajes de programación evolucionan y se acercan mas a la comunicación directa hombre - máquina. Las Matemáticas discretas y la Teoría de Autómatas son antecedentes de esta asignatura cuyos conceptos y herramientas serán aplicables consecuentemente a la materia de Sistemas Operativos, Arquitectura de Computadoras y Lenguajes de Arquitecturas en Paralelo.
OBJETIVO DE LA ASIGNATURA El alumno diseñará un compilador que funcione completamente y con cada una de sus partes. Explicará las etapas de diseño y su trabajo respectivo en la traducción de un lenguaje de alto nivel hasta uno de bajo nivel.
INSTITUTO POLITÉCNICO NACIONAL SECRETARÍA ACADÉMICA
DIRECCIÓN DE ESTUDIOS PROFESIONALES EN INGENIERÍA Y CIENCIAS FÍSICO MATEMÁTICAS
ASIGNATURA: Compiladores CLAVE: CLA028 HOJA: 3 DE 10
No. UNIDAD I NOMBRE: Introducción
OBJETIVOS PARTICULARES DE LA UNIDAD
El alumno describirá los elementos fundamentales para construir un compilador.
HORAS
No. TEMA
T E M A S
T P EC
CLAVE BIBLIOGRÁFICA
1.1 1.2 1.3 1.4 1.5 1.6 1.7 1.8 1.8.1
Historia Programas relacionados con los compiladores Proceso de traducción Estructuras de datos principales en un compilador Otras cuestiones referentes a la estructura del compilador Arranque automático y portabilidad Lenguaje y compilador de muestra TINY Un lenguaje para un proyecto de compilador Ejercicios
Subtotal
1.5
1.5
1.5 1.5
6.0
1.5
1.5
3.0
6.0
6.0
1B, 4B, 2C,3C
ESTRATEGIA DIDÁCTICA
Preparación de los temas por parte del alumno antes de la clase bajo la guía del profesor. Desarrollo de trabajos extra clase y prácticas de laboratorio. Desarrollo de las definiciones formales y ejemplos de cada tema por parte del profesor.
PROCEDIMIENTO DE EVALUACIÓN La evaluación se hará de manera diagnóstica, formativa, de seguimiento y sumativa, considerando los siguientes aspectos para las unidades I y II:
- Participación de las actividades en clase. - Tareas extraclase. 10% - Examen Departamental 60%
- Prácticas de laboratorio 30%
INSTITUTO POLITÉCNICO NACIONAL SECRETARÍA ACADÉMICA
DIRECCIÓN DE ESTUDIOS PROFESIONALES EN INGENIERÍA Y CIENCIAS FÍSICO MATEMÁTICAS
ASIGNATURA: Compiladores CLAVE: CLA028 HOJA: 4 DE 10
No. UNIDAD II NOMBRE: Análisis Léxico
OBJETIVOS PARTICULARES DE LA UNIDAD
El alumno construirá un analizador léxico para un Compilador basado en un autómata finito. Demostrará la primera parte de análisis del compilador.
HORAS
No. TEMA
T E M A S
T P EC
CLAVE BIBLIOGRÁFICA
2.1 2.2 2.3 2.4 2.5 2.6 2.6.1
El proceso de análisis léxico Expresiones regulares Autómatas finitos Desde las expresiones regulares hasta los DFA Implementación de un analizador léxico TINY (“Diminuto”) Uso de Lex para generar automáticamente un analizador léxico Ejercicios
Subtotal
1.5 1.5 1.5 1.5 1.5
3.0
1.5
12.0
1.5
1.5
1.5
4.5
6.0
6.0
1B, 4B,2C,3C,5C
ESTRATEGIA DIDÁCTICA Investigación de conceptos por parte del alumno. Desarrollar en clase las definiciones formales y ejemplos de cada tema por parte del profesor. Formación de grupos para la solución de ejercicios coordinados por el profesor. Realización de tareas y trabajos extra clase. Realización de prácticas de laboratorio.
PROCEDIMIENTO DE EVALUACIÓN La evaluación se hará de manera diagnóstica, formativa, de seguimiento y sumativa, considerando los siguientes aspectos para las unidades I y II:
- Participación de las actividades en clase. - Tareas extraclase 10% - Examen Departamental 60% - Prácticas de laboratorio. 30%
INSTITUTO POLITÉCNICO NACIONAL SECRETARÍA ACADÉMICA
DIRECCIÓN DE ESTUDIOS PROFESIONALES EN INGENIERÍA Y CIENCIAS FÍSICO MATEMÁTICAS
ASIGNATURA: Compiladores CLAVE: CLA028 HOJA: 5 DE 10
No. UNIDAD III NOMBRE: Análisis Sintáctico
OBJETIVOS PARTICULARES DE LA UNIDAD El alumno diseñará el modulo de Análisis Sintáctico de un Compilador.
HORAS
No. TEMA
T E M A S
T P EC
CLAVE BIBLIOGRÁFICA
3.1 3.1.1 3.1.2 3.1.3 3.2 3.3 3.4 3.4.1 3.4.2 3.4.3 3.5 3.5.1 3.5.2 3.5.3 3.5.4
Proceso del análisis sintáctico Gramáticas libres de contexto Árboles de análisis gramáticas y árboles sintácticos abstractos Ambigüedad Notaciones extendidas: EBNF y diagramas de sintaxisSintaxis del lenguaje TINY Análisis sintáctico descendente mediante método descendente recursivo Análisis sintáctico LL(1) Un analizador sintáctico descendente recursivo para el lenguaje TINY Recuperación de errores en analizadores sintácticos descendentes Perspectiva general del análisis sintáctico ascendenteAutómatas finitos de elementos LR(0)y análisis sintáctico LR(0) Análisis sintáctico SLR(1) Yacc: un generador de analizadores sintácticos LALR(1) Recuperación de errores en analizadores sintácticos ascendentes
Subtotal
3.0
1.5 1.5 3.0
3.0
12.0
1.5
1.5
1.5
4.5
12.0 12.0
1B, 4B,2C,3C,5C
ESTRATEGIA DIDÁCTICA Preparación por parte de los alumnos, de los temas antes de la clase bajo la guía del profesor. Desarrollo en clase las definiciones formales y ejemplos de cada tema por parte del profesor. Desarrollo de trabajos extra clase con la finalidad de dominar cada tema. Realización de prácticas de laboratorio PROCEDIMIENTO DE EVALUACIÓN La evaluación se hará de manera diagnóstica, formativa, de seguimiento y sumativa, considerando los siguientes aspectos para la unidad III:
- Participación de las actividades en clase. - Tareas extraclase 10% - Examen departamental 60% - Prácticas de laboratorio 30%
INSTITUTO POLITÉCNICO NACIONAL SECRETARÍA ACADÉMICA
DIRECCIÓN DE ESTUDIOS PROFESIONALES EN INGENIERÍA Y CIENCIAS FÍSICO MATEMÁTICAS
ASIGNATURA: Compiladores CLAVE: CLA028 HOJA: 6 DE 10
No. UNIDAD IV NOMBRE: Análisis Semántico
OBJETIVOS PARTICULARES DE LA UNIDAD El alumno diseñará el modulo de Análisis Semantico de un Compilador.
HORAS
No. TEMA
T E M A S
T P EC
CLAVE BIBLIOGRÁFICA
4.1 4.1.1 4.2 4.3 4.4 4.4.1
Atributos y gramáticas con atributos Algoritmos para cálculo de atributos La tabla de símbolos Tipos de datos y verificación de tipos Un analizador semántico para el lenguaje TINY Ejercicios
Subtotal
3.0
3.0 3.0 3.0
12.0
1.5
1.5 1.5 1.5
4.5
6.0
6.0
1B, 4B, 2C,3C
ESTRATEGIA DIDÁCTICA Preparación por parte de los alumnos de los temas antes de la clase bajo la guía del profesor. Desarrollo en clase las definiciones formales y ejemplos de cada tema por parte del profesor. Desarrollo de trabajos extra clase con la finalidad de dominar cada tema. Realización de prácticas de laboratorio PROCEDIMIENTO DE EVALUACIÓN La evaluación se hará de manera diagnóstica, formativa, de seguimiento y sumativa, considerando los siguientes aspectos:
- Participación de las actividades en clase. - Tareas extraclase 10% - Examen Departamental 60% - Prácticas de laboratorio. 30%
INSTITUTO POLITÉCNICO NACIONAL SECRETARÍA ACADÉMICA
DIRECCIÓN DE ESTUDIOS PROFESIONALES EN INGENIERÍA Y CIENCIAS FÍSICO MATEMÁTICAS
ASIGNATURA: Compiladores CLAVE: CLA028 HOJA: 7 DE 10
No. UNIDAD V NOMBRE: Código Intermedio
OBJETIVOS PARTICULARES DE LA UNIDAD
El alumno diseñará las reglas y el Código Intermedio resultante de la etapa de análisis del Compilador.
HORAS
No.
TEMA
T E M A S
T P EC
CLAVE BIBLIOGRÁFICA
5.1 5.2 5.3 5.3.1
Código intermedio y estructuras de datos para generación de código Técnicas básicas de generación de código Técnicas de optimación de código Ejercicios
Subtotal
1.5
1.5 3.0
6.0
1.5
1.5 1.5
4.5
6.0
6.0
1B, 4B, 2C,3C
ESTRATEGIA DIDÁCTICA Preparación de los temas por parte de los alumnos antes de la clase bajo la guía del profesor. Desarrollo en clase las definiciones formales y ejemplos de cada tema por parte del profesor. Desarrollo de trabajos extra clase con la finalidad de dominar cada tema. Uso de recursos audiovisuales. Realización de prácticas de laboratorio PROCEDIMIENTO DE EVALUACIÓN La evaluación se hará de manera diagnóstica, formativa, de seguimiento y sumativa, considerando los siguientes aspectos para las unidades IV, V y VI:
- Participación de las actividades en clase. - Tareas extraclase 10% - Examen departamental 60% - Prácticas de laboratorio 30%
INSTITUTO POLITÉCNICO NACIONAL SECRETARÍA ACADÉMICA
DIRECCIÓN DE ESTUDIOS PROFESIONALES EN INGENIERÍA Y CIENCIAS FÍSICO MATEMÁTICAS
ASIGNATURA: Compiladores CLAVE: CLA028 HOJA: 8 DE 10
No. UNIDAD VI NOMBRE: Generación de Código
OBJETIVOS PARTICULARES DE LA UNIDAD
El alumno diseñará una Máquina de Turing para funciones recursivas primitivas, explicará el problema del paro de una Máquina de Turing y los conceptos de Decidibilidad y Computabilidad.
HORAS
No.
TEMA
T E M A S
T P EC
CLAVE BIBLIOGRÁFICA
6.1 6.2 6.3 6.4 6.5
Generación de código de referencias de estructuras de datos Generación de código de sentencias de control y expresiones lógicas Generación de código de llamadas de procedimientos y funciones Generación de código en compiladores comerciales: dos casos de estudio TM: Una máquina objetivo simple
Subtotal
1.5
1.5
1.5
1.5
20.0
1.5
1.5
1.5
1.5
6.0
8.0
8.0
1B, 4B,2C,3C
ESTRATEGIA DIDÁCTICA Preparación de los temas por parte del alumno antes de la clase bajo la guía del profesor. Desarrollo en clase las definiciones formales y ejemplos de cada tema por parte del profesor. Formación de grupos para la discusión de resultados. Desarrollo de trabajos extra clase con la finalidad de dominar cada tema. Realización de prácticas de laboratorio PROCEDIMIENTO DE EVALUACIÓN La evaluación se hará de manera diagnóstica, formativa, de seguimiento y sumativa, considerando los siguientes aspectos para las unidades IV, V y VI:
- Participación de las actividades en clase. - Tareas extraclase 10% - Examen departamental 60% - Prácticas de laboratorio 30%
INSTITUTO POLITÉCNICO NACIONAL SECRETARÍA ACADÉMICA
DIRECCIÓN DE ESTUDIOS PROFESIONALES EN INGENIERÍA Y CIENCIAS FÍSICO MATEMÁTICAS
ASIGNATURA: Compiladores CLAVE: CLA028 HOJA: 9 DE 10
RELACIÓN DE PRÁCTICAS
PRACT.
No.
NOMBRE DE LA PRÁCTICA
UNIDAD
DURACIÓN
LUGAR DE REALIZACIÓN
1 2 3 4 5 6
Introducción al diseño de
compiladores
Autómatas
Gramáticas
Parsers
Traductores
Compiladores e interpretes
I II
III
IV
V
VI
Total
3
4.5
4.5
4.5
4.5
6.0
27.0
Todas las prácticas se llevaran a cabo en el
Laboratorio de Computación.
INSTITUTO POLITÉCNICO NACIONAL SECRETARÍA ACADÉMICA
DIRECCIÓN DE ESTUDIOS PROFESIONALES EN INGENIERÍA Y CIENCIAS FÍSICO MATEMÁTICAS
ASIGNATURA: Compiladores CLAVE: CLA028 HOJA: 10 DE 10
PERÍODO
UNIDAD
PROCEDIMIENTO DE EVALUACIÓN
1 2 3
I , II
III
IV , V
10% - Programas y ejercicios desarrollados en clase y extra clase. 60% - Examen del periodo. 30% - Prácticas de laboratorio
10% - Programas y ejercicios desarrollados en clase y extra clase. 60% - Examen del periodo. 30% - Prácticas de laboratorio 10% - Programas y ejercicios desarrollados en clase y extra clase. 60% - Examen del periodo. 30% - Prácticas de laboratorio
CLAVE B C BIBLIOGRAFÍA
1 2 3 4 5 6 7
X
X
X
X
X
X
X
Kenneth C. and Louden, Construcción de Compiladores Principios y Practica, Edit. Thomnson, México 2003. p. 446 Alfred V. Aho Compiladores Principios, Técnicas y Herramientas Edit. Addison-Wesley, U.S.A, Edic May 2000. p. 500 F. Sanchis Llorca Compiladores, Teoría y Construcción November 1991. p. 32-77 Kelley, Dean, Introducción a la Teoría de Autómatas y Lenguajes Formales, Edit. Prentice Hall, España, Edic. 1995. p. 380 Kimber, Efim., Theory of Computing, Edit.Prentice Hall, Inglaterra, Edic.2001. p. 1-88 Flynn, Ida M., McHoes, Ann M. Sistemas Operativos International Thomson Editores, Tercera Edición, 2003. p. 235-271 Hopcroft,John E. and Ullman Jefrey D. Introducción a la Teoría de Autómatas, Lenguajes y Computación Edit. Addison-Wesley, U.S.A, Edic. 2002. p. 91-233, p. 273-326
INSTITUTO POLITÉCNICO NACIONAL SECRETARÍA ACADÉMICA
DIRECCIÓN DE ESTUDIOS PROFESIONALES EN INGENIERÍA Y CIENCIAS FÍSICO MATEMÁTICAS
PERFIL DOCENTE POR ASIGNATURA
1. DATOS GENERALES
ESCUELA: Escuela Superior de Ingeniería Mecánica y Eléctrica
CARRERA: Ingeniería en Computación, SEMESTRE Quinto
ÁREA: BÁSICAS C. INGENIERÍA D. INGENIERÍA C. SOC. y HUM.
ACADEMIA: Computación ASIGNATURA: Compiladores
ESPECIALIDAD Y NIVEL ACADÉMICO REQUERIDO: Ingeniería o Maestría
2. OBJETIVOS DE LA ASIGNATURA: El alumno diseñará un compilador que funcione completamente y con cada una de sus partes. Explicará las etapas de diseño y su trabajo respectivo en la traducción de un lenguaje de alto nivel hasta uno de bajo nivel.
3. PERFIL DOCENTE:
CONOCIMIENTOS EXPERIENCIA PROFESIONAL
HABILIDADES ACTITUDES
Experiencia en programación de alto y bajo nivel, conocimientos teóricos de teoría de Autómatas, Análisis de Algoritmos y Estructuras de Datos.
Haber Impartido clase en Nivel Superior. Formación pedagógica. Programación en algún lenguaje de computación.
Dominio de la asignatura. Manejo de grupos. Comunicación (Transmisión del conocimiento). Capacidades de análisis y síntesis. Motivación al alumno. Manejo de materiales didácticos.
Tener vocación por la docencia.
Honestidad. Ejercicio de la crítica fundamentada. Respeto (buena relación maestro-alumno). Tolerancia. Ética. Espíritu de colaboración. Superación docente y profesional.
ELABORÓ REVISÓ AUTORIZÓ
__________________________ __________________________ ________________________ Ing. Jorge Fernando Veloz Ortiz M. en C. Alberto Paz Gutiérrez Ing. Ernesto Mercado Escutia Presidente de la Academia Subdirector Académico Director de Computación
FECHA: Agosto 2005