Вы находитесь на странице: 1из 10

1.

- DATOS DE LA ASIGNATURA
Nombre de la asignatura: Lenguajes y Autmatas II.
Carrera: Ingeniera en Sistemas
Cm!uta"ina#es
Clave de la asignatura:
(Crditos) (SATCA
44
) 2 3 5
$.- %RESENTACI&N
Caracteriaci!n de la asignatura
"n esta asignatura se debe desarrollar el an#lisis sem#ntico$ la generaci!n de
c!digo$ la o%timiaci!n & la generaci!n del c!digo ob'eto %ara obtener el
(uncionamiento de un com%ilador)
"sta asignatura busca %roveer al estudiante de *erramientas$ conocimientos &
*abilidades necesarias %ara desarrollar un com%ilador con base en los
conocimientos %revios de la asignatura lengua'es & aut!matas +) ,a a%ortaci!n de
esta materia es relevante en el #mbito del desarrollo de so(t-are de sistemas)
"s indis%ensable distinguir .ue la carrera de +ngenier/a en Sistemas
Com%utacionales se basa no s!lo en el desarrollo de so(t-are comercial &
administrativo$ sino tambin en el desarrollo de so(t-are cient/(ico & %ara el
desarrollo tecnol!gico) "sta materia se ubica en la segunda categor/a & es
indis%ensable desarrollar so(t-are en estos cam%os %ara %re%arar a los
egresados & tengan la %osibilidad de cursar %osgrados de alto nivel)
,a asignatura trata de concretar un traductor iniciado en la materia %revia %ara
.ue el estudiante com%renda .ue es ca%a$ mediante tcnicas bien de(inidas$ de
crear su %ro%io lengua'e de %rogramaci!n)
,a a%ortaci!n de la asignatura al %er(il del egresado ser# es%ec/(icamente la
siguiente:
0esarrollar$ im%lementar & administrar so(t-are de sistemas o de
a%licaci!n .ue cum%la con los est#ndares de calidad buscando como
(inalidad a%o&ar la %roductividad & com%etitividad de las
organiaciones)
+ntegrar soluciones com%utacionales con di(erentes tecnolog/as$
%lata(ormas o dis%ositivos)
0ise1ar e im%lementar inter(aces *ombre m#.uina & ma.uina
m#.uina %ara la automatiaci!n de sistemas)
+denti(icar & com%render las tecnolog/as de *ard-are %ara %ro%oner$
desarrollar & mantener a%licaciones e(icientes)
Inten"in 'i'("ti"a.
,a materia consta de cuatro blo.ues estructurados & de(inidos .ue abarcan la
2ltima eta%a de la (ase de an#lisis & s/ntesis) Al trmino del semestre se debe
obtener un com%ilador o traductor com%leto$ (uncionando de acuerdo a ciertas
restricciones & re.uisitos)
,a %rimera unidad se centra totalmente en el analiador sem#ntico$ %or lo .ue el
analiador sint#ctico debi! ser concluido en la materia de lengua'es & aut!matas
+$ &a .ue servir# de base en esta unidad)
"n la segunda unidad se analian las tcnicas %ara generar c!digo intermedio$
%ara incluirse en su %ro&ecto)
,a tercera unidad se centra en la o%timiaci!n del c!digo) "s im%ortante *acer
notar .ue de esta (ase de%ende la buena & e(iciente e'ecuci!n del c!digo ob'eto)
"n el 2ltimo blo.ue se aborda el tema de la generaci!n de c!digo ob'eto) Como
%aso (inal$ es im%ortante .ue el c!digo resultante sea e(iciente & %ueda correr
directamente sobre la com%utadora en lengua'e ensamblador o bas#ndose en
microinstrucciones)
).- CO*%ETENCIAS A DESARROLLAR
Cm!eten"ias es!e"+i"as,
0esarrollar so(t-are de base: traductor$
intr%rete o com%ilador)
Cm!eten"ias Gen-ri"as,
Cm!eten"ias instrumenta#es
Ca%acidad de an#lisis & s/ntesis
Conocimientos b#sicos de la
carrera
Comunicaci!n oral & escrita
Conocimiento de una segunda
lengua
Conocimiento generales b#sicos
del lengua'e ensamblador)
3abilidad %ara buscar & analiar
in(ormaci!n %roveniente de
(uentes diversa)
3abilidad l!gica %ara solucionar
%roblemas
3abilidades del mane'o de la
com%utadora
Cm!eten"ias inter!ersna#es
Ca%acidad cr/tica & autocr/tica
Traba'o en e.ui%o
interdisci%linario
3abilidades inter%ersonales
Cm!eten"ias sist-mi"as
Ca%acidad de a%licar los
conocimientos en la %r#ctica
3abilidades de investigaci!n
"st#ndares de desarrollo %ara la
im%lementaci!n de soluciones
Ca%acidad de a%render
Ca%acidad de generar nuevas
ideas (creatividad)
3abilidad %ara traba'ar en (orma
aut!noma
Ca%acidad %ara dise1ar &
gestionar %ro&ectos
42s.ueda del logro
..- /ISTORIA DEL %ROGRA*A
Lugar y +e"0a 'e
e#a1ra"in re2isin
%arti"i!antes O1ser2a"ines
3Cam1is y justi+i"a"in
+nstituto Tecnol!gico de
5ec*a
6e%resentantes de los
+nstitutos Tecnol!gicos de:
6euni!n nacional de 0ise1o
e innovaci!n curricular de la
carrera de +ngenier/a en
+nstitutos Tecnol!gicos
Su%eriores de:
Coatacoalcos$ 7ccidente
del "stado de 3idalgo$
Teiutl#n & ,erdo)
5ec*a 82 de 7ctubre 299:
al 8: de 5ebrero de 2989
6e%resentante de la
Academia de Sistemas
Com%utacionales
An#lisis$ enri.uecimiento &
elaboraci!n del %rograma
de estudio %ro%uesto en la
6euni!n Nacional de
0ise1o Curricular de la
carrera de
+nstituto Tecnol!gico de
(ec*a
6e%resentantes de los
+nstitutos Tecnol!gicos
%artici%antes en el dise1o
de la carrera de +ngenier/a
6euni!n nacional de
consolidaci!n de la carrea
de ingenier/a en
4.- O56ETI7O3S8 GENERALE3S8 DEL CURSO 3Cm!eten"ia
es!e"+i"a a 'esarr##ar en e# "urs8
0esarrollar so(t-are de base: traductor$ intr%rete o com%ilador)
9.- CO*%ETENCIAS %RE7IAS
0e(inir$ dise1ar$ construir & %rogramar las (ases del analiador l;ico & sint#ctico
de un traductor o com%ilador)
:.- TE*ARIO
Uni'a' Temas Su1temas
8 An#lisis sem#ntico 8)8) Arboles de e;%resiones)
8)2) Acciones sem#nticas de un
analiador sint#ctico)
8)3) Com%robaciones de ti%os en
e;%resiones )
8)4) <ila sem#ntica en un analiador
sint#ctico)
8)5) "s.uema de traducci!n)
8)=) >eneraci!n de la tabla de s/mbolo &
de direcciones)
8)?) @ane'o de errores sem#nticos)
2 >eneraci!n de c!digo
intermedio)
2)8 Notaciones
2)8)8 <re(i'a
2)8)2 +n(i'a
2)2)3 <ost(i'a
3
4
7%timiaci!n
>eneraci!n de c!digo
ob'eto)
2)2 6e%resentaciones de c!digo
+ntermedio)
2)2)8 Notaci!n <olaca
2)2)2 C!digo <
2)2)3 Tri%los
2)2)4 Cu#dru%los)
2)3 "s.uema de generaci!n)
2)3)8 Aariables & constantes)
2)3)2 ";%resiones)
2)3)3 +nstrucci!n de asignaci!n)
2)3)4 +nstrucciones de control)
2)3)5 5unciones
2)3)= "structuras
3)8 Ti%os de o%timiaci!n)
3)8)8 ,ocales)
3)8)2 Ciclos)
3)8)3 >lobales)
3)8)4 0e mirilla)
3)2 Costos)
3)2)8 Costo de e'ecuci!n) (memoria$
registros$ %ilas)
3)2)2 Criterios %ara me'orar el c!digo)
3)2)3 3erramientas %ara el an#lisis del
(lu'o de datos)
4)8 6egistros)
4)2 ,engua'e ensamblador)
4)3 ,engua'e ma.uina)
4)4 Administraci!n de memoria)
;.- SUGERENCIAS DIDACTICAS 3Desarr## 'e "m!eten"ias
gen-ri"as8
"l %ro(esor debe

Ser conocedor de la disci%lina .ue est# ba'o su res%onsabilidad$ desarrollar la ca%acidad
%ara coordinar el traba'o en gru%o$ orientar el traba'o del estudiante & %otenciar en l la
autonom/a$ el traba'o coo%erativo & la toma de decisiones) Tomar en cuenta el
conocimiento de los estudiantes como %unto de %artida & como obst#culo %ara la
construcci!n de nuevos conocimientos)
<ro%iciar actividades de b2s.ueda$ selecci!n & an#lisis de in(ormaci!n en distintas
(uentes)
5acilitar el a%rendia'e de manera .ue el estudiante sea ca%a de detectar &
recu%erar errores sem#nticos$ conocer las notaciones %ara la conversi!n de
e;%resiones$ conocer como se re%resenta el c!digo intermedio$ generar
notaciones %ara la conversi!n de e;%resiones$ re%resentar el c!digo intermedio
utiliando un lengua'e %ro%uesto & utiliar un diagrama de sinta;is %ara
re%resentar acciones)
<ro%iciar el desarrollo de actividades intelectuales de inducci!nBdeducci!n &
an#lisisBs/ntesis$ .ue encaminen *acia la investigaci!n)
<ro%iciar actividades de metacognici!n) Ante la e'ecuci!n de una actividad$
se1alar o identi(icar el ti%o de %roceso intelectual .ue se reali!: una identi(icaci!n
de %atrones$ un an#lisis$ una s/ntesis$ la creaci!n de un *eur/stico$ etc) Al %rinci%io
lo *ar# el %ro(esor$ luego ser# el estudiante .uien lo identi(i.ue)
0esarrollar la ca%acidad %ara coordinar & traba'ar en e.ui%oC orientar el traba'o del
estudiante & %otenciar en l la autonom/a$ el traba'o coo%erativo & la toma de
decisiones)
3acer el seguimiento del %roceso (ormativo & %ro%iciar la interacci!n entre los
estudiantes) <ro%oner investigaciones en di(erentes #reas (ciencias sociales$
ingenier/a$ com%utaci!n$ etc)$ %or gru%os de inters
<ara %romover el desarrollo de ca%acidades de e;%resi!n oral & escrita en los
estudiantes$ se les invita a .ue %resenten un %ro&ecto de asignatura .ue inclu&a
los as%ectos relevantes de su %ro&ecto) "l %ro&ecto inclu&e una %resentaci!n
escrita & una oral) Todos los integrantes de cada gru%o de traba'o deben %artici%ar
%ara incentivar & %romover el desarrollo de estas ca%acidades)
<romover la interacci!n directa .ue %ermita al estudiante a%render nuevas
estructuras de %rogramaci!n & tcnicas .ue usan los lengua'es %ara %rocesar
in(ormaci!n)
5acilitar el contacto directo con lengua'es & *erramientas$ %ara contribuir a la
(ormaci!n de las com%etencias %ara el traba'o)
0esarrollar actividades de a%rendia'e .ue %ro%icien la a%licaci!n de los
conce%tos$ modelos & metodolog/as .ue se van a%rendiendo en el desarrollo de la
asignatura)
<ro%oner %roblemas .ue %ermitan al estudiante la integraci!n de contenidos de la
asignatura & entre distintas asignaturas$ %ara su an#lisis & soluci!n)
<ro%iciar el uso de las nuevas tecnolog/as en el desarrollo de la asignatura)
<.- SUGERENCIAS DE E7ALUACION
"l %roceso de evaluaci!n debe ser continuo & (ormativo %or lo .ue se debe considerar el
desem%e1o en las siguientes actividades:
A%licar evaluaciones diagn!sticas)
0esarrollar %ro&ectos usando un lengua'e de %rogramaci!n$ donde se
a%li.uen los temas %reviamente vistos %ara la construcci!n de las (ases
del analiador sem#ntico$ c!digo intermedio$ o%timiaci!n & generaci!n
de c!digo ob'eto a (in de construir un com%ilador)
6ealiar investigaciones documentales re(erentes a la asignatura
usando los di(erentes medios bibliogr#(icos o electr!nicos$ %ara
desarrollar %osteriormente: cuadros com%arativos$ ma%as conce%tuales$
cuadros sin!%ticos$ res2menes$ ensa&os$ entre otros)
6e%resentar$ com%arar$ re(le;ionar sobre teor/as o conce%tos)
A%licar e;#menes te!ricosB%r#cticos %ara detectar .ue tanto se *a
com%rendido del tema analiado)
6ealiar %r#cticas & e'ercicios en los di(erentes t!%icos de la asignatura)
"valuar el desem%e1o del estudiante en el gru%o utiliando
instrumentos de autoevaluaciones & coevaluaciones (%)e) r2bricas o
listas de cote'o))
0elimitar las es%eci(icaciones de los %ro&ectos)
1=.- UNIDADES DE A%RENDI>A6E
Uni'a' 1, An#lisis Sem#ntico)
Cm!eten"ia es!e"+i"a
a 'esarr##ar
A"ti2i'a'es 'e a!ren'i?aje
0ise1ar mediante el uso
de arboles de e;%resiones
dirigida %or la sinta;is un
analiador sem#ntico %ara
un metaBcom%ilador)
0etectar & recu%erar errores sem#nticos)
4uscar & seleccionar in(ormaci!n sobre la
construcci!n de un Analiador Sem#ntico)
6econocer el mane'o de ti%os en las e;%resiones
& el uso de o%eradores)
"stablecer las reglas %ara la conversi!n de ti%os
(casting) en e;%resiones)
Agregar acciones sem#nticas a la estructura de la
gram#tica)
@ani%ular la tabla de conversi!n de s/mbolos & de
direcciones)
+ntegrar e.ui%os de traba'o %ara la
Construcci!n de un analiador Sem#ntico
Uni'a' $, >eneraci!n de c!digo intermedio)
Cm!eten"ia es!e"+i"a
a 'esarr##ar
A"ti2i'a'es 'e a!ren'i?aje
A%licar las *erramientas
%ara desarrollar una
m#.uina virtual .ue
e'ecute c!digo intermedio
a %artir del c!digo (uente
de un lengua'e %rototi%o)
A%licar los ti%os de notaci!n %ara la conversi!n
de e;%resiones: +n(i'a$ %re(i'a & %os(i'a)
6e%resentar e;%resiones mediante el c!digo
intermedio)
6econocer el mane'o de ti%os en las
e;%resiones & el uso de o%eradores)
0esarrollar las acciones .ue re%resenten la
estructura de un lengua'e de %rogramaci!n de
alto nivel en un c!digo intermedio)
A%licar las acciones construidas a la gram#tica
del lengua'e %rototi%o)
"valuar el %rototi%o com%leto constru&endo
algunos %rogramas ti%o usando la gram#tica
de(inida)
Uni'a' ), 7%timiaci!n)
Cm!eten"ia es!e"+i"a
a 'esarr##ar
A"ti2i'a'es 'e a!ren'i?aje
Conocer e +denti(icar los
di(erentes ti%os de
o%timiaci!n .ue %ermita
e(icientar el c!digo
intermedio)
A%licar las tcnicas %ara la o%timiaci!n del
c!digo intermedio generado
Tener nociones algebraicas %ara estimar el
n2mero de veces .ue se realia una instrucci!n
dentro de un ciclo o ciclos anidadas)
Conocer .ue recursos se consumen en
invocaci!n a (unciones & e;%resiones sim%les)
"studiar nuevas tcnicas %ara la o%timiaci!n
de c!digo$ sobre todo %ara a.uellos lengua'es
.ue re.uieren de una m#.uina virtual %ara su
e'ecuci!n sobre multi%lata(ormas)
"scribir un ensa&o .ue estableca las
tendencias & tcnicas em%leadas %ara este
%ro%!sito)
Conocer los criterios de tiem%o de e'ecuci!n o
e;tensi!n de c!digo generado)
+ntegrar e.ui%os$ %ara analiar c!digos
intermedios e;istentes & %ro%oner algunas
me'oras
Uni'a' ., >eneraci!n del c!digo ob'eto)
Cm!eten"ia es!e"+i"a
a 'esarr##ar
A"ti2i'a'es 'e a!ren'i?aje
Dtiliar un lengua'e de ba'o
nivel %ara traducir el c!digo
construido a lengua'e
m#.uina %ara su e'ecuci!n)
Conocer la ar.uitectura de los
micro%rocesadores intel & com%atibles
Conocer la estructura & (uncionamiento del
lengua'e ensamblador)
Conocer las caracter/sticas %rinci%ales del
lengua'e ma.uina a (in de llevar un c!digo
intermedio & este %ueda ser reconocido %or el
*ard-are)
Conocer las tcnicas de administraci!n de
memoria %ara el almacenamiento de un
%rograma en momento de e'ecuci!n)
";%erimentar con simuladores de ar.uitectura
de micro%rocesadores)
11.- @UENTES DE IN@OR*ACION
8) A*o$ Set*i$ Dllman) Com%iladores <rinci%ios$ tcnicas & *erramientas"d)
Addison Eesle&)
2) ,emone Faren A) $ 5undamentos de com%iladores C!mo traducir al
lengua'e de com%utadora$ "d) Com%a1/a "ditorial Continental)
3) Fennet* C) ,ouden) Construcci!n de com%iladores <rinci%ios & %r#ctica)"d)
T*omson)
4) @artin Go*n$ ,engua'es (ormales & teor/a de la com%utaci!n$ "0) @c >ra-
3ill
5) 3o%cro(t Go*n ")$ +ntroducci!n a la Teor/a de Aut!matas$ ,engua'es &
Com%utaci!n$ "0) Addison Eesle&
=) >uerra Cres%o) 3ector) Com%iladores) "d) Tecnologica did#ctica)
?) 6onald @aH) Eriting com%ilers and inter%reters) "d) Eile& Com%uter
<ublis*ing)
I) 5isc*er$ ,e4lanc) Cra(ting a com%iler -it* C) "d) Cummings <ublis*ing
Com%an&$ +nc)
:) Salas <arrilla$ Ges2s) Sistemas 7%erativos & Com%iladores) @c>ra- 3ill)
89) 4ecH) So(t-are de Sistemas$ +ntroducci!n a la %rogramaci!n de Sistemas)
AddisonBEesle& +beroamericana)
88) Teu(el$ Sc*midt$ Teu(el) Com%iladores Conce%tos 5undamentales) AddisonB
Eesle& +beroamericana)
82) C) ,ouden$ Fennet*) ,engua'es de %rogramaci!n <rinci%ios & %r#ctica)
T*omson)
83) ,evine >utirre$ >uillermo) Com%utaci!n & %rogramaci!n moderna
<ers%ectiva integral de la in(orm#tica) <earson "ducaci!n)
84) Abel$ <eter) ,engua'e ensamblador & %rogramaci!n %ara <C +4@ &
com%atibles) <earson "ducaci!n)
85) @aH$ 6onald) Eriting com%ilers and inter%reters) Eile& Com%uter
<ublis*ing)
8=) <ittman$ T*omas$ <eters$ Games) T*e art o( com%iler design T*eor& and
%ractice) <rentice 3all)
8?) Tembla& J Sorenson) Com%ilers Eriting) @c >ra- 3ill)
8I) 6) ,evine$ Go*nC @ason$ Ton&$ 4ro-n$ 0oug) ,e; & Kacc) 7L6eill& J
Associates)
8:) T*e ,e; J Kacc <age$ 3BmarB94$ 82:45$ *tt%:MMdinosaur)com%ilertools)net
29) A com%act guide to le; J Kacc$ T*omas Niemann$ 3B@arB94$ 82:59$
*tt%:MMe%a%er%ress)comMle;and&acc
28) ,e; J Kacc 37ET7$ 4ert 3ubert (<o-er0NS)C7@)4A)$ 3B@arB94$ 82:55$
http://ds9a.nl/lex_yacc
22) 5le;$ 3BmarB94$ 83:92$ http://www.gnu.org/software/fex/fex.html
23) Com%iler construction using (le; and 4ison$ Ant*on& Aab&$ 3BmarB94$ 83:95$
http://cs.wwc.edu/aabyan/464/BooK/
24) 5le;$ version 2)5 A (ast scanner generator$ "dition 2)5$ @arc* 8::5$ Aern
<a;son$ 3BmarB94$ 83:89$
*tt%:MM---)cs)%rincelon)eduMa%%elMmodernMcMso(t-areM(le;M(le;Ntoc)*tml
25) 4ison) T*e KaccBcom%atible <arser >enerator$ November 8::5$ 4ison
Aersion 8)5$ C*arles 0onnell& and 6ic*ard Stallman$ 3BmarB94$ 83:89$
0tt!,AABBB."s.!rin"e#n.e'uAa!!e#Am'ernA"As+tBareA1isnA1isnCt".
0tm#, 83MdicM299:
2=) 4ison) *tt%:MM3d2()comM%rogramsM39B8?9Bmicro%rocessorBemulatorBandB
assemblerBdo-nload)s*tml$ 83MdicM299:
2?) 2MAgoM2995 $@icro%rocessor "mulator and Assembler 3)89BH$
*tt%:MMso(t-are)intel)comMenBusMarticlesMallM8M$ 24M(ebM2989
2I) +ntel$ 38MdicM299:$ +ntelO So(t-are 0evelo%ment "mulator4ottom o( 5orm$
http://software.!ntel.com/en"us/art!cles/!ntel"software"
de#elopment"emulator/$ 24M(ebM2989

1$.- %RACTICAS %RO%UESTAS 3a.u/ s!lo describen brevemente$ a.ueda
%endiente la descri%ci!n con detalle))
0ise1ar & construir el generador de c!digo sem#ntico %ara el lengua'e del
caso de estudio)
6ealiar arboles de e;%resiones en casos de estudio)
6ealiar conversiones de ti%os en e;%resiones)
Construir la tabla de s/mbolos & de direcciones %ara la gram#tica
%ro%uesta
0etectar errores de sem#ntica en e;%resiones dadas)
@odi(icar la >,C agregando las acciones sem#nticas corres%ondientes)
Convertir e;%resiones mediante el uso de notaciones %re(i'as$ in(i'as &
%ost(i'as)
0e(inir e im%lementar la notaci!n .ue m#s se a'uste a las estructuras de
evaluaci!n de e;%resiones de lengua'e)
<ro%oner una estructura de c!digo intermedio en base a las caracter/sticas
%ro%ias de cada lengua'e)
0esarrollar es.uemas de generaci!n de c!digo intermedio
0e(inir & construir el generador de c!digo intermedio %ara su caso de
estudio)
Agregar acciones de re%resentaci!n intermedia al lengua'e de
%rogramaci!n %ro%uesto)
Saber cu#ntos recursos & cu#nto tiem%o consume cada instrucci!n de
c!digo intermedio
"valuar el c!digo intermedio generado %ara los %rogramas escritos en el
lengua'e de su caso de estudio & si a%lica realiar la o%timiaci!n
corres%ondiente)
<oder establecer una e.uivalencia entre las instrucciones del lengua'e
intermedio & las instrucciones en ensamblador)
0ise1ar & construir el generador de c!digo m#.uina u ob'eto %ara el
lengua'e del caso de estudio)

Вам также может понравиться