Anda di halaman 1dari 14

INSTITUTO POLITECNICO NACIONAL SECRETARIA ACADEMICA DIRECCION DE ESTUDIOS PROFESIONALES

ESCUELA:SUPERIOR DE FISICA Y MATEMATICAS CARRERA: LIC. EN FISICA Y MATEMATICAS ESPECIALIDAD: MATEMATICAS COORDINACION:ACADEMIA DE MATEMATICAS APLICADAS DEPARTAMENTO:MATEMATICAS FUNDAMENTACION DE LA ASIGNATURA
La materia est orientada al campo de la computacin y est estructurada de tal manera que permite darle dos enfoques importantes: Uno el de preparar o ms bien dicho el de contribuir de forma significativa en la preparacin del alumno, para que ste quede en posibilidades, si as lo desea, de realizar un posgrado en el rea de ciencias de la computacin pues se le proporcionan elementos tericos suficientes para ingresar a un programa de posgrado en el rea citada. El otro enfoque es en cuanto a su desempeo profesional, esto es, si el egresado de la carrera se dedica al campo de la computacin o sistemas en el sector pblico o privado, el curso de Arquitectura de una computadora le proporciona herramientas de gran alcance para la generacin de aplicaciones, pues se puede notar desde hace tiempo, la tendencia de generar aplicaciones mediante la fusin de algoritmos eficientes, un pequeo lenguaje o pseudo-lenguaje y un ambiente grfico, es aqu donde el diseo e implementacin de un compilador (que trabaje fundamentalmente mediante la traduccin dirigida por la sintaxis) soluciona el problema del desarrollo del pseudo-lenguaje que usar la aplicacin. OBJETIVO DE LA ASIGNATURA El objetivo gral. del curso es que el alumno maneje y comprenda cada una de las etapas de la compilacin, y que sea capaz de implementar un compilador usando generadores automticos de analizadores lxicos y analizadores sintcticos.

ASIGNATURA: ARQ. DE UNA COMPUTADORA CLAVE: 0816 SEMESTRE: 8o. CREDITOS: 9 VIGENTE: 1994/95 TIPO DE ASIGNATURA: OBLIGATORIA MODALIDAD: ESCOLARIZADO

TIEMPOS TOTALES ASIGNADOS: HRS./SEMESTRE 85.5 HRS/SEMANA 4.5 HRS./TEORIA/SEMESTRE 85.5 HRS./PRACTICA/SEMESTRE ASIGNATURA

PROGRAMA ELABORADO O ACTUALIZADO POR: ACADEMIA DE MAT. APLICADAS REVISADO POR: DEPTO. DE MAT. APROBADO POR: C.T.C.

AUTORIZADO POR: M. en C. OLGA LETICIA HDEZ. CHAVEZ DIRECTORA DE LA E.S.F.M. DE 9

ARQUITECTURA DE UNA COMPUTADORA

CLAVE 0816 HOJA 2

FUNDAMENTACION
Tambin es necesario mencionar que un conocimiento firme sobre analizadores lxicos, expresiones regulares y gramticas libres de contexto (por ejemplo), sirven de gua (podemos decir que proporcionan una metodologa) para la construccin e implementacin en algn lenguaje de alto nivel, de algoritmos que solucionen un problema determinado. En cuanto a la relacin que existe con otros cursos de carrera, bien se puede decir que Arquitectura de una computadora viene a complementar los cursos de programacin I, II y fundamentos de computacin, pues es aqu donde se termina de preparar al alumno en cuanto a diseo, organizacin y optimizacin de programas, as como el de mostrar (con el diseo prctico de un compilador) como las teoras matemticas (gramticas y atmatas finitos determinsticos por mencionar algunas) son la base fundamental para dedicarse a la investigacin en el campo de ciencias de la computacin. A continuacin se presenta un programa general del curso: - Introduccin a los compiladores. - Autmatas finitos y expresiones regulares. - Anlisis lxico. - Gramticas libres de contexto. - Anlisis sintctico.

ASIGNATURA No.UNIDAD I

ARQUITECTURA DE UNA COMPUTADORA NOMBRE INTRODUCCION A LA COMPILACION

CLAVE 0816 HOJA 3 DE 9

OBJETIVOS PARTICULARES DE LA UNIDAD

Introducir el tema de la compilacin describiendo los componentes de un compilador, el entorno en el que trabajan los compiladores y algunas herramientas de software que facilitan la construccin de compiladores.

# DE TEMA

TEMAS

INSTRUMENTACION DIDACTICA

H/T

H/P

E C.

CLAVE B.

1 2

Compiladores e intrpretes. Etapas de un compilador.

Herramientas compiladores.

para

construccin

de

Se sientan las bases tericas necesarias para el desarrollo de la unidad. Se explican esquemticamente las etapas de compilacin, se da una explicacin general (sin profundizar demasiado) sobre cada etapa, y se proporciona al alumno un programa en C operativo que traduce expresiones infijas a la forma postfija par que observe como trabaja cada etapa el compilador. Se explica de forma global el uso y funcionamiento de generadores automticos de analizadores lxicos y sintcticos. Se le dar al alumno una lista de ejercicios de programacin relativa a los conocimientos bsicos que debe poseer.

0.5 1.0

A A

1.5

K, T

ASIGNATURA No.UNIDAD II

ARQUITECTURA DE UNA COMPUTADORA NOMBRE AUTOMATAS FINITOS Y EXPRESIONES REGULARES

CLAVE 0816 HOJA 4 DE 9

OBJETIVOS PARTICULARES DE LA UNIDAD

Conocer y manejar los autmatas finitos (determinsticos y no determinsticos), conocer la equivalencia entre unos y otros. Conocer las expresiones regulares y su equivalencia con los autmatas finitos (Teorema de Kleene). Manejar las equivalencias entre expresiones regulares y autmatas finitos (AF).

# DE TEMA
1 2 3

TEMAS
Definiciones bsicas. Definicin de un Autmata finito determinstico (AFD). Comportamiento de un AFD.

INSTRUMENTACION DIDACTICA
Se usa el mtodo de exposicin para establecer las definiciones bsicas. El alumno resolver problemas sobre AFD individual y colectivamente, y en clases preestalecidas expondr problemas resueltos. Mediante problemas el alumno convertir AFD en AFN y recprocamente. El alumno resolver listas de ejercicios sobre expresiones regulares. Mediante listas de ejercicios el alumno convertir expresiones regulares en AF y recprocamente, adems resolver problemas con expresiones regulares o con AF segn le convenga ya que se habr probado la equivalencia entre unos y otros.

H/T
1.0 1.0 4.0

H/P

E C.

CLAVE B.
A,H,M A,H,M A,H,M

4 5 6 7 8

Autmatas finitos no determinsticos (AFN). Equivalencia entre AFD y AFN. Conjuntos regulares. Expresiones regulares. Teorema de Kleene.

2.5 4.0 2.0 2.5 3.0

A,H,M A,H,M A,H,M A,H,M A,H,M

ASIGNATURA No.UNIDAD III

ARQUITECTURA DE UNA COMPUTADORA NOMBRE ANALISIS LEXICO

CLAVE 0816 HOJA 5 DE 9

OBJETIVOS PARTICULARES DE LA UNIDAD

Se requiere que el alumno sea capaz de: (i) Programar un analizador lxico haciendo una traduccin de diagramas de componentes lxicos. (ii) Desarrollar un analizador lxico usando un generador automtico de analizadores lxicos llamado LEX.

# DE TEMA

TEMAS

INSTRUMENTACION DIDACTICA

H/T

H/P

E C.

CLAVE B.

La funcin del anlisis lxico.

Especificacin y reconocimiento de entidades lxicas.

Diseo de un analizador lxico.

El profesor expondr las razones para dividir la fase de anlisis de la compilacin en anlisis lxico y anlisis sintctico, y explicar el funcionamiento del analizador lxico. El profesor establecer que se entiende por entidad lxica y relacionar las expresiones regulares con el reconocimiento de entidades lxicas. El profesor ensear la manera de construir AF o expresiones regulares (Un AF es la manera formal de llamar a un diagrama de componentes lxicos) para reconocer entidades lxicas. El alumno elaborar AF o expresiones regulares para reconocer componentes lxicos de algn lenguaje de alto nivel (solamente algunos componentes lxicos de lenguaje C, Pascal o Fortran por ejemplo, que el profesor elegir de acuerdo a su criterio), y programar cada uno de ellos.

A,H

A,H

A,H

ASIGNATURA # TEMA

ARQUITECTURA DE UNA COMPUTADORA TEMAS

CLAVE 0816 HOJA 6 DE 9 H/T H/P EC CLAVE BIBL

INSTRUMENTACION DIDACTICAS

LEX. Un lenguaje para especificar y generar analizadores lxicos.

El profesor ensear a programar en LEX y el alumno crear un programa LEX para reconocer los componentes lxicos que se hayan especificados en el tema 3, de aqu observar las facilidades y dificultades que presenta cada tcnica.

A,H,K,T

ASIGNATURA No.UNIDAD IV

ARQUITECTURA DE UNA COMPUTADORA NOMBRE GRAMATICAS LIBRES DE CONTEXTO (GLC)

CLAVE 0816 HOJA 7 DE 9

OBJETIVOS PARTICULARES DE LA UNIDAD

Que el alumno conozca y sepa manejar las gramticas libres de contexto.

# DE TEMA

TEMAS

INSTRUMENTACION DIDACTICA

H/T

H/P

E C.

CLAVE B.

1 2

Jerarqua de Chomsky. Lenguajes tipo 0,1,2 y 3.

Mediante la exposicin el profesor establecer la teora necesaria para que el alumno comprenda lo que es un gramtica y el caso particular de una GLC. Mediante ejemplos el profesor establecer las ventajas y desventajas en el uso de gramticas ambiguas para la parte del anlisis sintctico. Se le proporcionar al alumno un GLC que especifica una parte bsica del lenguaje C, para que con ayuda del profesor analice el uso y funcionamiento de dicha gramtica.

3 3.5

A,H A,H

Equivalencia entre lenguajes tipo (3) (Regulares) y autmatas finitos (AF).

A,H

Gramticas ambiguas.

4.5

A,H

ASIGNATURA No.UNIDAD V

ARQUITECTURA DE UNA COMPUTADORA NOMBRE ANALISIS SINTACTICO

CLAVE 0816 HOJA 8 DE 9

OBJETIVOS PARTICULARES DE LA UNIDAD

Que el alumno desarrolle un analizador sintactico usando un generador automtico de analizadores sintcticos llamado YACC.

# DE TEMA
1

TEMAS
La funcin del anlisis sintctico.

INSTRUMENTACION DIDACTICA
El profesor expondr la funcin del analizador sintctico, estableciendo su relacin con el analizador lxico. El profesor expondr cada tipo de analizador sintctico y dar ejemplos (no complicados) del funcionamiento de cada uno. El alumno simular "a mano"y mediante un ejemplo concreto, el funcionamiento de cada tipo de analizador. El profesor ensear la forma de programar con YACC para generar analizadores sintcticos. El alumno desarrollar un analizador sintctico como base para su trabajo final, que consistir en la implementacin de un pequeo lenguaje de programacin o pseudo-lenguaje.

H/T
3

H/P

E C.

CLAVE B.
A,H

2 3 4 5

Analizadores descendentes. Analizadores ascendentes. Analizadores de operadores de precedencia. Analizadores tipo LR(SLR, LR(0), LR(1), LALR(1)). YACC. Generador automtico analizadores sintcticos. de

3 3 4 4.5

A,H A,H A,H A,H

A,H,K,T

ASIGNATURA: PERIOD O

ARQUITECTURA DE UNA COMPUTADORA PROCEDIMIENTOS DE EVALUACION

CLAVE 0816

HOJA 9 DE 9

UNIDADES TEMATICA S
I II, III

El alumno resolver una lista de ejercicios bsicos de programacin [en lenguaje C] y programar algn problema sobre manejo dinmico de memoria y en un plazo no mayor de 15 das. El alumno programar [en lenguaje C o TP] un analizador lxico y generar con LEX el mismo analizador lxico. Adems realizar una prueba escrita sobre expresiones regulares y autmatas finitos. Con ayuda de YACC el alumno generar un pseudo-lenguaje, segn indicaciones del profesor.

IV, V

CLAVE
A H M T K

B
x x

BIBLIOGRAFIA
A. V. Aho, R. Sethi y J. D. Ullman. Compiladores, Principios, tcnicas y herrameintas. Addison-Wesley Iberoamericana. 820 pgs. Hopcroft, J. E. y Ullman, J. D. Introduction to Automata Theory, Languages and Computation. Addsion-Wesley, Reading Massachusetts, 1979.

x x x

Martin D. Davis y Elaine J. Weyuker. Computability, complexity and Languages. Academic Press. Tenenbaum, Langsam, Augestein. Estructuras de datos en C. Addison-Wesley. Kernighan and Ritchie. El lenguaje de programacin C. Prentice-Hall. 1993.

Anda mungkin juga menyukai