Professional Documents
Culture Documents
FACULTAD DE INGENIERIA
ESCUELA DE CIENCIAS Y SISTEMAS
796
CRDITOS:
ESCUELA:
Ciencias y Sistemas
Ciencias de la
computacin
PRE REQUISITOS:
770 Introduccin a la
computacin y programacin 1
795 Lgica de sistemas
960 Matemtica para la
computacin 1
POST REQUISITOS:
777 Organizacin de
lenguajes y
compiladores 1
964 Organizacin
computacional
CATEGORA:
Obligatorio
CATEDRTICO (A):
AUXILIAR:
SEMESTRE:
Objetivo General:
Que el estudiante obtenga los conocimientos tericos y prcticos que
fundamentan el diseo de lenguajes de programacin y compiladores.
Objetivos Especficos:
Que el estudiante sea capaz de utilizar los conceptos tericos para
implementar un lenguaje formal.
Metodologa:
Se impartirn clases presenciales en las cuales se complementar el
contenido terico del curso, poniendo en prctica los conocimientos adquiridos
mediante ejercicios y otras actividades prcticas.
Adicionalmente se realizarn proyectos, prcticas, tareas, exmenes cortos y
hojas de trabajo con el objetivo de mejorar las habilidades de los estudiantes
en el diseo y construccin de compiladores y evaluar los conocimientos
adquiridos.
Dentro del desarrollo del laboratorio el alumno deber tomar en cuenta lo
siguiente:
Copias parciales o totales en las tareas, investigaciones, etc. sern
sancionadas.
Evaluacin:
La nota final del laboratorio, se distribuye en actividades de evaluacin de la
siguiente manera:
Tareas, exmenes cortos y hojas de trabajo. 5 puntos
Prctica 1 (5 ago-23 ago) 10 puntos
Primer proyecto (26 ago-20 sep)... 30 puntos
Prctica 2 (23 sep-7 oct)..... 10 puntos
Segundo proyecto (7 oct-4 nov). 35 puntos
Examen Final. 10 puntos
Total 100 puntos
Observaciones:
El laboratorio se debe de aprobar con una nota mnima de 61 puntos.
Solo se calificaran exmenes, proyectos y dems actividades, a
estudiantes asignados.
Las prcticas y proyectos deben desarrollarse utilizando Visual Basic
versin 2013.
Contenido:
1. Conceptos generales
a. Definicin de lenguaje formal
b. Definicin de compilador
c. Fases del compilador
d. Definicin de intrprete
e. Diferencias entre compiladores e intrpretes
2. Anlisis Lxico
a. Token, lexema, patrn y ejemplos
b. Implementacin de un analizador lxico
c. Tabla de smbolos
3. Jerarqua de Chomsky
a. Niveles
b. Restricciones
c. Ejemplos
4. Lenguajes regulares y gramticas regulares
a. Definicin
b. Diseo y construccin
c. Arboles de derivacin
d. Ejemplos y aplicaciones
5. Expresiones Regulares
a. Definicin y Propiedades
b. Diseo y construccin
c. Relacin Gramticas Regulares Expresiones Regulares
6. Autmatas Finitos
a. Definicin
b. Tabla de transicin
c. Autmatas Finitos No Deterministas
d. Autmatas Finitos Deterministas
e. Implementacin de Autmatas Finitos Deterministas
7. Mtodo del rbol
a. Construccin del rbol
b. Calculo de primeros, ltimos y siguientes.
c. Construccin del autmata finito determinista
d. Implementacin del mtodo del rbol
e. Resolucin de ejercicios aplicando el mtodo
8. Mtodo de Thompson y subconjuntos
a. Nomenclatura
b. Resolucin de ejercicios aplicando el mtodo
9. Anlisis Sintctico
a. Funcionamiento de un analizador sintctico
b. Implementacin de analizadores sintcticos
c. Anlisis sintctico ascendente
d. Anlisis sintctico descendente
Bibliografa:
Aho, Alfred V., Sethi y Ullman. Compiladores: principios, tcnicas y
herramientas. Addison-Wesley.