UA
   PROCESSADORS DE LLENGUATGE    Any acadèmic       Versió PDF.
Codi9184Descripció
Crdts. Teor.6COMPILADORS. TRADUCTORS I INTÈRPRETS. FASES DE COMPILACIÓ. OPTIMITZACIÓ DE CODI. MACROPROCESSADORS.
Crdts. Pract.3
A efectes d'intercanvis en programes de mobilitat, la càrrega d'aquesta assignatura equival a 11,25 ECTS.


Departamentos y Áreas
DepartamentsÀreaCrdts. Teor.Crdts. Pract.Dpto. Respon.Respon. Acta
LLENGUATGES I SISTEMES INFORMÀTICSLLENGUATGES I SISTEMES INFORMÀTICS63


Estudis en què s'imparteix
Enginyeria en Informàtica - pla 2001


Prerequisitos
LLENGUATGES, GRAMÀTIQUES I AUTÒMATS
LLENGUATGES I PARADIGMES DE PROGRAMACIÓ


Incompatibilitats de matricula per continguts equivalents
Sense Dades


Matriculats (2009-10)
Grup (*)Nombre
1 46
2 23
3 56
TOTAL 125
(*) 1: GRUPO 1 - CAS
(*) 2: GRUPO 2 - CAS
(*) 3: GRUPO 3 - CAS


Oferida com a lliure elecció (2009-10)
Sense departament
Consulta Gràfica d'Horari
A efectes d'intercanvis en programes de mobilitat, la càrrega d'aquesta assignatura equival aFeu clic ací


Horari (2009-10)
ModeGrup (*)Data d’iniciData de finalitzacióDiaHora d’iniciHora d’fiAula
CLASSE TEÒRICA 1 14/09/2009 23/12/2009 X 09:00 11:00 A2/D24
  1 01/02/2010 21/05/2010 X 09:00 11:00 A2/D24
  2 14/09/2009 23/12/2009 L 09:00 11:00 A2/C14
  2 01/02/2010 21/05/2010 L 11:00 13:00 A2/E14
  3 14/09/2009 23/12/2009 X 15:00 17:00 A2/D24
  3 01/02/2010 21/05/2010 X 15:00 17:00 A2/D24
PRÀCTIQUES AMB ORDINADOR 1 14/09/2009 22/09/2009 M 11:00 12:00 0016P1006
  1 23/09/2009 14/12/2009 M 11:00 12:00 0016P1006
  1 15/12/2009 23/12/2009 M 11:00 12:00 0016P1006
  1 01/02/2010 21/05/2010 M 10:00 11:00 0016P1006
  2 14/09/2009 22/09/2009 M 12:00 13:00 0016P1006
  2 23/09/2009 14/12/2009 M 12:00 13:00 0016P1006
  2 15/12/2009 23/12/2009 M 12:00 13:00 0016P1006
  2 01/02/2010 21/05/2010 M 11:00 12:00 0016P1006
  3 14/09/2009 23/12/2009 M 13:00 14:00 0016P1006
  3 01/02/2010 21/05/2010 M 12:00 13:00 0016P1006
  4 14/09/2009 30/10/2009 M 14:00 15:00 0016P1006
  4 31/10/2009 03/11/2009 M 14:00 14:30 0016P1006
  4 31/10/2009 03/11/2009 M 14:30 15:00 0016P1006
  4 04/11/2009 23/12/2009 M 14:00 15:00 0016P1006
  4 01/02/2010 21/05/2010 M 13:00 14:00 0016P1006
  5 14/09/2009 06/10/2009 M 16:00 17:00 0016P1006
  5 07/10/2009 23/12/2009 M 16:00 17:00 0016P1006
  5 01/02/2010 19/03/2010 M 14:00 15:00 0016P1006
  5 20/03/2010 23/03/2010 M 14:00 14:30 0016P1006
  5 20/03/2010 23/03/2010 M 14:30 15:00 0016P1006
  5 24/03/2010 21/05/2010 M 14:00 15:00 0016P1006
  6 14/09/2009 06/10/2009 M 17:00 18:00 0016P1006
  6 13/10/2009 23/12/2009 M 17:00 18:00 0016P1006
  6 01/02/2010 21/05/2010 J 11:00 12:00 0016P1006
  7 14/09/2009 06/10/2009 M 18:00 19:00 0016P1006
  7 07/10/2009 23/12/2009 M 18:00 19:00 0016P1006
  7 01/02/2010 21/05/2010 J 12:00 13:00 0016P1006
  8 14/09/2009 23/12/2009 L 15:00 16:00 0016P1006
  8 01/02/2010 21/05/2010 J 15:00 16:00 0016P1006
  9 14/09/2009 23/12/2009 L 16:00 17:00 0016P1006
  9 01/02/2010 21/05/2010 J 16:00 17:00 0016P1006
(*) CLASE TEÓRICA
1: GRUPO 1 - CAS
2: GRUPO 2 - CAS
3: GRUPO 3 - CAS
(*) PRÁCTICAS CON ORDENADOR
1: GRUPO Prácticas de PL-01 - CAS
2: GRUPO Prácticas de PL-01 - CAS
3: GRUPO Prácticas de PL-01 - CAS
4: GRUPO Prácticas de PL-01 - CAS
5: GRUPO Prácticas de PL-01 - CAS
6: GRUPO Prácticas de PL-01 - CAS
7: GRUPO Prácticas de PL-01 - CAS
8: GRUPO Prácticas de PL-01 - CAS
9: GRUPO Prácticas de PL-01 - CAS


Grups de matricula (2009-10)
Grup (*)QuadrimestreTornIdiomaDistribució (lletra nif)
1 Anual M CAS des de A fins a H
2 Anual M CAS des de J fins a N
3 Anual T CAS des de P fins a Z
(*) 1: GRUPO 1 - CAS
(*) 2: GRUPO 2 - CAS
(*) 3: GRUPO 3 - CAS


Objectius de l'assignatura / competències (2009-10)

- Diferenciar entre els diferents tipus de programes processadors de llenguatges informàtics: analitzadors, traductors, compiladors, intèrprets, etc.

- Modelar els aspectes estructurals d´un llenguatge informàtic.

- Descobrir com la construcció de l´arbre d´anàlisi sintàctica permet guiar el procés de traducció.

- Modelar i reconéixer els components lèxics d´un llenguatge informàtic mitjançant expressions regulars i autòmats finits.

- Implementar analitzadors lèxics.

- Adquirir una comprensió intuïtiva de l´algorisme d´anàlisi descendent.

- Dissenyar esquemes de traducció dirigida per la sintaxi correctes.

- Implementar esquemes de traducció sobre analitzadors sintàctics recursius.

- Implementar adequadament un sistema de tipus a partir de l´especificació.

- Identificar les idees fonamentals que permeten generar codi per a diferents elements dels llenguatges orientats a objectes.

- Identificar l´influència dels diferents tipus de llenguatge intermedi en el mètode seguit per a la generació del codi.

- Treballar amb diferents tipus de màquines virtuals i arquitectures.

- Identificar els possibles contextos d´aplicació de les diferents tècniques estudiades durant el curs.

- Adaptar els conceptes abordats en l´assignatura a situacions diàries.

- Distingir entre els dos sentits, descendent i ascendent, d´anàlisi sintàctica i ser capaç de realitzar un seguiment mental del procés de derivació en els dos casos.

- Adquirir una comprensió intuïtiva de l´algorisme d´anàlisi per desplaçament i reducció.


Continguts teòrics i pràctics (2009-10)

1. Introducció: què estudiarem i per a què serveix; fases del desenvolupament d'un traductor o d'un intrèrpret
2. Anàlisi lèxica: especificació de components lèxics; algorisme de segmentació en tokens
3. Anàlisi sintàctica: disseny de gramàtiques; ambigüitat; recursivitat; formes BNF i EBNF
4. Análisi sintàctica descendent: algorismes LL(1), LL(k), LL(*); generador d'analitzadors ANTLR
5. Traducció dirigida por la sintaxi: esquemes de traducció dirigida per la sintaxi (ETDS); atributs heretats i sintetitzats
6. Generació de codi per a diferents arquitectures i màquines virtuals: ETDS per a la generació de codi per a expressions, instruccions, classes, objectes i mètodes; màquines virtuals de .Net i de Java
7. Altres aspectes del disseny de compiladors: altres màquines virtuals; generació de codi assamblador
8. Anàlisi sintàctica ascendent: anàlisi SLR i LALR; generador d'analitzadors Bison


Enllaç al programa
Professor/a responsable
Pérez Ortiz , Juan Antonio


Metodologia docent (2009-10)
Classes teòriques i pràctiques

En les classes teòriques i pràctiques es combinen les explicacions del professor amb l´activitat investigadora de l´alumne, la resolució de problemes i la implementació de les tècniques estudiades.

Un aspecte important d´aquesta assignatura és que no pot establir-se una frontera precisament definida entre teoria i pràctica; per tant, l´esforç dedicat a una repercuteix directament en l´altra.


Tipus d'activitats: teòriques i pràctiques
Laboratoris

Al laboratori s´implementen gran part dels conceptes estudiats a l´aula, principalment, analitzadors lèxics, traductors recursius senzills i traductors més complexos que generen codi intermedi per a diferents arquitectures o màquines virtuals.


Professorat (2009-10)
Grup Professor
TEORIA DE 91841Pérez Ortiz, Juan Antonio
2Calera Rubio, Jorge
Pérez Ortiz, Juan Antonio
3Pérez Ortiz, Juan Antonio
PRÁCTICAS CON ORDENADOR DE 91841Iñesta Quereda, Jose Manuel
PONCE DE LEON AMADOR, PEDRO JOSE
Rizo Valero, David
2Iñesta Quereda, Jose Manuel
PONCE DE LEON AMADOR, PEDRO JOSE
Rizo Valero, David
3Iñesta Quereda, Jose Manuel
PONCE DE LEON AMADOR, PEDRO JOSE
Rizo Valero, David
4Iñesta Quereda, Jose Manuel
PONCE DE LEON AMADOR, PEDRO JOSE
5GARRIDO ALENDA, ALICIA
Iñesta Quereda, Jose Manuel
PONCE DE LEON AMADOR, PEDRO JOSE
Rizo Valero, David
6GARRIDO ALENDA, ALICIA
Iñesta Quereda, Jose Manuel
Rizo Valero, David
7GARRIDO ALENDA, ALICIA
Iñesta Quereda, Jose Manuel
Rizo Valero, David
8GARRIDO ALENDA, ALICIA
PONCE DE LEON AMADOR, PEDRO JOSE
9GARRIDO ALENDA, ALICIA
PONCE DE LEON AMADOR, PEDRO JOSE
Enllaços relacionats
http://compilers.iecc.com/
http://dinosaur.compilertools.net/
http://dotgnu.org/
http://gcc.gnu.org/onlinedocs/gccint/
http://lsi.ugr.es/~pl/software.php
http://public.research.att.com/~bs/
http://www.bloodshed.net/compilers/index.html
http://www.geekronomicon.com/?q=node/68
http://www.jflap.org/
http://www.thefreecountry.com/programming/compilerconstruction.shtml


Bibliografia

CLR via C#
Autors:Richter, Jeffrey
Edició:Dades no disponibles.
ISBN:978-0735621633
Recomanat per: PEREZ ORTIZ, JUAN ANTONIO (*1)
[ Accés al catàleg de la biblioteca universitària ]

Compiling with C# and Java
Autors:Pat Terry
Edició:Harlow [etc.] : Pearson Education, 2005.
ISBN:0-321-26360-X
Recomanat per: PEREZ ORTIZ, JUAN ANTONIO (*1)
[ Accés al catàleg de la biblioteca universitària ]

Concepts in programming languages
Autors:John C. Mitchell
Edició:Cambridge (Reino Unido) : Cambridge University Press, 2003.
ISBN:0-521-78098-5 (cart.)
Recomanat per: PEREZ ORTIZ, JUAN ANTONIO (*1)
[ Accés al catàleg de la biblioteca universitària ]

Construcción de compiladores: principios y práctica
Autors:Louden, Kenneth C.
Edició:México : Thomson, 2004.
ISBN:970-686-299-4
Recomanat per: PEREZ ORTIZ, JUAN ANTONIO (*1)

Decompiling Java
Autors:NOLAN, Godfrey
Edició:Berkeley : Apress, 2004.
ISBN:1590592654
Recomanat per: PEREZ ORTIZ, JUAN ANTONIO (*1)
[ Accés al catàleg de la biblioteca universitària ]

Modern compiler implementation in Java
Autors:Andrew W. Appel ; with Jens Palsberg
Edició:Cambridge [Reino Unido] : CambridgeUniversity Press, 2002.
ISBN:0-521-82060-X (cart.)
Recomanat per: PEREZ ORTIZ, JUAN ANTONIO (*1)
[ Accés al catàleg de la biblioteca universitària ]

The definitive ANTLR 4 reference
Autors:Parr, Terence (Terence John)
Edició:Raleigh, Dallas : Pragmatic Bookshelf, 2012.
ISBN:1-941222-62-5
Recomanat per: PEREZ ORTIZ, JUAN ANTONIO (*1)
[ Accés al catàleg de la biblioteca universitària ] [ Accés a les edicions anteriors ] [ Enllaç al recurs bibliogràfic ]

The design and evolution of C++
Autors:Stroustrup, Bjarne
Edició:Reading, Massachusetts [etc.] : Addison-Wesley, 2003.
ISBN:0201543303
Recomanat per: PEREZ ORTIZ, JUAN ANTONIO (*1)
[ Accés al catàleg de la biblioteca universitària ]
(*1) Aquest professor ha recomanat el recurs bibliogràfic a tot l'alumnat de l'assignatura.
Dates d'exàmens oficials (2009-10)
ConvocatòriaGrup (*)DataHora d’iniciHora d’fiAules assignadesObservacions:
Exàmens extraordinaris de finalització d'estudis (desembre) -1 03/11/2009 15:00 18:00 A1/1-26P -
Període ordinari per a assignatures de segon semestre i anuals -1 04/06/2010 12:00 15:00 0039PS002
EP/0-24P
EP/S-08M
-
Període extraordinari de juliol -1 16/07/2010 11:30 14:30 A2/C01 -
Parciales -1 23/01/2010 09:00 12:00 0039PB013
EP/0-24P
0039PB005
-
(*) 1: GRUPO 1 - CAS
(*) 2: GRUPO 2 - CAS
(*) 3: GRUPO 3 - CAS


Instruments i criteris d'avaluació (2009-10)
Avaluació contínua, examen final

La qualificació final s´obté a partir de les notes d´un examen final i de les diferents pràctiques que es van realitzant durant el curs.

Els alumnes de Processadors de Llenguatge poden trobar més informació i les normes completes de l´assignatura dins del Campus Virtual.

També es pot trobar informació addicional en la web http://www.dlsi.ua.es/assignatures/pl/.