Vous êtes sur la page 1sur 11

TECNOLGICO NACIONAL DE MXICO

Secretara Acadmica, de Investigacin e Innovacin

Direccin de Docencia e Innovacin Educativa

1. Datos Generales de la asignatura


Nombre de la asignatura: Lenguajes y Autmatas II.
Clave de la asignatura: SCD - 1016
SATCA1: 2 - 3 - 5
Carrera: Ingeniera en Sistemas Computacionales.
2. Presentacin
Caracterizacin de la asignatura
En sta asignatura se debe desarrollar el anlisis semntico, la generacin de cdigo, la optimizacin
y la generacin del cdigo objeto para obtener el funcionamiento de un compilador.
Tambin se busca proveer al estudiante de herramientas, conocimientos y habilidades necesarias para
desarrollar un compilador con base en los conocimientos previos de la asignatura Lenguajes y
Autmatas I. La aportacin de sta asignatura es relevante en el mbito del desarrollo de software de
sistemas.
Es indispensable distinguir que la carrera de Ingeniera en Sistemas Computacionales se basa, no slo
en el desarrollo de software comercial y administrativo, sino tambin en el desarrollo de software
cientfico y para el desarrollo tecnolgico. sta asignatura se ubica en la segunda categora y es
indispensable desarrollar software en estos campos para preparar a los egresados y tengan la
posibilidad de cursar posgrados de alto nivel.
La asignatura trata de concretar un traductor iniciado en la asignatura previa para que el estudiante
comprenda que es capaz, mediante tcnicas bien definidas, de crear su propio lenguaje de
programacin.
La aportacin de la asignatura al perfil del egresado ser especficamente la siguiente:
Implementa aplicaciones computacionales para solucionar problemas de diversos contextos,
integrando diferentes tecnologas, plataformas o dispositivos.
Disea, desarrolla y aplica modelos computacionales para solucionar problemas, mediante la
seleccin y uso de herramientas matemticas.
Disea e implementa interfaces para la automatizacin de sistemas de hardware y desarrollo del
software asociado.
Intencin didctica
La asignatura consta de cuatro bloques estructurados y definidos que abarcan la ltima etapa de la fase
de anlisis y sntesis. Al trmino del semestre se debe obtener un compilador o traductor completo,
funcionando de acuerdo a ciertas restricciones y requisitos.
La primera unidad se centra totalmente en el analizador semntico, por lo que el analizador sintctico
debi ser concluido en la asignatura de lenguajes y autmatas I, ya que servir de base en esta unidad.

Sistema de Asignacin y Transferencia de Crditos Acadmicos

TecNM mayo 2016

Pgina | 1

TECNOLGICO NACIONAL DE MXICO


Secretara Acadmica, de Investigacin e Innovacin

Direccin de Docencia e Innovacin Educativa

En la segunda unidad se analizan las tcnicas para generar cdigo intermedio, para incluirse en su
proyecto.
La tercera unidad se centra en la optimizacin del cdigo. Es importante hacer notar que de sta fase
depende la buena y eficiente ejecucin del cdigo objeto.
En el ltimo bloque se aborda el tema de la generacin de cdigo objeto. Como paso final, es
importante que el cdigo resultante sea eficiente y pueda correr directamente sobre la computadora en
lenguaje ensamblador o basndose en microinstrucciones.
3. Participantes en el diseo y seguimiento curricular del programa
Lugar y fecha de
elaboracin o revisin

Participantes

Evento

Representantes de los Institutos


Tecnolgicos de:

Instituto Tecnolgico de
Saltillo del 5 al 9 de octubre
de 2009.

TecNM mayo 2016

Alvarado, Arandas, Campeche,


Celaya, Centla, Cerro Azul,
Champotn, Ciudad Acua, Ciudad
Cuauhtmoc, Ciudad Jurez, Ciudad
Madero,
Ciudad
Valles,
Coatzacoalcos, Cocula, Colima,
Comitn, Durango, El Istmo,
Huetamo, La Laguna, La Paz, Lzaro
Crdenas, Lerdo, Libres, Linares,
Macuspana, Matamoros, Mrida,
Mexicali, Morelia, Nuevo Laredo,
Nuevo Len, Occidente del Estado
de Hidalgo, Ocotln, Orizaba,
Oriente del Estado de Hidalgo,
Parral, Piedras Negras, Pinotepa,
Saltillo, San Luis Potos, Sur de
Guanajuato, Sur del Estado de
Yucatn, Tapachula, Tepexi de
Rodrguez,
Teziutln,
Tijuana,
Toluca,
Tuxtepec,
Veracruz,
Villahermosa, Xalapa, Zacatecas y
Zacatepec.

Reunin Nacional de Diseo e


Innovacin Curricular para el
Desarrollo
y
Formacin
de
Competencias Profesionales de las
Carreras de Ingeniera en Sistemas
Computacionales,
Ingeniera
Informtica
e
Ingeniera
en
Geociencias.

Pgina | 2

TECNOLGICO NACIONAL DE MXICO


Secretara Acadmica, de Investigacin e Innovacin

Direccin de Docencia e Innovacin Educativa

Representantes de los Institutos


Tecnolgicos de:

Instituto Tecnolgico
Superior de Poza Rica del 22
al 26 de febrero de 2010.

Alvarado, Arandas, Campeche,


Celaya, Centla, Cerro Azul,
Champotn, Ciudad Acua, Ciudad
Cuauhtmoc, Ciudad Jurez, Ciudad
Madero,
Ciudad
Valles,
Coatzacoalcos, Cocula, Colima,
Comitn, Durango, El Istmo,
Huetamo, La Laguna, La Paz, Lzaro
Crdenas, Lerdo, Libres, Macuspana,
Matamoros,
Mrida,
Mexicali,
Morelia, Nuevo Laredo, Nuevo
Len, Occidente del Estado de
Hidalgo, Orizaba, Oriente del Estado
de Hidalgo, Parral, Piedras Negras,
Pinotepa, Saltillo, San Luis Potos,
Sur de Guanajuato, Sur del Estado de
Yucatn, Tapachula, Tepexi de
Rodrguez,
Teziutln,
Tijuana,
Toluca,
Tuxtepec,
Veracruz,
Villahermosa, Xalapa, Zacatecas y
Zacatepec.

Reunin Nacional de Consolidacin de


los Programas en Competencias
Profesionales de las Carreras de
Ingeniera
en
Sistemas
Computacionales,
Ingeniera
Informtica e Ingeniera Petrolera del
SNEST.

Representantes de los Institutos


Tecnolgicos de:

Instituto Tecnolgico de
Quertaro del 22 al 25 de
octubre de 2012.

TecNM mayo 2016

Acayucan,
Altamira,
Cajeme,
Campeche, Cananea, Cd. Acua, Cd.
Cuauhtmoc, Cd. Jurez, Cd.
Madero, Cd. Valles, Celaya, Centla,
Cerro Azul, Chetumal, Chihuahua II,
Chilpancingo,
Coalcomn,
Coatzacoalcos, Cocula, Colima,
Comalcalco, Delicias, Durango,
bano, Escrcega, Huixquilucan, La
Paz, Len, Lerdo, Los Ros,
Macuspana, Mante, Milpa Alta,
Minatitln, Morelia, Nuevo Laredo,
Nuevo Len, Oaxaca, Oriente del
Estado de Mxico, Oriente del
Estado de Hidalgo, Pachuca, Piedras
Negras, Progreso, Puerto Vallarta,
Purhepecha, Tacmbaro, Tehuacn,

Reunin Nacional de Seguimiento


Curricular de los Programas en
Competencias Profesionales de las
Carreras de Ingeniera en Sistemas
Computacionales,
Ingeniera
Informtica
e
Ingeniera
en
Tecnologas de la Informacin y
Comunicaciones.

Pgina | 3

TECNOLGICO NACIONAL DE MXICO


Secretara Acadmica, de Investigacin e Innovacin

Direccin de Docencia e Innovacin Educativa

Tepexi de Rodrguez, Tepic,


Teposcolula,
Teziutln,
Tierra
Blanca, Tijuana, Tlaxiaco, Toluca,
Tuxtepec, Uruapan, Valladolid,
Veracruz, Villahermosa, Zacatecas,
Zacatecas
Norte,
Zacatepec,
Zapopan, Zitcuaro y Zonglica.
Representantes de los Institutos Reunin de Seguimiento Curricular de
Tecnolgicos de:
los
Programas
Educativos
de
Ingenieras,
Licenciaturas
y
Cerro Azul, Colima, Lerdo, Toluca y
Asignaturas Comunes del SNIT.
Veracruz.

Instituto Tecnolgico de
Toluca, del 10 al 13 de
febrero de 2014.

4. Competencia(s) a desarrollar
Competencia(s) especfica(s) de la asignatura
Implementa un compilador para un lenguaje especfico considerando las etapas del mismo.
5. Competencias previas
Define, disea y programa las fases del analizador lxico y sintctico de un traductor o compilador
para prembulo de la construccin de un compilador.
6. Temario
No.

Temas

Anlisis semntico.

Generacin de cdigo intermedio.

TecNM mayo 2016

Subtemas
1.1 rboles de expresiones.
1.2 Acciones semnticas de un analizador
sintctico.
1.3 Comprobaciones de tipos en
expresiones.
1.4 Pila semntica en un analizador sintctico.
1.5 Esquema de traduccin.
1.6 Generacin de la tabla de smbolo y
tabla
de direcciones.
1.7 Manejo de errores semnticos.
2.1 Notaciones.
2.1.1 Prefija.
Pgina | 4

TECNOLGICO NACIONAL DE MXICO


Secretara Acadmica, de Investigacin e Innovacin

Direccin de Docencia e Innovacin Educativa

Optimizacin.

Generacin de cdigo objeto.

TecNM mayo 2016

2.1.2 Infija.
2.2.3 Postfija.
2.2 Representaciones de cdigo.Intermedio.
2.2.1 Notacin Polaca.
2.2.2 Cdigo P.
2.2.3 Triplos.
2.2.4 Cudruplos.
2.3 Esquema de generacin.
2.3.1 Variables y constantes.
2.3.2 Expresiones.
2.3.3 Instruccin de asignacin.
2.3.4 Instrucciones de control.
2.3.5 Funciones.
2.3.6 Estructuras.
3.1 Tipos de optimizacin.
3.1.1 Locales.
3.1.2 Ciclos.
3.1.3 Globales.
3.1.4 De mirilla.
3.2 Costos.
3.2.1 Costo de ejecucin. (memoria,
registros, pilas).
3.2.2 Criterios para mejorar el cdigo.
3.2.3 Herramientas para el anlisis del flujo
de datos.
4.1 Registros.
4.2 Lenguaje ensamblador.
4.3 Lenguaje mquina.
4.4 Administracin de memoria.

Pgina | 5

TECNOLGICO NACIONAL DE MXICO


Secretara Acadmica, de Investigacin e Innovacin

Direccin de Docencia e Innovacin Educativa

7. Actividades de aprendizaje de los temas


1. Anlisis semntico.
Competencias

Actividades de aprendizaje

Especfica(s):

Disea mediante el uso de reglas semnticas


dirigidas por sintaxis, un analizador
semntico para un compilador.

Genricas:

Capacidad de anlisis y sntesis.


Capacidad de organizar y planificar.
Habilidad para buscar y analizar informacin
proveniente de fuentes diversas.
Solucin de problemas.
Toma de decisiones.
Trabajo en equipo.
Capacidad de aplicar los conocimientos.
Habilidades de investigacin.
Capacidad de generar nuevas ideas.
Liderazgo.
Habilidad para trabajar en forma.
Autnoma.
Bsqueda del logro.

Detectar errores semnticos.


Disear y seleccionar informacin sobre la
construccin de un analizador semntico.
Reconocer el manejo de tipos en las
expresiones y el uso de operadores.
Establecer las reglas para la conversin de
tipos (casting) en expresiones.
Agregar acciones semnticas a la estructura
de la gramtica.
Manipular la tabla de conversin de smbolos
y de errores y direcciones.
Integrar equipos de trabajo para la
construccin de un analizador semntico.

2. Generacin de cdigo intermedio.


Competencias
Especfica(s):

Disea las reglas para traducir el cdigo


fuente a un cdigo intermedio.

Genricas:

Capacidad de anlisis y sntesis.


Capacidad de organizar y planificar.
Habilidad para buscar y analizar informacin
proveniente de fuentes diversas.

TecNM mayo 2016

Actividades de aprendizaje

Aplicar los tipos de notacin para la


conversin de expresiones: Infija, prefija y
posfija.
Representar expresiones mediante el cdigo
intermedio.
Reconocer el manejo de tipos en las
expresiones y el uso de operadores.
Desarrollar las acciones que representen la
estructura de un lenguaje de programacin de
alto nivel en un cdigo intermedio.
Pgina | 6

TECNOLGICO NACIONAL DE MXICO


Secretara Acadmica, de Investigacin e Innovacin

Direccin de Docencia e Innovacin Educativa

Solucin de problemas.
Aplicar las acciones construidas a la
gramtica del lenguaje prototipo.
Toma de decisiones.
Integrar equipos de trabajo para la
Trabajo en equipo.
generacin de un cdigo intermedio.
Capacidad de aplicar los conocimientos.
Habilidades de investigacin.
Capacidad de generar nuevas ideas.
Liderazgo.
Habilidad para trabajar en forma.
Autnoma.
Bsqueda del logro.
3. Optimizacin.
Competencias

Actividades de aprendizaje

Especfica(s):

Conoce e identifica los diferentes tipos de

optimizacin que permita eficientar el cdigo


intermedio.

Genricas:

Capacidad de anlisis y sntesis.


Capacidad de organizar y planificar.
Habilidad para buscar y analizar informacin
proveniente de fuentes diversas.
Solucin de problemas.
Toma de decisiones.
Trabajo en equipo.
Capacidad de aplicar los conocimientos.
Habilidades de investigacin.
Capacidad de generar nuevas ideas.
Liderazgo.
Habilidad para trabajar en forma.
Autnoma.
Bsqueda del logro.

Aplicar las tcnicas para la optimizacin del


cdigo intermedio generado.
Tener nociones algebraicas para estimar el
nmero de veces que se realiza una
instruccin dentro de un ciclo o ciclos
anidadas.
Conocer que recursos se consumen en
invocacin a funciones y expresiones
simples.
Estudiar nuevas tcnicas para la optimizacin
de cdigo, sobre todo para aquellos lenguajes
que requieren de una mquina virtual para su
ejecucin sobre multiplataformas.
Escribir un ensayo que establezca las
tendencias y tcnicas empleadas para este
propsito.
Conocer los criterios de tiempo de ejecucin
o extensin de cdigo generado.
Integrar equipos, para analizar cdigos
intermedios existentes y proponer algunas
mejoras.

4. Generacin de cdigo objeto.


Competencias

TecNM mayo 2016

Actividades de aprendizaje

Pgina | 7

TECNOLGICO NACIONAL DE MXICO


Secretara Acadmica, de Investigacin e Innovacin

Direccin de Docencia e Innovacin Educativa

Especfica(s):

Utiliza un lenguaje de bajo nivel para


traducir el cdigo construido a lenguaje
mquina para su ejecucin.

Genricas:

Capacidad de anlisis y sntesis.


Capacidad de organizar y planificar.
Habilidad para buscar y analizar informacin
proveniente de fuentes diversas.
Solucin de problemas.
Toma de decisiones.
Trabajo en equipo.
Capacidad de aplicar los conocimientos.
Habilidades de investigacin.
Capacidad de generar nuevas ideas.
Liderazgo.
Habilidad para trabajar en forma.
Autnoma.
Bsqueda del logro.

TecNM mayo 2016

Conocer la arquitectura de los


microprocesadores intel y compatibles.
Conocer la estructura y funcionamiento del
lenguaje ensamblador.
Conocer las caractersticas principales del
lenguaje maquina a fin de llevar un cdigo
intermedio y este pueda ser reconocido por el
hardware.
Conocer las tcnicas de administracin de
memoria para el almacenamiento de un
programa en momento de ejecucin.
Experimentar con simuladores de
arquitectura de microprocesadores.

Pgina | 8

TECNOLGICO NACIONAL DE MXICO


Secretara Acadmica, de Investigacin e Innovacin

Direccin de Docencia e Innovacin Educativa

8. Prctica(s)

Disear y construir el generador de cdigo semntico para el lenguaje del caso de estudio.
Realizar arboles de expresiones en casos de estudio.
Realizar conversiones de tipos en expresiones.
Construir la tabla de smbolos y de direcciones para la gramtica propuesta.
Detectar errores de semntica en expresiones dadas.
Modificar la GLC agregando las acciones semnticas correspondientes.
Convertir expresiones mediante el uso de notaciones prefijas, infijas y postfijas.
Definir e implementar la notacin que ms se ajuste a las estructuras de evaluacin de expresiones
de lenguaje.
Proponer una estructura de cdigo intermedio en base a las caractersticas propias de cada lenguaje.
Desarrollar esquemas de generacin de cdigo intermedio.
Definir y construir el generador de cdigo intermedio para su caso de estudio.
Agregar acciones de representacin intermedia al lenguaje de programacin propuesto.
Saber cuntos recursos y cunto tiempo consume cada instruccin de cdigo intermedio.
Evaluar el cdigo intermedio generado para los programas escritos en el lenguaje de su caso de
estudio y si aplica realizar la optimizacin correspondiente.
Poder establecer una equivalencia entre las instrucciones del lenguaje intermedio y las
instrucciones en ensamblador.
Disear y construir el generador de cdigo mquina u objeto para el lenguaje del caso de estudio.

9. Proyecto de asignatura
El objetivo del proyecto que plante el docente que imparta esta asignatura, es demostrar el desarrollo
y alcance de la(s) competencia(s) de la asignatura, considerando las siguientes fases:
Fundamentacin: marco referencial (terico, conceptual, contextual, legal) en el cual se
fundamenta el proyecto de acuerdo con un diagnstico realizado, mismo que permite a los
estudiantes lograr la comprensin de la realidad o situacin objeto de estudio para definir un
proceso de intervencin o hacer el diseo de un modelo.
Planeacin: con base en el diagnstico en esta fase se realiza el diseo del proyecto por parte de
los estudiantes con asesora del docente; implica planificar un proceso: de intervencin
empresarial, social o comunitario, el diseo de un modelo, entre otros, segn el tipo de proyecto,
las actividades a realizar los recursos requeridos y el cronograma de trabajo.
Ejecucin: consiste en el desarrollo de la planeacin del proyecto realizada por parte de los
estudiantes con asesora del docente, es decir en la intervencin (social, empresarial), o
construccin del modelo propuesto segn el tipo de proyecto, es la fase de mayor duracin que
implica el desempeo de las competencias genricas y especificas a desarrollar.
Evaluacin: es la fase final que aplica un juicio de valor en el contexto laboral-profesin, social e
investigativo, sta se debe realizar a travs del reconocimiento de logros y aspectos a mejorar se
estar promoviendo el concepto de evaluacin para la mejora continua, la metacognicin, el
desarrollo del pensamiento crtico y reflexivo en los estudiantes.

TecNM mayo 2016

Pgina | 9

TECNOLGICO NACIONAL DE MXICO


Secretara Acadmica, de Investigacin e Innovacin

Direccin de Docencia e Innovacin Educativa

10. Evaluacin por competencias


Para evaluar las actividades de aprendizaje se recomienda solicitar: mapas conceptuales, reportes de
prcticas, estudios de casos, exposiciones en clase, ensayos, problemarios, reportes de visitas,
portafolio de evidencias y cuestionarios, cuadro sinptico.
Para verificar el nivel del logro de las competencias del estudiante se recomienda utilizar: listas de
cotejo, listas de verificacin, matrices de valoracin, guas de observacin, coevaluacin y
autoevaluacin.

11. Fuentes de informacin


Impresas:
1. Aho Alfred V., U. J. (2007). Compiladores. Principios, tcnicas y herramientas (2da. ed.).
Mxico: Pearson Educacin.
2. Alfonseca Moreno, M. (2006). Compiladores e intrpretes: teora y prctica (1ra ed.). Espaa:
Pearson/Prentice Hall.
3. Carrin Viramontes, J. E. (2008). Teora de la computacin. Mxico: Limusa.
4. Hopcroft John E., M. R. (2002). Introduccin a la Teora de Autmatas, Lenguajes y
Computacin (2da. ed.). Madrid: Addison-Wesley.
5. Isasi Pedro, M. P. (1997). Lenguajes, gramticas y autmatas. Un enfoque Prctico. AddisonWesley.
6. Kelley, D. (1995). Teora de Autmatas y Lenguajes Formales, (1ra. ed.). Madrid: Prentice Hall.
7. Lemone, K. A. (1996). Fundamentos de compiladores: cmo traducir al lenguaje de
computadora. Mxico D.F.: Compaa Editorial Continental.
8. Martin, J. (2004). Lenguajes formales y teora de la computacin. Mxico: McGraw-Hill /
Interamericana de Mxico.
9. Ruz, J. (2009). Compiladores-Teora e implementacin. Mxico: Alfaomega.
10. Grune, Dick. (2007). Diseo de compiladores modernos. McGraw-Hill.

Electrnicas:
11. Sacristn Donoso, Juan Marcos. Desarrollo de compiladores. Obtenido de
http://megazar.tripod.com/compil.pdf
12. COFETEL (Comisin Federal de Telecomunicaciones). (2014). Industria. Obtenido de
http://www.cft.gob.mx:8080/portal/industria-2/industria-intermedia-nv/
13. Corning Incorporated. (2014). Corning Telecommunications. Obtenido de
http://www.corning.com/products_services/telecommunications/index.aspx
TecNM mayo 2016

Pgina | 10

TECNOLGICO NACIONAL DE MXICO


Secretara Acadmica, de Investigacin e Innovacin

Direccin de Docencia e Innovacin Educativa

14. Corning Incorporated. (2014). CorningIncorporated. Obtenido de


http://www.youtube.com/user/CorningIncorporated
15. IEEE. (2014). IEEE Standards Association. Obtenido de http://www.youtube.com/user/IEEESA
16. IEEE. (2014). Technology Standards & Resources. Obtenido de
http://standards.ieee.org/findstds/index.html
17. Panduit Corp. (2014). Panduit videos. Obtenido de http://www.youtube.com/user/PanduitVideos
18. Panduit Corp. (2014). Panduit. Obtenido de
http://www.panduit.com/wcs/Satellite?pagename=PG_Wrapper&friendlyurl=/es/home
19. TED. (2014). TED Topics Internet. Obtenido de http://www.ted.cnom/topics/Internet
20. The Siemon Company. (2014). Siemon Company Videos. Obtenido de
http://www.youtube.com/user/SiemonNetworkCabling
21. The Siemon Company. (2014). Siemon Network Cabling Solutions. Obtenido de
http://www.siemon.com/la/
http://megazar.tripod.com/compil.pdf
http://www.youtube.com/watch?v=YyAhap8HJmc
http://www.youtube.com/watch?v=tV-lgtT2IjY

TecNM mayo 2016

Pgina | 11