Está en la página 1de 12

División de Ingenierías

Centro Universitario de la Costa


Programa de Asignatura
Calendario 2009 B

Academia
Lenguajes Informáticos
1. Nombre de la Materia 2. Clave de la Materia
Compiladores CC317

o
3. Prerrequisitos 4. Seriación 5. Carga Horaria 6. Créditos

ad
CC206 Teoría: Práctica: Total:
Ninguna 11
CC209 80 0 80
7. Área de Formación 8.División 9. Departamento 10. Academia

iz
Departamento de Ciencias y

r
Especializante Ingenierías Tecnologías de la Lenguajes Informáticos

to 12. Modalidad de
Información y Comunicación
Au
11. Carrera 13. Tipo de Asignatura
Asignatura

Ingeniero en Computación Presencial Curso – Teórico

14. Nivel de Formación

Licenciatura

Página 1 de 12
Academia de Lenguajes Informáticos
División de Ingenierías

15. Presentación
El presente curso, permitirá a los alumnos ser capaces de diseñar un compilador a través de un lenguaje de programación, así
como la creación de intérpretes de lenguaje.
16. Perfil formativo del estudiante
Aptitud:

Habilidad y capacidad en la resolución de problemas reales e implementación de las herramientas informáticas que existe para

o
lograr el objetivo y disponibilidad para ejercer ciertas tareas minimizando tiempo y esfuerzo, logrando con esto las condiciones

ad
idóneas para realizar actividades dependiendo el área laboral.

Actitud:

iz
El alumno debe tener disponibilidad para captar e implementar los conocimientos adquiridos en ejemplos reales, además de que se
requiere que el alumno cuente con una conducta positiva y constructiva para la adquisición de conocimientos que le ayuden con

r
métodos tecnológicos para obtener la información de manera veraz y oportuna.

Valores: to
Au
Se intenta desarrollar valores como puntualidad, responsabilidad rainculca la puntialidad,pretende que el alumno al finalizar el
curso, le permita manifestar su identidad en relación a sus nuevos conocimientos tanto en su trayecto escolar con su delación con el
exterior.

Conocimiento:
Este curso tiene como objetivo principal el llevar a cabo un proceso de retroalimentación para adquirir los conocimientos necesarios
a través de dinámicas de evaluación para reafirmar y estimular al alumno.

Página 2 de 12
Academia de Lenguajes Informáticos
División de Ingenierías
Capacidades:
El alumno tendrá la capacidad de poder resolver un problema, así como también mejorar los procesos en tiempo y forma para
realizarlo dependiendo de las circunstancias en que se presente.

Habilidades:
El alumno tendrá la disposición para realizar tareas relacionadas con el área de Procesamiento de la Información, basándose en
una adecuada percepción de los estímulos externos y una respuesta activa que redunde en una actuación eficaz, es decir, contara
con el potencial para adquirir y manejar nuevos conocimientos y destrezas.

o
Adquirirá el conocimiento teórico práctico para la utilización de Lenguajes y autómatas, desarrollará habilidades y actitudes que le

ad
permiten identificar problemas y oportunidades donde se aplique el tratamiento de información para proponer soluciones por medio
de modelos y facilitar con ello la toma de decisiones. Desarrollará y administrara sistemas de información para aumentar la

iz
productividad y competitividad de las organizaciones.

r
Objetivos Éticos y Sociales
a)
to
Trabajar individualmente (Responsabilidad y puntualidad)
Au
b) Valorar objetivamente el trabajo y opiniones de sus compañeros (Respeto)
c) Resolver exámenes individualmente (Honestidad)
d) Valorar el método de la ciencia como un camino que nos conduce a la verdad (Valorar la verdad)
e) Auto motivarse para administrar su propio tiempo y cumplir con las tareas que se le asignen en el curso (Entusiasmo y
responsabilidad)
f) Apreciar la cultura
g) Criticar y ser criticado en forma constructiva (Respeto)
h) Valorar el trabajo en equipo para su fortalecimiento (Integración en equipo)

Página 3 de 12
Academia de Lenguajes Informáticos
División de Ingenierías

17. Objetivos

Objetivo General
El alumno comprenderá qué es y cómo funciona un compilador. Adquirirá la capacidad para diseñar un compilador funcional
completo para un lenguaje especificado al comenzar el curso.

Objetivos Particulares

o
• El alumno comprenderá el funcionamiento genérico de un compilador
• El alumno realizará un reconocedor léxico en base a las gramáticas de tipo 3 y los autómatas finitos

ad
• El alumno realizará un rastreador o ‘parser’ con base en las dos filosofías básicas en el análisis sintáctico
• El alumno aplicará los conceptos de estructura de datos al diseño de una tabla de símbolos práctica y eficiente.
• El alumno aprenderá a hacer las diferentes validaciones necesarias para la detección de construcciones gramaticales
correctas pero con un significado erróneo o contradictorio.

iz
• El alumno comprenderá los mecanismos de generación de código dirigido por la sintaxis del lenguaje propuesto. A su vez,
analizará el impacto que tiene la arquitectura de un procesador sobre la generación de código objeto.
• El alumno aprenderá los diferentes esquemas de la gestión de errores.

r
to 18. Contenidos Temáticos
Au
Contenido Temático Sintético
I.-Descripción general de un compilador.
II.-Analizador Léxico.
III.-Analizador sintáctico.
IV.-Tabla de símbolos.
V.-Análisis semántico.
VI.-Generación de código y optimizaciones del compilador.
VII.-Recuperación de errores.

Página 4 de 12
Academia de Lenguajes Informáticos
División de Ingenierías

Contenido Temático Desarrollado

o
Unidad I:
Objetivo: El alumno comprenderá el funcionamiento genérico de un compilador

ad
Descripción General de un Compilador
1.1.- Funciones Principales
1.2.-Estructura Interna
1.3.- Pasos y Fases de la Compilación y de la Interpretación.

iz
Unidad II:
Objetivo: El alumno realizará un reconocedor léxico en base a las gramáticas de tipo 3 y los autómatas finitos

r
Analizador Léxico

to
2.1.-Lenguajes y Expresiones Regulares.
2.2.-Analizador Lexicográfico con autómatas Finitos.
2.3.-Diseño de un Analizador Léxico.
Au
Unidad III:
Objetivo: El alumno realizará un rastreador o ‘parser’ con base en las dos filosofías básicas en el análisis sintáctico
Analizador Sintáctico
3.1.-Gramáticas independientes de contexto.
3.2.-Autómata de pila.
3.3.-Analizadores Sintácticos descendentes.
3.4.-Analizadores Sintácticos ascendentes.
3.5.-Diseño de un Analizador de descenso recursivo

Unidad IV:

Página 5 de 12
Academia de Lenguajes Informáticos
División de Ingenierías
Objetivo: El alumno aplicará los conceptos de estructura de datos al diseño de una tabla de símbolos práctica y eficiente.
Tabla de Símbolos:
4.1.-Esquemas de la Tabla de Símbolos.
42.-Arreglos Secuenciales.
4.3.-Arreglos de Acceso por Dispersión.
4.4.-Estructuras Avanzadas.

Unidad V:
Objetivo: El alumno aprenderá a hacer las diferentes validaciones necesarias para la detección de construcciones gramaticales
correctas pero con un significado erróneo o contradictorio.
Análisis Semántico
5.1.-Verificación de Tipos.

o
5.2.-Verificación de Unicidad.
5.3.-Verificación de Flujo.

ad
5.4.-Verificación en Usos de Símbolos.

Unidad VI:
Objetivo: El alumno comprenderá los mecanismos de generación de código dirigido por la sintaxis del lenguaje propuesto. A su

iz
vez, analizará el impacto que tiene la arquitectura de un procesador sobre la generación de código objeto.
Generación de Código y Optimización del Compilador
6.1.-Còdigo intermedio.

r
6.2.-Código Objeto.

to
6.3.-Optimización Local.

Unidad VII:
Au
Objetivo: El alumno aprenderá los diferentes esquemas de la gestión de errores.
Recuperación de Errores
7.1.-Gestión de Errores en Tiempo de Compilación.
7.2.-Gestión de errores durante la ligadura de módulos objeto.
7.3.-Método de recuperación de Errores.

Página 6 de 12
Academia de Lenguajes Informáticos
División de Ingenierías

19. Bibliografía

o
ad
ISBN Título / Edición Autor(es) Editorial Edición Clasificación en
biblioteca CuC
Compiladores.

iz
Principios, Técnicas y Alfred V. Aho, Ravi Addison- Wesley / Pearson 1990
Herramientas Sethi, Jeffrey D. Ullman

r
Construcción de Kenneth C. Louden Thomson
Compiladores 2004

to
21 st Century Compilers Alfred V. Aho, Ravi
Sethi, Jefrey D. Ullman,
Monica Lann
Addison - Wesley
2004
Au

20. Aplicación profesional

Página 7 de 12
Academia de Lenguajes Informáticos
División de Ingenierías

El contenido de este curso está orientado para que el alumno tenga el conocimiento necesario en la teoría para el diseño de un
compilador de lenguaje. También desarrollará habilidades y actitudes para la identificación de problemas y buscar soluciones
posibles a través de gramáticas, interpretes y autómatas finitos y facilitar con ello la construcción de un compilador funcional
completo.

21. Profesores que imparten la asignatura

o
Ing. Anzony Herrera Martínez

ad
22. Perfil del profesor
El profesor que imparta esta materia debe tener la formación en la disciplina de Ingeniería en Sistemas Computacionales,
Licenciatura en Informática, Ingeniería en Computación O licenciatura en Sistemas de Información

iz
23. Proceso de Enseñanza-aprendizaje

r
Métodos de Enseñanza-aprendizaje:

Inductivo, Explicativo y Analítico.


to
Au
Técnicas de aprendizaje:

Aulas, talleres
Actividades de aprendizaje:
Resolución de ejercicios, técnicas de lectura, Exposiciones presenciales

Página 8 de 12
Academia de Lenguajes Informáticos
División de Ingenierías

Recursos didácticos utilizados:

o
No Tradicionales * No Tecnológicos

ad
1 Pintarrón 1 Plataforma LSM Dokeos para la distribución y recepción de trabajos,
tareas, foros, blogs, exámenes en línea y encuestas.
2 Marcadores
3 Aula de Clases

iz
4 Libros de texto
5 Diapositivas electrónicas
Equipo de Proyección

r
(cañón)
6

to
Notas elaboradas para el
curso.
Au
*Recurso usados en el método expositivo

24. Actividades extracurriculares

Asistencias a Seminarios, Asistencia a conferencias relacionadas con temas de la materia o similitudes, participaciones en
congresos relacionados con la materia o la carrera, Visitas a empresas o laboratorios externos.

25. Formulación, aprobación y validación


La elaboración del presente programa, fue realizada por el profesor Anzony Herrera Martínez basándose en contenidos temáticos
ya elaborados y en la experiencia como docente y profesional. La validación del programa de estudios se da en las sesiones de
trabajo del Colegio Departamental.
Página 9 de 12
Academia de Lenguajes Informáticos
División de Ingenierías

26. Evaluación del Aprendizaje

o
Para la realización de la evaluación del curso de la Materia de Compiladores, se sugiere que se realicen diversos ejercicios.
También se deberán dejar tareas de investigación sobre los contenidos temáticos que se vayan desarrollando en cada sesión para

ad
completar la evaluación, de tal forma que se evaluara de la siguiente manera:

• Examen Escrito …………………………………………………….... 60%

iz
• Tareas ……………………………………………………………..… 20%

LOS RUBROS A TOMAR EN CUENTA PARA LA CALIFICACIÓN DE LAS TAREAS ES COMO SIGUE:

r
ü
ü
ü to
Contenido ………………………………………………………
Presentación y formato (Incluye buena redacción) ……….
Fuentes consultadas…………………………………………..
5%
5%
5%
Au
ü Puntualidad de la entrega ……………………………………. 5%

• Participaciones ………………………………………………………... 20%

27. Evaluación curricular

Página 10 de 12
Academia de Lenguajes Informáticos
División de Ingenierías
La evaluación curricular de la asignatura de Compiladores, deberá realizarse semestralmente, con el objeto de ir incorporando las
novedades y avances en aspectos tecnológicos y las instancias a participar son:

1) Colegio Departamental
2) Academia de Lenguajes de programación
3) Profesores de la materia de Bases de datos.
28. Mapa curricular
Ingeniería en Computación
http://www.cuc.udg.mx/oferta_acade/licenciaturas/ing_comp/index.html

Ingeniería Civil

o
http://www.cuc.udg.mx/oferta_acade/licenciaturas/ing_civil/index.html

ad
29. Participantes y fechas en la elaboración y revisión del programa

Participantes en la elaboración y/o actualización Última fecha de actualización

iz
Ing. Anzony Herrera Martínez Julio del 2009
Participantes en la revisión del programa Fechas de la revisión

r
M.C. Octavio Reynaga Fernández
Ing. Javier Joya Lomelí
to Julio del 2009
Au

Página 11 de 12
Academia de Lenguajes Informáticos
División de Ingenierías

_______________________________ __________________________
M.C. Octavio Reynaga Fernández Mtro. Miguel Lizcano Sánchez Jefe del

o
Presidente de la Academia Departamento de Ciencias y Tecnologías
de la Información y Comunicación

ad
iz
__________________________

r
Dr. Jorge Téllez López
Director de la División de

to Ingenierías
Au

Página 12 de 12
Academia de Lenguajes Informáticos