No. UNIDAD II NOMBRE: Compiladores e intérpretes.

Anuncio
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
Descargar