0% encontró este documento útil (0 votos)
127 vistas2 páginas

Curso de Compiladores en Ingeniería

Este documento presenta la asignatura de Compiladores impartida en la Facultad de Estudios Superiores Aragón de la UNAM. La asignatura es obligatoria y cubre temas como análisis léxico, sintáctico, generación de código intermedio, enlace y cargadores. El objetivo es proporcionar las herramientas para diseñar y construir compiladores. La asignatura se imparte en 11 unidades y 64 horas a lo largo de un semestre.

Cargado por

Samantha
Derechos de autor
© © All Rights Reserved
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como DOC, PDF, TXT o lee en línea desde Scribd
0% encontró este documento útil (0 votos)
127 vistas2 páginas

Curso de Compiladores en Ingeniería

Este documento presenta la asignatura de Compiladores impartida en la Facultad de Estudios Superiores Aragón de la UNAM. La asignatura es obligatoria y cubre temas como análisis léxico, sintáctico, generación de código intermedio, enlace y cargadores. El objetivo es proporcionar las herramientas para diseñar y construir compiladores. La asignatura se imparte en 11 unidades y 64 horas a lo largo de un semestre.

Cargado por

Samantha
Derechos de autor
© © All Rights Reserved
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como DOC, PDF, TXT o lee en línea desde Scribd

UNIVERSIDAD NACIONAL AUTONOMA DE MÉXICO

FACULTAD DE ESTUDIOS SUPERIORES ARAGÓN

INGENIERÍA EN COMPUTACIÓN
SEXTO SEMESTRE
ASIGNATURA: ÁREA DE CONOCIMIENTO:
Compiladores Software de base.
HORAS/SEMANA/SEMESTRE
CARÁCTER: CLAVE: TEORÍA: PRÁCTICA: HORAS: CRÉDITOS:
Obligatoria 0434 4.0 0.0 64.0 08
TIPO Teórica
MODALIDAD:
Curso
Lenguajes formales y autómatas
ASIGNATURA(S) INDICATIVA(S) PRECEDENTE(S): Programación de sistemas
Bases de Datos I
ASIGNATURA(S) INDICATIVA(S) SUBSECUENTE(S): Inteligencia artificial
OBJETIVO(S):
Proporcionar al alumno las herramientas y técnicas que le permitan diseñar y construir
compiladores.

UNIDADES TEMÁTICAS
NÚMERO DE HORAS UNIDAD 1. NÚMERO DE UNIDAD 2.
POR UNIDAD INTRODUCCIÓN HORAS POR ANALISIS LEXICOGRÁFICO
UNIDAD
1.1 Lenguajes imperativos y 2.1 Expresiones regulares.
declarativos.
1.2 Compiladores, ensambladores e 2.2 Autómatas de estados finitos.
intérpretes y máquina de ejecución
3.0 5.0
virtual.
1.3 Estructura de un compilador. 2.3 Definición de tokens para el lenguaje
C++ y Java.
2.4 Uso y manejo de LEX.
NÚMERO DE HORAS UNIDAD 3. NÚMERO DE UNIDAD 4.
POR UNIDAD ANÁLISIS DE SINTAXIS HORAS POR ANALISIS SINTACTICO RECURSIVO
UNIDAD DESCENDENTE
3.1 Principios del análisis sintáctico. 4.1Traducción dirigida por sintaxis en
analizadores de arriba abajo.
3.2 Gramáticas ambiguas. 4.2 Gramáticas LL.
Gramática libre de contexto: BNF. 4.3 Eliminación de la ambigüedad.
4.0 (Backus-Naur Form). 6.0
3.3 Problemas típicos en la definición 4.4 Analizador LL(1).
de gramáticas
3.4 Gramática de C++ y de Java. 4.5 Detección y recuperación de errores.
NÚMERO DE HORAS UNIDAD 5. NÚMERO DE UNIDAD 6.
POR UNIDAD ANÁLISIS SINTACTICO HORAS POR ORGANIZACIÓN DE MEMORIA EN
DESCENDENTE. UNIDAD TIEMPO DE CORRIDA..
5.1 Gramáticas LR. 6.1 Organización de la pila de STACK.
5.2 Transformación de un NFA a un 6.2 Organización de "heap".
DFA.
5.3 Analizador RL(1). 6.3 Paso de parámetros.
8.0 4.0
5.4 Analizador LALR(1). 6.4 Organización de tablas de símbolos.
5.5 Detección y recuperación de 6.5 Direccionamientos.
errores.
5.6 Uso y manejo de YACC.
NÚMERO DE HORAS UNIDAD 7. NÚMERO DE UNIDAD 8.
POR UNIDAD GENERACIÓN DE CÓDIGO HORAS POR OPTIMIZACIÓN DE CÓDIGO
INTERMEDIO Y ANÁLISIS UNIDAD
SEMÁNTICO
7.1 Árbol comentado. 8.1 Tipos de optimización.
8.0 7.2 ECMA-335. Estándares 3.0 8.2 Movimiento de código.
internacionales.
NÚMERO DE HORAS UNIDAD 9. NÚMERO DE UNIDAD 10.
POR UNIDAD ENLAZADO HORAS POR CARGADORES
UNIDAD
9.1 Resolución de símbolos. 10.1 Cargadores en sistemas operativos.
6.0 9.2 Enlace de recursos binarios. 6.0 10.2 Máquina virtual.
9.3 Enlace estático y enlace dinámico. 10.3 Cargador en un interprete.
NÚMERO DE HORAS UNIDAD 11.
POR UNIDAD PROYECTO
11.1 Construir un compilador para una TOTAL DE HORAS: 64
11.0
gramática sencilla.
ALFRED AHO ; RAVI SETHI ; JEFFREY ULLMAN
BIBLIOGRAFÍA BÁSICA
Compiladores. Principios, técnicas y herramientas. Todos
(IMPRESCINDIBLE)
México, Addison Wesley, 1990
TREMBLAY, SORENSON Todos
The theory and practice of compiler writing
EU, McGraw-Hill 1985.
SCHREINER A. T. ; FRIEDMAN H. G. Todos
Introduction to compiler construction with Unix
EU, 2nd edition, Prentice - Hall 1990
TREMBLAY, SORENSON Todos
An implementation guide to compiler writing
EU, McGraw-Hill College, 1982.
LEMONE, KAREN A. Todos
Fundamentos de compiladores.
México, Cecsa, 2000.
KERNIGHAN, BRIAN ; RITCHIE DENNIS Todos
The C programming language
EU, 2nd edition, Prentice Hall, 1988
AHO, ALFRED Todos
BIBLIOGRAFÍA
Compiladores: principios, técnicas y herramientas
COMPLEMENTARÍA
México, Addison Wesley, 2000.
LLORCA, SANCHIS Todos
Compiladores. Teoría y Construcción
España, Paraninfo, 1991.
SUGERENCIAS DIDÁCTICAS

Exposición oral___________________________(X)
Exposición audiovisual ____________________(X)
Ejercicios dentro de clase __________________(X)
Ejercicios fuera del aula ___________________(X)
Seminarios______________________________(X)
Lecturas obligatorias ______________________(X)
Trabajos de investigación___________________(X)
Prácticas de taller o laboratorio______________(X)
Prácticas de campo_______________________(X)
Otras:

FORMA DE EVALUAR

Exámenes parciales ______________________(X)


Exámenes finales ________________________(X)
Trabajos y tarea fuera del aula ______________(X)
Participación en clase _____________________(X)
Asistencia a prácticas _____________________(X)
Otras:

PERFIL PROFESIOGRÁFICO DE QUIENES PUEDEN IMPARTIR LA ASIGNATURA

 Poseer un título a nivel licenciatura afín al área de conocimiento.


 Poseer conocimientos y experiencia profesional relacionados con los contenidos de la asignación a impartir.
 Tener la vocación para la docencia y una actitud permanentemente educativa a fin de formar íntegramente al
alumno:
 Para aplicar recursos didácticos.
 Para motivar al alumno.
 Para evaluar el aprendizaje del alumno, con equidad y objetividad.
 Poseer conocimientos y experiencia pedagógica referentes al proceso de enseñanza-aprendizaje.
 Tener disposición para su formación y actualización, tanto en los conocimientos de su área profesional, como
en las pedagógicas.
 Identificarse con los objetivos educativos de la institución y hacerlos propios.
 Tener disposición para ejercer su función docente con ética profesional:
 Para observar una conducta ejemplar fuera y dentro del aula.
 Para asistir con puntualidad y constancia a sus cursos.
 Para cumplir con los programas vigentes de sus asignaturas.

También podría gustarte