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 (2011-12)
Grupo (*)Número
1 65
2 48
TOTAL 113
(*) 1: GRUPO 1 - CAS
(*) 2: GRUPO 2 - CAS


Ofertada como libre elección (2011-12)
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 (2011-12)
ModoGrupo (*)Día inicioDía finDíaHora inicioHora finAula
CLASE TEÓRICA 1 13/09/2011 23/12/2011 X 10:00 12:00 A2/E04
  1 01/02/2012 25/05/2012 X 11:00 13:00 A2/E04
  2 13/09/2011 23/12/2011 X 15:00 17:00 A2/E04
  2 01/02/2012 25/05/2012 X 15:00 17:00 A2/E04
PRÁCTICAS CON ORDENADOR 1 13/09/2011 23/12/2011 M 11:00 12:00 0016P1002
  1 01/02/2012 25/05/2012 M 11:00 12:00 0016P2004
  2 13/09/2011 23/12/2011 M 12:00 13:00 0016P1002
  2 01/02/2012 25/05/2012 M 12:00 13:00 0016P2004
  3 13/09/2011 23/12/2011 J 15:00 16:00 0016P2004
  3 01/02/2012 25/05/2012 M 15:00 16:00 0016P2006
  4 13/09/2011 23/12/2011 J 16:00 17:00 0016P2004
  4 01/02/2012 25/05/2012 M 16:00 17:00 0016P2006
  5 13/09/2011 23/12/2011 J 17:00 18:00 0016P2004
  5 01/02/2012 25/05/2012 M 10:00 11:00 0016P2004
  6 13/09/2011 23/12/2011 J 18:00 19:00 0016P2004
  6 01/02/2012 25/05/2012 M 13:00 14:00 0016P2004
(*) 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


Grupos de matricula (2011-12)
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 (2011-12)

- 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 (2011-12)

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
MORENO SECO , FRANCISCO


Metodología docente (2011-12)
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 (2011-12)
Grupo Profesor/a
TEORIA DE 91841MORENO SECO, FRANCISCO
Pérez Ortiz, Juan Antonio
PONCE DE LEON AMADOR, PEDRO JOSE
2MORENO SECO, FRANCISCO
Pérez Ortiz, Juan Antonio
PONCE DE LEON AMADOR, PEDRO JOSE
PRÁCTICAS CON ORDENADOR DE 91841IÑESTA QUEREDA, JOSE MANUEL
PONCE DE LEON AMADOR, PEDRO JOSE
2MORENO SECO, FRANCISCO
PONCE DE LEON AMADOR, PEDRO JOSE
3PONCE DE LEON AMADOR, PEDRO JOSE
Rizo Valero, David
4PONCE DE LEON AMADOR, PEDRO JOSE
Rizo Valero, David
5PONCE DE LEON AMADOR, PEDRO JOSE
Rizo Valero, David
6PONCE 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 ]

Compiladores : principios, técnicas y herramientas
Autor(es):Aldred V. Aho, Ravi Sethi, Jefrey D. Ullman ; versión en español de Pedro Flores Suárez y Pere Botella i López
Edición:Mexico [etc.] : Addison Wesley Longman, 1998.
ISBN:968-444-333-1
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 reference : building domain-specific languages
Autor(es):PARR, Terence
Edición:Raleigh, Dallas : Pragmatic Bookshelf, 2007.
ISBN:978-09787392-4-9
Recomendado por:PEREZ ORTIZ, JUAN ANTONIO (*1)
[ Acceso al catálogo de la biblioteca universitaria ]

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 (2011-12)
ConvocatoriaGrupo (*)fechaHora inicioHora finAula(s) asignada(s)Observ:
Exámenes extraordinarios de finalización de estudios (diciembre) -1 11/11/2011 18:00 21:00 GB/1002 -
Periodo ordinario para asignaturas de segundo semestre y anuales -1 15/06/2012 09:00 12:00 EP/0-23G
EP/SALÓN
-
Periodo extraordinario de julio -1 09/07/2012 11:30 14:30 EP/SALÓN
EP/0-23G
-
Parciales -1 23/01/2012 08:30 11:30 A2/D22
A2/D23
A2/D21
-
(*) 1: GRUPO 1 - CAS
(*) 2: GRUPO 2 - CAS


Instrumentos y criterios de evaluación (2011-12)
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/.