UA
   PROCESADORES DE LENGUAJE    Año académico       Versión PDF.  Versión PDF para convalidación.
Código9184Descripción
Crdts. Teor.6COMPILADORES. TRADUCTORES E INTERPRETES. FASES DE COMPILACION. OPTIMIZACION DE CODIGO. MACROPROCESADORES
Crdts. Pract.3
A efectos de intercambios en programas de movilidad, la carga de esta asignatura equivale a 11,25 ECTS.


Departamentos y Áreas
DepartamentosÁreaCrdts. Teor.Crdts. Pract.Dpto. Respon.Respon. Acta
LENGUAJES Y SISTEMAS INFORMÁTICOSLENGUAJES Y SISTEMAS INFORMATICOS63


Estudios en los que se imparte
Ingeniería en Informática - plan 2001


Pre-requisitos
LENGUAJES,GRAMÁTICAS Y AUTÓMATAS
LENGUAJES Y PARADIGMAS DE PROGRAMACIÓN


Incompatibilidades de matrícula por contenidos equivalentes
Sin Datos


Matriculados (2010-11)
Grupo (*)Número
1 73
2 50
TOTAL 123
(*) 1: GRUPO 1 - CAS
(*) 2: GRUPO 2 - CAS


Ofertada como libre elección (2010-11)
Número máximo de alumnos: Sin límite
Pincha aquí para ver a qué estudios se oferta
Consulta Gráfica de Horario
A efectos de intercambios en programas de movilidad, la carga de esta asignatura equivale aPincha aquí


Horario (2010-11)
ModoGrupo (*)Día inicioDía finDíaHora inicioHora finAula
CLASE TEÓRICA 1 13/09/2010 23/12/2010 X 09:00 11:00 A2/E04
  1 03/02/2011 27/05/2011 X 09:00 11:00 A2/E04
  2 13/09/2010 23/12/2010 X 15:00 17:00 A2/E04
  2 03/02/2011 27/05/2011 X 15:00 17:00 A2/E04
PRÁCTICAS CON ORDENADOR 1 13/09/2010 23/12/2010 M 11:00 12:00 0016P1002
  1 03/02/2011 27/05/2011 M 10:00 11:00 0016P2004
  2 13/09/2010 23/12/2010 M 12:00 13:00 0016P1002
  2 03/02/2011 27/05/2011 M 11:00 12:00 0016P2004
  3 13/09/2010 23/12/2010 M 13:00 14:00 0016P1002
  3 03/02/2011 27/05/2011 M 12:00 13:00 0016P2004
  4 13/09/2010 23/12/2010 M 14:00 15:00 0016P1002
  4 03/02/2011 27/05/2011 M 13:00 14:00 0016P2004
  5 13/09/2010 23/12/2010 J 15:00 16:00 0016P2004
  5 03/02/2011 27/05/2011 M 15:00 16:00 0016P2006
  6 13/09/2010 23/12/2010 J 16:00 17:00 0016P2004
  6 03/02/2011 27/05/2011 M 16:00 17:00 0016P2006
  7 13/09/2010 23/12/2010 J 17:00 18:00 0016P2004
  7 03/02/2011 27/05/2011 M 17:00 18:00 0016P2006
  8 13/09/2010 23/12/2010 J 18:00 19:00 0016P2004
  8 03/02/2011 27/05/2011 M 18:00 19:00 0016P2006
(*) CLASE TEÓRICA
1: GRUPO 1 - CAS
2: GRUPO 2 - 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


Grupos de matricula (2010-11)
Grupo (*)CuatrimestreTurnoIdiomaDistribución (letra nif)
1 Anual M CAS desde A hasta M
2 Anual T CAS desde N hasta Z
(*) 1: GRUPO 1 - CAS
(*) 2: GRUPO 2 - CAS


Objetivos de las asignatura / competencias (2010-11)

- 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ó.


Contenidos teóricos y prácticos (2010-11)

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


Más información
Profesor/a responsable
Pérez Ortiz , Juan Antonio


Metodología docente (2010-11)
Clases teóricas y prácticas

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.


Tipo de actividades: teóricas y prácticas
Laboratorios

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.


Profesores (2010-11)
Grupo Profesor/a
TEORIA DE 91841Moreno Seco, Francisco
Pérez Ortiz, Juan Antonio
2Moreno Seco, Francisco
Pérez Ortiz, Juan Antonio
PRÁCTICAS CON ORDENADOR DE 91841Iñesta Quereda, Jose Manuel
PONCE DE LEON AMADOR, PEDRO JOSE
2Iñesta Quereda, Jose Manuel
PONCE DE LEON AMADOR, PEDRO JOSE
3Iñesta Quereda, Jose Manuel
PONCE DE LEON AMADOR, PEDRO JOSE
4Moreno Seco, Francisco
PONCE DE LEON AMADOR, PEDRO JOSE
5PONCE DE LEON AMADOR, PEDRO JOSE
Rizo Valero, David
6PONCE DE LEON AMADOR, PEDRO JOSE
Rizo Valero, David
7PONCE DE LEON AMADOR, PEDRO JOSE
Rizo Valero, David
8PONCE DE LEON AMADOR, PEDRO JOSE
Rizo Valero, David
Enlaces relacionados
http://compilers.iecc.com/
http://dinosaur.compilertools.net/
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/
https://www.coursera.org/course/compilers
http://www.bloodshed.net/compilers/index.html
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
http://www.thefreecountry.com/programming/compilerconstruction.shtml


Bibliografía

CLR via C#
Autor(es):Richter, Jeffrey
Edición:Dades no disponibles.
ISBN:978-0735621633
Recomendado por:PEREZ ORTIZ, JUAN ANTONIO (*1)
[ Acceso al catálogo de la biblioteca universitaria ]

Compiling with C# and Java
Autor(es):Pat Terry
Edición:Harlow [etc.] : Pearson Education, 2005.
ISBN:0-321-26360-X
Recomendado por:PEREZ ORTIZ, JUAN ANTONIO (*1)
[ Acceso al catálogo de la biblioteca universitaria ]

Concepts in programming languages
Autor(es):John C. Mitchell
Edición:Cambridge (Reino Unido) : Cambridge University Press, 2003.
ISBN:0-521-78098-5 (cart.)
Recomendado por:PEREZ ORTIZ, JUAN ANTONIO (*1)
[ Acceso al catálogo de la biblioteca universitaria ]

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

Decompiling Java
Autor(es):NOLAN, Godfrey
Edición:Berkeley : Apress, 2004.
ISBN:1590592654
Recomendado por:PEREZ ORTIZ, JUAN ANTONIO (*1)
[ Acceso al catálogo de la biblioteca universitaria ]

Modern compiler implementation in Java
Autor(es):Andrew W. Appel ; with Jens Palsberg
Edición:Cambridge [Reino Unido] : CambridgeUniversity Press, 2002.
ISBN:0-521-82060-X (cart.)
Recomendado por:PEREZ ORTIZ, JUAN ANTONIO (*1)
[ Acceso al catálogo de la biblioteca universitaria ]

The definitive ANTLR 4 reference
Autor(es):Parr, Terence (Terence John)
Edición:Raleigh, Dallas : Pragmatic Bookshelf, 2012.
ISBN:1-941222-62-5
Recomendado por:PEREZ ORTIZ, JUAN ANTONIO (*1)
[ Acceso al catálogo de la biblioteca universitaria ] [ Acceso a las ediciones anteriores ] [ Enlace al recurso bibliográfico ]

The design and evolution of C++
Autor(es):Stroustrup, Bjarne
Edición:Reading, Massachusetts [etc.] : Addison-Wesley, 2003.
ISBN:0201543303
Recomendado por:PEREZ ORTIZ, JUAN ANTONIO (*1)
[ Acceso al catálogo de la biblioteca universitaria ]
(*1) Este profesor ha recomendado el recurso bibliográfico a todos los alumnos de la asignatura.
Fechas de exámenes oficiales (2010-11)
ConvocatoriaGrupo (*)fechaHora inicioHora finAula(s) asignada(s)Observ:
Exámenes extraordinarios de finalización de estudios (diciembre) -1 03/11/2010 15:00 18:00 EP/S-10P -
Periodo ordinario para asignaturas de segundo semestre y anuales -1 15/06/2011 09:00 12:00 A2/E11
A2/E14
A2/E13
-
Periodo extraordinario de julio -1 01/07/2011 11:30 14:30 A2/C13 -
Parciales -1 31/01/2011 09:00 12:00 A2/C13
A2/C14
-
(*) 1: GRUPO 1 - CAS
(*) 2: GRUPO 2 - CAS


Instrumentos y criterios de evaluación (2010-11)
Evaluación continua, 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/.