I N ST I T U T O P OL I T É CN I CO N A CI ON A L 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 Sistemas Computacionales ASIGNATURA: Compiladores SEMESTRE: Sexto OBJETIVO GENERAL: El alumno analizará las posibilidades que ofrezca un compilador para utilizarlo en toda su potencialidad. Asimismo; construirá y evaluará un compilador; en el que empleará herramientas como: LEX y YACC. CONTENIDO SINTÉTICO: Unidad I.Unidad II.Unidad III.Unidad IV.Unidad V.Unidad VI.Unidad VII.Unidad VIII.Unidad IX.- Definiciones básicas. Compiladores e intérpretes. Análisis léxico. Análisis sintáctico. YACC. Traducción dirigida por la sintaxis. Análisis semántico. Manejo de errores. Generación de código intermedio. METODOLOGÍA: Se utilizará la metodología de trabajo en equipo, la cual requiere la participación activa y constante de los asistentes en la búsqueda, lectura y análisis de la información que posibilite la integración de los aspectos teóricos, análisis y solución de problemas. EVALUACIÓN Y ACREDITACIÓN: 80% de asistencia para derecho a evaluación Exámenes departamentales Entrega de prácticas individuales Avances de proyecto Participación en actividades individuales y de equipo Entrega de proyecto final BIBLIOGRAFÍA: Aho, Sthi & Ullman, Ed. Addison Wesley. "Compiladores: Principios, Técnicas y Herramientas". Addison Wesley, México, 1990. 1ª Ed., 820 pgs. Tremblay, Jean Paul & Sorense, Paul. "The Theory and Practice of Compiler Writing". Mcgraw-Hill, México, 1985. 1ª Ed., 796 pgs. Holub, Allen. "Compiler Design Inc.". Prentice Hall, México, 1996. 3ª Ed., 420 pgs. I N ST I T U T O P OL I T É CN I CO N A CI ON A L SECRETARÍA ACADÉMICA DIRECCIÓN DE ESTUDIOS PROFESIONALES EN INGENIERÍA Y CIENCIAS FÍSICO MATEMÁTICAS ESCUELA: ESCOM CARRERA: Ingeniería de Sistemas Computacionales OPCIÓN: Sistemas COORDINACIÓN: Academia de algoritmia y programación. DEPARTAMENTO: Desarrollo Curricular ASIGNATURA: Compiladores SEMESTRE: Sexto CLAVE: COMPU605 CRÉDITOS: 8 VIGENTE: TIPO DE ASIGNATURA: Teórico práctica MODALIDAD: Escolarizado TIEMPOS ASIGNADOS HRS/SEMANA/TEORÍA: HRS/SEMANA/PRÁCTICA: 3.5 1.0 HRS/SEMESTRE/TEORÍA: HRS/SEMESTRE/PRÁCTICA: 63.0 18.0 HRS/TOTALES: 81.0 PROGRAMA ELABORADO O ACTUALIZADO POR: Academia de algoritmia y programación. REVISADO POR: Subdirección Académica APROBADO POR: Consejo Técnico Consultivo Escolar ESCOM AUTORIZADO POR: Comisión de Planes y Programas de Estudio del Consejo General Consultivo I N ST I T U T O P OL I T É CN I CO N A CI ON A L SECRETARÍA ACADÉMICA DIRECCIÓN DE ESTUDIOS PROFESIONALES EN INGENIERÍA Y CIENCIAS FÍSICO MATEMÁTICAS ASIGNATURA: Compiladores CLAVE COMPU605 HOJA: 2 DE 14 FUNDAMENTACIÓN DE LA ASIGNATURA La actividad profesional de los ingenieros en sistemas computacionales, está centrada en el desarrollo e incorporación de innovaciones tecnológicas, tanto en "hardware" como en "software", las cuales deben ser accesibles y amigables para el usuario final. Es por esto que la asignatura de compiladores tiene una importancia relevante en el currículo de la carrera, ya que los compiladores e intérpretes en esencia son interfaces que facilitan la comunicación hombre-máquina. Adicionalmente, en esta asignatura se estudian técnicas que son ampliamente utilizadas en el desarrollo de otros tipos de "software", por lo que su estudio es un precedente de otras asignaturas como las relacionadas con la inteligencia artificial que en conjunto complementan los programas de estudio de la carrera, en cuanto a "software" de base. OBJETIVO DE LA ASIGNATURA El alumno analizará las posibilidades que ofrezca un compilador para utilizarlo en toda su potencialidad. Asimismo; construirá y evaluará un compilador; en el que empleará herramientas como: LEX y YACC. I N ST I T U T O P OL I T É CN I CO N A CI ON A L SECRETARÍA ACADÉMICA DIRECCIÓN DE ESTUDIOS PROFESIONALES EN INGENIERÍA Y CIENCIAS FÍSICO MATEMÁTICAS ASIGNATURA: Compiladores CLAVE: COMPU605 No. UNIDAD I HOJA: 3 DE 14 NOMBRE: Definiciones Básicas OBJETIVOS PARTICULARES DE LA UNIDAD El alumno definirá los conceptos básicos necesarios para iniciar el estudio de la teoría de los compiladores. Asimismo, aplicará las gramáticas como un medio formal para definir las construcciones de los lenguajes de programación. No. TEMA T HORAS P EC CLAVE BIBLIOGRÁFICA TEMAS 1.1 Lenguajes y gramáticas. 1.5 1.5 B2, C7, C9, C10 1.2 Clasificación de las gramáticas. 1.0 1.0 B2, C7, C9, C10 1.3 Derivaciones y reducciones. 1.0 1.0 B2, C7, C9, C10 1.4 Árboles de sintaxis. 0.5 0.5 B2, C7, C9, C10 1.5 Gramáticas ambiguas. 1.0 1.0 B2, C7, C9, C10 1.6 Forma de Backus-Naur (BNF). 1.0 1.0 B2, C7, C9, C10 6.0 6.0 Subtotal ESTRATEGIA DIDÁCTICA Exposición con apoyo de pizarrón y acetatos. Trabajo de investigación por parte del alumno. Solución de problemas y ejercicios por parte del alumno. PROCEDIMIENTO DE EVALUACIÓN Examen escrito:60%; Tareas, Trabajos de investigación 15% y Programación de algoritmos 25% I N ST I T U T O P OL I T É CN I CO N A CI ON A L SECRETARÍA ACADÉMICA DIRECCIÓN DE ESTUDIOS PROFESIONALES EN INGENIERÍA Y CIENCIAS FÍSICO MATEMÁTICAS ASIGNATURA: Compiladores CLAVE: COMPU605 No. UNIDAD II HOJA: 4 DE 14 NOMBRE: Compiladores e intérpretes. OBJETIVOS PARTICULARES DE LA UNIDAD El alumno describirá los diferentes elementos que conforman un compilador y un intérprete, asimismo el alumno identificará la función de cada uno de los componentes de un compilador e intérprete. No. TEMA TEMAS T HORAS P EC 2.1 Estructura de un compilador. 0.5 0.5 2.1.1 Función del analizador léxico. 1.0 1.0 2.1.2 Función del analizador sintáctico. 1.0 1.0 2.1.3 Tabla de símbolos. 0.5 0.5 2.1.4 Función del analizador semántico. 0.5 0.5 2.1.5 Etapa de análisis. 0.5 0.5 2.1.6 Etapa de síntesis. 0.5 0.5 4.5 4.5 Subtotal ESTRATEGIA DIDÁCTICA Exposición con apoyo de pizarrón y acetatos. Trabajo de investigación por parte del alumno. Solución de problemas y ejercicios por parte del alumno. PROCEDIMIENTO DE EVALUACIÓN Examen escrito:60%; Tareas, Trabajos de investigación 15% y Programación de algoritmos 25% CLAVE BIBLIOGRÁFICA B2, C2, C3, C4., C5, C9, C10. I N ST I T U T O P OL I T É CN I CO N A CI ON A L SECRETARÍA ACADÉMICA DIRECCIÓN DE ESTUDIOS PROFESIONALES EN INGENIERÍA Y CIENCIAS FÍSICO MATEMÁTICAS ASIGNATURA: Compiladores CLAVE: COMPU605 No. UNIDAD HOJA: 5 DE 14 NOMBRE: Análisis Léxico OBJETIVOS PARTICULARES DE LA UNIDAD El alumno examinará el análisis léxico del proceso de compilación, identificando como unidades básicas de dicho análisis a los componentes léxicos de la cadena de datos de entrada. Asimismo, aplicará el procedimiento para construir un analizador léxico a partir de la compilación de un programa generador de analizadores léxicos, el cual estará escrito en lenguaje LEX. No. TEMA T HORAS P EC CLAVE BIBLIOGRÁFICA 1.5 B1, C1, C2, C3, C7, C8 B1, C1, C2, C3, C7, C8 B1, C1, C2, C3, C7, C8 B1, C1, C2, C3, C7, C8 B1, C1, C2, C3, C7, C8 B1, C1, C2, C3, C7, C8 B1, C1, C2, C3, C7, C8 B1, C1, C2, C3, C7, C8 TEMAS 3.1 Tokens y lexemas. 1.5 3.2 Algoritmo de los 2 buffers. 1.0 3.3 Expresiones regulares. 1.0 1.0 3.4 Definición y ejemplos de AFN. 0.5 0.5 3.5 Definición y ejemplos de AFD. 1.0 1.0 3.6 1.5 1.5 3.8 Construcción de Thompson de un AFN a partir de una expresión regular. Conversión de un AFN a AFD (construcción de subconjuntos). Lenguaje LEX. 3.9 Escritura de programas LEX. 3.7 1.0 1.5 1.5 2.0 1.0 1.0 2.0 1.5 Subtotal 9.5 4.5 9.5 ESTRATEGIA DIDÁCTICA Exposición con apoyo de pizarrón y acetatos. Trabajo de investigación por parte del alumno. Solución de problemas y ejercicios por parte del alumno. Planteamiento de un Proyecto PROCEDIMIENTO DE EVALUACIÓN Examen escrito:60%; Tareas, Trabajos de investigación 15%, programación de algoritmos y avance de proyecto: 25% I N ST I T U T O P OL I T É CN I CO N A CI ON A L SECRETARÍA ACADÉMICA DIRECCIÓN DE ESTUDIOS PROFESIONALES EN INGENIERÍA Y CIENCIAS FÍSICO MATEMÁTICAS ASIGNATURA: No. UNIDAD Compiladores IV CLAVE: COMPU605 HOJA: 6 DE 14 NOMBRE: Análisis sintáctico OBJETIVOS PARTICULARES DE LA UNIDAD El alumno inferirá la importancia del análisis sintáctico dentro del proceso de compilación, describiendo y aplicando los diferentes tipos de análisis sintácticos existentes. No. TEMA TEMAS HORAS T P EC CLAVE BIBLIOGRÁFICA 4.1 4.2 4.3 Frases, formas senténciales, handles(mangos), prefijo viable. Eliminación de recursión inmediata y no inmediata. Factorización de gramáticas. 1.0 1.0 0.5 1.0 B2, C1, C2, C3, C4, C8 1.0 B2, C1, C2, C3, C4, C8 0.5 B2, C1, C2, C3, C4, C8 4.4 4.4.1 Analizadores Top-Down. Análisis sintáctico por descenso recursivo sin retroceso y con retroceso. Análisis sintáctico LL(1). Cálculo de First y Follow. Definición de gramática LL(1) con reglas épsilon. Algoritmo de análisis sintáctico LL(1). 0.5 0.5 B2, C1, C2, C3, C4, C8 Analizadores Bottom-Up. Análisis sintáctico por precedencia de operadores. Definición de gramática de operadores. Definición formal de las relaciones de precedencia de operadores. Funciones Firstop y Lastop. Obtención de la tabla de precedencia de operadores. Algoritmo de análisis sintáctico por precedencia de operadores. Análisis sintáctico LR. Algoritmo de análisis sintáctico LR. Análisis sintáctico LR(0). Subtotal 0.5 0.5 1.0 0.5 0.5 B2, C1, C2, C3, C4, C8 0.5 1.0 0.5 1.0 1.0 4.4.2 4.4.2.1 4.4.2.2 4.4.2.3 4.5 4.5.1 4.5.1.1 4.5.1.2 4.5.1.3 4.5.1.4 4.5.1.5 4.5..2 4.5.2.1 4.5.2.2 2.0 1.5 0.5 0.5 1.5 12.5 1.5 1.5 1.5 4.5 2.0 1.5 0.5 0.5 1.5 12.5 ESTRATEGIA DIDÁCTICA Exposición con apoyo de pizarrón y acetatos. Trabajo de investigación por parte del alumno. Solución de problemas y ejercicios por parte del alumno. Desarrollo de Proyecto PROCEDIMIENTO DE EVALUACIÓN Examen escrito: 60%; Tareas, Trabajos de investigación 15% y programación de algoritmos y Avance de Proyecto: 25% I N ST I T U T O P OL I T É CN I CO N A CI ON A L SECRETARÍA ACADÉMICA DIRECCIÓN DE ESTUDIOS PROFESIONALES EN INGENIERÍA Y CIENCIAS FÍSICO MATEMÁTICAS ASIGNATURA: Compiladores No. TEMA CLAVE: COMPU605 TEMAS HOJA: 7 DE 14 HORAS T P EC 4.5.2.2.1 Construcción de la máquina LR(0). 0.5 4.5.2.2.2 Construcción de la tabla LR(0). 1.0 1.0 4.5.2.3 Análisis sintáctico SLR. 4.5.2.3.1 Obtención de estados SLR. 1.5 1.5 4.5.2.3.2 Construcción de la máquina de estados SLR. 1.0 1.0 4.5.2.3.3 Construcción de la tabla SLR. 1.0 1.0 4.5.2.4 Análisis sintáctico LR(1). 4.5.2.4.1 Definición de elementos de LR(1). 0.5 0.5 4.5.2.4.2 Construcción de conjuntos de elementos. 1.0 1.0 4.5.2.4.3 Construcción de máquina de estados LR(1). 0.5 0.5 4.5.2.4.4 Construcción de la tabla LR(1) 1.0 1.0 8.0 8.0 Subtotal 0.5 CLAVE BIBLIOGRÁFICA B2, C1, C2, C3, C4, C8 ESTRATEGIA DIDÁCTICA Exposición con apoyo de pizarrón y acetatos. Trabajo de investigación por parte del alumno. Solución de problemas y ejercicios por parte del alumno. Desarrollo de Proyecto PROCEDIMIENTO DE EVALUACIÓN Examen escrito: 60%; Tareas, Trabajos de investigación 15% y programación de algoritmos y Avance de Proyecto: 25% I N ST I T U T O P OL I T É CN I CO N A CI ON A L SECRETARÍA ACADÉMICA DIRECCIÓN DE ESTUDIOS PROFESIONALES EN INGENIERÍA Y CIENCIAS FÍSICO MATEMÁTICAS ASIGNATURA: No. UNIDAD Compiladores CLAVE: COMPU605 V HOJA: 8 DE 14 NOMBRE: YACC OBJETIVOS PARTICULARES DE LA UNIDAD El alumno aplicará YACC para la creación de analizadores sintácticos. No. TEMA TEMAS HORAS T P EC 5.1 Estructura de un programa YACC. 0.5 0.5 5.2 Definición del tipo de la pila de YACC. 0.5 0.5 5.3 Terminales y no terminales en YACC. 0.5 0.5 5.4 Precedencia y asociatividad en YACC. 0.5 0.5 5.5 Manejo de errores en YACC. 1.0 1.0 5.6 Desarrollo de una aplicación utilizando LEX y YACC. Subtotal CLAVE BIBLIOGRÁFICA B3, C1, C8, C11 1.5 3.0 1.5 3.0 ESTRATEGIA DIDÁCTICA Exposición con apoyo de pizarrón y acetatos. Trabajo de investigación por parte del alumno. Solución de problemas y ejercicios por parte del alumno. Desarrollo de Proyecto utilizando LEX y YACC. PROCEDIMIENTO DE EVALUACIÓN Examen escrito: 60%; Tareas, Trabajos de investigación 15% y programación de algoritmos y Avance de Proyecto: 25% I N ST I T U T O P OL I T É CN I CO N A CI ON A L SECRETARÍA ACADÉMICA DIRECCIÓN DE ESTUDIOS PROFESIONALES EN INGENIERÍA Y CIENCIAS FÍSICO MATEMÁTICAS ASIGNATURA: No. UNIDAD Compiladores CLAVE: COMPU605 VI HOJA: 9 DE 14 NOMBRE: Traducción dirigida por la sintaxis OBJETIVOS PARTICULARES DE LA UNIDAD El alumno identificará los tipos de atributos que pueden utilizarse en el proceso de la traducción dirigida por sintaxis. Además integrará una calculadora utilizando LEX y YACC definiendo el tipo de datos de la pila de YACC y utilizando atributos sintetizados. No. TEMA TEMAS T HORAS P EC 0.5 6.1 Atributos heredados. 0.5 6.2 Atributos sintetizados. 0.5 6.3 Conversión de atributos heredados a sintetizados. 0.5 6.5 Desarrollo de una aplicación con LEX y YACC. (calculadora, derivador, graficador, etc.). 0.5 1.5 1.0 2.0 1.5 2.0 Subtotal CLAVE BIBLIOGRÁFICA B1, C1, C3, C4, C6, C8 B1, C1, C3, C4, C6, C8 0.5 B1, C1, C3, C4, C6, C8 B1, C1, C3, C4, C6, C8 ESTRATEGIA DIDÁCTICA Exposición con apoyo de pizarrón y acetatos. Trabajo de investigación por parte del alumno. Solución de problemas y ejercicios por parte del alumno. Desarrollo de Proyecto PROCEDIMIENTO DE EVALUACIÓN Examen escrito: 60%; Tareas, Trabajos de investigación 15% y programación de algoritmos y Avance de Proyecto: 25% I N ST I T U T O P OL I T É CN I CO N A CI ON A L SECRETARÍA ACADÉMICA DIRECCIÓN DE ESTUDIOS PROFESIONALES EN INGENIERÍA Y CIENCIAS FÍSICO MATEMÁTICAS ASIGNATURA: No. UNIDAD Compiladores CLAVE: COMPU605 VII HOJA: 10 DE 14 NOMBRE: Análisis semántico OBJETIVOS PARTICULARES DE LA UNIDAD El alumno evaluará los problemas más comunes en el manejo de la semántica de un determinado lenguaje durante el proceso de compilación, agregando dicha característica a la construcción de un compilador. No. TEMA TEMAS T HORAS P EC 7.1 Diseño, implantación y administración de la tabla de símbolos. 1.5 1.5 7.2 Implantación de bloques y tipos de datos. 1.0 1.0 7.3 Especificación de alcance de variables. 1.0 1.0 7.4 Funciones y procedimientos. 1.5 1.5 7.5 Registros de activación. 1.0 1.0 7.6 Paso de parámetros. 0.5 0.5 7.7 Llamada por valor. 1.0 1.0 7.7 Llamada por referencia. 1.0 1.0 8.5 8.5 Subtotal CLAVE BIBLIOGRÁFICA B2, C1, C3, C4,C5, C6, C8 B2, C1, C3, C4,C5, C6, C8 B2, C1, C3, C4,C5, C6, C8 B2, C1, C3, C4,C5, C6, C8 B2, C1, C3, C4,C5, C6, C8 B2, C1, C3, C4,C5, C6, C8 B2, C1, C3, C4,C5, C6, C8 B2, C1, C3, C4,C5, C6, C8 ESTRATEGIA DIDÁCTICA Exposición con apoyo de pizarrón y acetatos. Trabajo de investigación y Solución de problemas y ejercicios por parte del alumno. Desarrollo y Exposición de Proyecto PROCEDIMIENTO DE EVALUACIÓN Examen escrito: 60%; Tareas, Trabajos de investigación 15% y programación de algoritmos y Avance de Proyecto: 25% I N ST I T U T O P OL I T É CN I CO N A CI ON A L SECRETARÍA ACADÉMICA DIRECCIÓN DE ESTUDIOS PROFESIONALES EN INGENIERÍA Y CIENCIAS FÍSICO MATEMÁTICAS ASIGNATURA: No. UNIDAD Compiladores CLAVE: COMPU605 VIII HOJA: 11 DE 14 NOMBRE: Manejo de errores OBJETIVOS PARTICULARES DE LA UNIDAD El alumno diseñará una herramienta de software para el compilador construido, la cual generará una tabla de errores detectados en el proceso de compilación de un determinado lenguaje. No. TEMA TEMAS T HORAS P EC 8.1 Planteamiento del problema. 1.0 1.0 8.2 Técnicas básicas de detección de errores. 1.0 1.0 8.3 Agregando símbolos de error. 1.0 1.0 8.4 Proyecto utilizando LEX y YACC. (Calculadora con funciones, recursión, tipos de datos, variables locales y globales y estructuras de control: FOR, WHILE, CASE, IF THEN ELSE) Subtotal 3.0 3.0 3.0 CLAVE BIBLIOGRÁFICA B1, C1, C2, C8, C11 B1, C1, C2, C8, C11 B1, C1, C2, C8, C11 B1, C1, C2, C8, C11 3.0 ESTRATEGIA DIDÁCTICA Exposición con apoyo de pizarrón y acetatos. Trabajo de investigación por parte del alumno. Solución de problemas y ejercicios por parte del alumno. Desarrollo de Proyecto Exposición del alumno. PROCEDIMIENTO DE EVALUACIÓN Examen escrito: 60%; Tareas, Trabajos de investigación 15% y programación de algoritmos y Avance de Proyecto: 25% I N ST I T U T O P OL I T É CN I CO N A CI ON A L SECRETARÍA ACADÉMICA DIRECCIÓN DE ESTUDIOS PROFESIONALES EN INGENIERÍA Y CIENCIAS FÍSICO MATEMÁTICAS ASIGNATURA: No. UNIDAD Compiladores CLAVE: COMPU605 IX HOJA: 12 DE 14 NOMBRE: Generación de Código Intermedio OBJETIVOS PARTICULARES DE LA UNIDAD El alumno realizará mediante YACC la generación del código intermedio producto de la traducción dirigida por la sintaxis, agregando dicha característica al compilador construido. No. TEMA TEMAS T HORAS P EC CLAVE BIBLIOGRÁFICA 9.1 Máquina virtual 1.5 1.5 B1, C1, C2, C3, C6,C8, C11 9.2 Máquina objeto 1.5 1.5 B1, C1, C2, C3, C6,C8, C11 9.3 Administración de la memoria durante la ejecución. 1.5 1.5 B1, C1, C2, C3, C6,C8, C11 9.4 Código de 3 y 4 direcciones. B1, C1, C2, C3, C6,C8, C11 9.5 1.5 3.0 1.5 6.0 3.0 6.0 Estructuras de control de flujo y de repetición (IF THEN ELSE, CASE, WHILE, FOR ) Subtotal ESTRATEGIA DIDÁCTICA Exposición con apoyo de pizarrón y acetatos. Trabajo de investigación por parte del alumno. Solución de problemas y ejercicios por parte del alumno. Desarrollo de Proyecto Exposición del alumno. PROCEDIMIENTO DE EVALUACIÓN Examen escrito: 60%; Tareas, Trabajos de investigación 15% y programación de algoritmos y Avance de Proyecto: 25% I N ST I T U T O P OL I T É CN I CO N A CI ON A L SECRETARÍA ACADÉMICA DIRECCIÓN DE ESTUDIOS PROFESIONALES EN INGENIERÍA Y CIENCIAS FÍSICO MATEMÁTICAS ASIGNATURA: Compiladores CLAVE: COMPU605 HOJA: 13 DE 14 RELACIÓN DE PRÁCTICAS PRACT. No. NOMBRE DE LA PRÁCTICA UNIDAD DURACIÓN 1 Elaboración de un programa para simular el algoritmo de los 2 Buffers. III 1.5 2 Elaboración de un programa para la construcción de subconjuntos. III 1.5 3 Programa de Análisis Léxico Básico con LEX III 1.5 4 Programa de Análisis con Descenso Recursivo sin Retroceso. IV 1.5 5 Programa de Análisis con Descenso Recursivo con Retroceso. IV 1.5 6 Programa de Análisis Sintáctico por Precedencia de Operador. IV 1.5 7 Aplicación de Análisis Léxico y Semántico (Un interprete de comandos básico) V 1.5 8 Aplicación de Atributos sintetizados en una calculadora, derivador o graficador. VI 1.5 9 Calculadora con funciones, recursión, tipos de datos, variables locales y globales y estructura de control, for, while, case, if then else. VIII 3.0 10 Mini compilador con estructuras de control de flujo y de repetición (if then else, case while, for) IX 3.0 Subtotal 18.0 LUGAR DE REALIZACIÓN Laboratorio de cómputo. I N ST I T U T O P OL I T É CN I CO N A CI ON A L SECRETARÍA ACADÉMICA DIRECCIÓN DE ESTUDIOS PROFESIONALES EN INGENIERÍA Y CIENCIAS FÍSICO MATEMÁTICAS ASIGNATURA: Compiladores CLAVE: COMPU605 HOJA: 14 DE 14 PERÍODO UNIDAD PROCEDIMIENTO DE EVALUACIÓN 1 I,II, III 2 3 IV,V,VI VII,VIII, IX Examen escrito: 60%, tareas, trabajo de investigación: 15%, y programación de algoritmos: 25%. Examen escrito: 60%, trabajo de investigación: 15%, y avance del proyecto: 25%. Examen escrito: 60%, trabajo de investigación y exposición del alumno: 15%, y proyecto: 25% La calificación final es el promedio de las calificaciones de los tres períodos. No. CLAVE B C BIBLIOGRAFÍA B1 X Aho, Sthi & Ullman, Ed. Addison Wesley. "Compiladores: Principios, Técnicas y Herramientas". Addison Wesley, Mexico, 1990. 1ª Ed., 820 pgs. B2 X Tremblay, Jean Paul & Sorense, Paul. "The Theory and Practice of Compiler Writing". Mcgraw-Hill, México, 1985. 1ª Ed., 796 pgs. B3 X Holub, Allen. "Compiler Design Inc.". Prentice Hall, México, 1996. 3ª Ed., 420 pgs. C1 X Schreiner, Axel & Friedman Jr., George. "Introduction to Compiler Construction With Unix" Prentice-Hall, México, 1993. 2ª Ed., 314 pgs. C2 X Gries, David. "Construcción de Compiladores" Paraninfo, México, 1996. 1ª Ed., 410 pgs. C3 X Pittman, Thomas & Peters, James. "The Art of Compiler-Design Theory and Practice" Prentice-Hall, N.Jersey, 1997. 1ª Ed., 351 pgs. C4 X Backhause, Roland. "Syntax of Programming Languages: Theory And Practice" Prentice Hall, México, 1997. 2ª Ed., 418 pgs. C5 X Lemone, Karen. "Design of Compilers Techniques of Programming Language Translation" CRC Press, EUA, 1996. 1ª Ed., 225 pgs. C6 X Fischer, Charles & Leblanc, Richard. "Crafting A Compiler". Benjamin/Cummings Publishing Company Inc, N. York, 1995. 1ª Ed., 413 pgs. C7 X C8 X Hopcroft, J. & Ullman, J.D. "Introduction to Automata Theory, Languages and Computation". Addison-Wesley, EeU, 1991. 2ª Ed., 209 pgs . Mason, Tony. “Lex and Yacc”. O´Reilly and Associates Inc. QA 76.76 .U84 M3 C9 X Teufel, Schmidt and Teufel. “Compiladores Conceptos Fundamentales”. Addison-Wesley, E.U., 1995. 2ª Ed., 179 pgs C10 X Lemore y Karen. “Fundamentos de Compiladores”. CECSA, México, 1996. 2ª Ed., 209 pgs. C11 X Lesk, M. E. “Lex a Lexical analyzer generator, Commputing Science Techical” Report 39, AT & T Bell Laboratories, Murray Hill, Nueva Jersey