Presentación

Anuncio
Traductores de Lenguajes de Programación
PROCESADORES DE LENGUAJES
Traductores en el marco de la comunicación hombre-máquina
M
José Miguel Benedı́
e-mail: jbenedi@dsic.upv.es
LN
Tutorı́as: lunes y jueves de 9.30 a 12.30
Despacho: 1D13 edificio DSIC
LAN
Programa
Fuente
-
Traductor
-
LE LM
Programa
Objeto
Departamento de Sistemas Informáticos y Computación
Universidad Politécnica de Valencia
Procesadores de Lenguajes
José Miguel Benedı́ (2012-2013)
Traductores de Lenguajes de Programación
Lenguajes de Programación y Traductores
Origen y evolución de los Traductores de LP
1945 - 1960
-
Compilación de código frente a traducción automática.
-
Compilador de fortran (Formula Translator)
costó 18 personas-año.
1960 - 1975
-
Impulso formalizador; énfasis en la fase de análisis.
1975 -
-
Énfasis en la calidad del código objeto.
-
Compilación de lenguajes para nuevos paradigmas de
programación: funcional, lógica y orientado a objetos,
distribuidos, paralelos, ...
jbenedi@dsic.upv.es
Compiladores hoy: justificación de la asignatura
â Los Compiladores son una herramienta bien conocida y de toda confianza:
â Adecuada estructuración del problema
â Uso juicioso de formalismos matemáticos
â Uso de herramientas de generación automática de programas
â Los conocimientos adquiridos tienen aplicación directa en otros campos:
((Aunque es probable que pocas personas realicen o incluso mantengan un
compilador para uno de los principales lenguajes de programación, mucha
gente puede obtener provecho del uso de un gran número de ideas y técnicas
para el dise~
no general de programas))
Alfred V. Aho y Jeffrey D. Ullman
â Permite conocer mejor los lenguajes de programación que se usan
â Ayuda a enfrentarse a programas de tamaño medio medio alto.
José Miguel Benedı́ (2012-2013)
jbenedi@dsic.upv.es
José Miguel Benedı́ (2012-2013)
jbenedi@dsic.upv.es
Procesadores de Lenguajes
Procesadores de Lenguajes
Temario
Bibliografı́a
⇒ A.V.Aho, R.Sethi y J.D.Ullman: Compiladores: Principios, Técnicas y Herra-
1. Introducción a la compilación
mientas. Addison-Wesley, 1990.
2. Análisis léxico
⇒ K.D.Cooper y L.Torczon: Engineering a Compiler. Morgan Kaufmann, 2012.
3. Análisis sintáctico:
3.1. Análisis sintáctico descendente
â A.W.Appel: Modern Compiler Implementation in C. Cambridge University
Press, 1998.
3.2. Análisis sintáctico ascendente
4. Análisis semántico:
4.1. Gramáticas de atributos
â S.Muchnick Advanced Compiler Design and Implementation. Morgan Kaufman Publishers, 1997.
4.2. Comprobación de tipos
â K.C.Louden: Compiler Construction: Principles and Practice. PWS Publihing,
1997.
5. Representación de las informaciones en memoria
â C.N.Ficher and R.J.LeBlanc: Crafting a Compiler with C. Benjamin Cum-
6. Generación de código intermedio
mings, 1991.
7. Optimización de código intermedio
8. Generación y optimización de código
José Miguel Benedı́ (2012-2013)
jbenedi@dsic.upv.es
Organización de las prácticas
jbenedi@dsic.upv.es
Evaluación
Evaluación de las prácticas
â 1o parcial: Ejercicios de 5 sesiones de trabajo
1o parcial Media de trabajos de las 5 sesiones prácticas:
2o parcial Prueba individual del proyecto:
â 2o parcial: Proyecto de un Compilador
Seminarios
0
1
2
3
4
5
6
7
8
José Miguel Benedı́ (2012-2013)
Lı́mite de entrega del proyecto y prueba individual
Seminarios
Presentación de las prácticas
flex:
Análisis Sintáctico Descendente
bison: Introducción
bison: Errores y conflictos
bison: Atributos y ETDS
Presentación del proyecto
Gestión de utilidades: TDS y GM
Gestión de utilidades: GCI
José Miguel Benedı́ (2012-2013)
Impartición
24-09- 2012
01-10- 2012
22-10- 2012
05-11- 2012
26-11- 2012
10-12- 2012
28-01- 2013
11-02- 2013
04-03- 2013
P1p
P2p
07-06-2013
19-07-2013
Evaluación de la teorı́a
Entrega
−-−- −
22-10-2012
05-11-2012
26-11-2012
10-12-2012
21-12-2012
−-−- −
−-−- −
07-06-2013
Teorı́a por parciales
T = (T1p + T2p)/2
si
Examen de PDL (1-parcial)
Examen de PDL (2-parcial y final)
Examen de PDL (final septiembre)
si AP T O entonces
si no
T1p ≥ 5 y T2p ≥ 3
15-01-2013
07-06-2013
19-07-2013
nota = (0,65 ∗ T ) + (0,05 ∗ P1p) + (0,30 ∗ P2p)
nota = mı́n(0,65 ∗ T, 4)
Nota: Para más información, consultad: (Poliformat >Contenidos >Evaluación)
jbenedi@dsic.upv.es
José Miguel Benedı́ (2012-2013)
jbenedi@dsic.upv.es
Descargar