Planificaciones: 7516 - Lenguajes de Programación
Planificaciones: 7516 - Lenguajes de Programación
Planificaciones: 7516 - Lenguajes de Programación
Planificaciones
7516 - Lenguajes de Programación
1 de 11
7516 - Lenguajes de Programación PLANIFICACIONES Actualización: 2ºC/2018
OBJETIVOS
Aprender el significado (semántica) de las distintas componentes de un programa para la verificación y
corrección de los mismos.
Aprender a través de distintos enfoques el aspecto semántico del diseño de distintos lenguajes de
programación.
Aprender a traducir formalmente lenguajes de programación.
CONTENIDOS MÍNIMOS
-
PROGRAMA SINTÉTICO
Unidad I Semántica operacional
Máquina abstracta. Configuración, relación de transición y estado. Configuración inicial y final. Run de la máquina.
Unidad IV Compiladores
Analizador léxico. Analizador sintáctico. Recuperación de errores. Generación y optimización de código.
PROGRAMA ANALÍTICO
Unidad 1: Semántica operacional
.
Definición de las componentes de un lenguaje de programación. Uso de la semántica formal: inplementación,
verificación y diseño de lenguajes de programación. Definición de un sistema de transición. Máquina abstracta:
configuración y su relación de transición. Estado. Configuración inicial y final. Run de la máquina.
Definición. Semántica de corrientes variables. Valor derecho y valor izquierdo. Diagramas de Stranchey.
Ambiente y Estado. Semántica de expresiones, comandos. Función cambio de Estado. Significado de
comandos, de declaraciones y de programas.
Semántica axiomática de Hoare con precondición y postcondición. Semánticas axiomáticas de Floyd con
aserciones para corrección de programa. Semántica axiomática de Dijkstra: Comandos de Dijkstra.
Precondición más débil. Axiomas. Corrección parcial, global y total de programas. Invariantes de un ciclo.
Función Variante.
Unidad 4: Compiladores
Compiladores. Analizador léxico. Analizador sintáctico descendente recursivo. Códigos intermedios. Traducción
dirigida por la sintaxis. Manejo de errores en el análisis léxico y en el análisis sintáctico. Errores
semánticos. Recuperación de errores. Generación y optimización de código.
BIBLIOGRAFÍA
- Formal Semantics of Programming Languages
by Glynn Winskel
Foundations of Computing
- Discipline of programming
by E.W.Dijkstra Prentice Hall
2 de 11
7516 - Lenguajes de Programación PLANIFICACIONES Actualización: 2ºC/2018
RÉGIMEN DE CURSADA
Metodología de enseñanza
- Clases teórico-prácticas
Exposición teórica de conceptos fundamentales, con resolución metódica de problemas tipo y ensayos sobre
objetivos.
- Clases prácticas
Resolución, por parte de los alumnos y controlada por los docentes auxiliares, de problemas correspondientes a
las unidades temáticas del programa, ya sea por escrito o por computadora (programas). En general se
tratará de problemas abiertos, que generen dudas y motiven la consulta a los docentes y la profundización del
conocimiento a través de la bibliografía. Durante el curso se plantearán trabajos prácticos con problemas
complejos a resolver por programación, que los alumnos deberán desarrollar individualmente.
- Clases de consulta
3 de 11
7516 - Lenguajes de Programación PLANIFICACIONES Actualización: 2ºC/2018
CALENDARIO DE CLASES
Semana Temas de teoría Resolución Laboratorio Otro tipo Fecha entrega Bibliografía
de problemas Informe TP básica
<1> Semántica operacional Ejercitación de inserción - Programming
09/03 al 14/03 de aserciones en un Languages Design and
programa con la Implementation by
semántica T. Pratt y M.
operacional de Floyd Zelkowitz Editorial
Prentice Hall
- Formal Semantics of
Programming
Languages
by Glynn Winskel -
Foundations of
Computing
- Formal specification
of programming
languages
by Frank G. Pagan
Editorial Prentice
Hall
- Programming
Language Theory and
its Implementation
Michael
J.C.Gordon - Prentice
Hall International.
- Programming
Languages Design and
Implementation
by T. Pratt y
M.Zelkowitz
Editorial Prentice
Hall
- Formal specification
of programming
languages
by Frank G. Pagan
Editorial Prentice
Hall
- Programming
Language Theory and
its Implementation
by Michael
J.C.Gordon - Prentice
Hall International.
- Java y UML de
Carlos Fontela
Ed. Nueva Libreria
4 de 11
7516 - Lenguajes de Programación PLANIFICACIONES Actualización: 2ºC/2018
Semana Temas de teoría Resolución Laboratorio Otro tipo Fecha entrega Bibliografía
de problemas Informe TP básica
Implementation
by T. Pratt y
M.Zelkowitz
Editorial Prentice
Hall
- Formal specification
of programming
languages
by Frank G. Pagan
Editorial Prentice
Hall
- Programming
Language Theory and
its Implementation
by Michael
J.C.Gordon - Prentice
Hall International.
- Semantics of
Programming
Languages:
Structures and
Techniques.
by Carl Gunter -
MIT Press, Cambridge,
Massachusetts
- Formal specification
of programming
languages
by Frank G. Pagan
Editorial Prentice
Hall
- Programming
Language Theory and
its Implementation
by Michael
J.C.Gordon - Prentice
Hall International.
- Semantics of
Programming
Languages:
Structures and
Techniques.
by Carl Gunter -
MIT Press, Cambridge,
Massachusetts
<5> Semántica Ejercitación acerca del - Formal Semantics of
06/04 al 11/04 denotacional significado de distintas Programming
instrucciones en Languages
distintos lenguajes de by Glynn Winskel -
programación en Foundations of
Semántica Computing
Denotacional
5 de 11
7516 - Lenguajes de Programación PLANIFICACIONES Actualización: 2ºC/2018
Semana Temas de teoría Resolución Laboratorio Otro tipo Fecha entrega Bibliografía
de problemas Informe TP básica
- Programming
Languages Design and
Implementation
by T. Pratt y
M.Zelkowitz
Editorial Prentice
Hall
- Formal specification
of programming
languages
by Frank G. Pagan
Editorial Prentice
Hall
- Programming
Language Theory and
its Implementation
by Michael
J.C.Gordon - Prentice
Hall International.
- Java y UML de
Carlos Fontela
Ed. Nueva Libreria
- Programming
Languages Design and
Implementation
by T. Pratt y
M.Zelkowitz
Editorial Prentice
Hall
- Formal specification
of programming
languages
by Frank G. Pagan
Editorial Prentice
Hall
- Programming
Language Theory and
its Implementation
by Michael
J.C.Gordon - Prentice
Hall International.
- Java y UML de
Carlos Fontela
Ed. Nueva Libreria
6 de 11
7516 - Lenguajes de Programación PLANIFICACIONES Actualización: 2ºC/2018
Semana Temas de teoría Resolución Laboratorio Otro tipo Fecha entrega Bibliografía
de problemas Informe TP básica
by Glynn Winskel -
Foundations of
Computing
- Programming
Languages Design and
Implementation
by T. Pratt y
M.Zelkowitz
Editorial Prentice
Hall
- Formal specification
of programming
languages
by Frank G. Pagan
Editorial Prentice
Hall
- Programming
Language Theory and
its Implementation
by Michael
J.C.Gordon - Prentice
Hall International.
- Java y UML de
Carlos Fontela
Ed. Nueva Libreria
- Programming
Languages Design and
Implementation
by T. Pratt y
M.Zelkowitz
Editorial Prentice
Hall
- Formal specification
of programming
languages
by Frank G. Pagan
Editorial Prentice
Hall
- Programming
Language Theory and
its Implementation
by Michael
J.C.Gordon - Prentice
Hall International.
- Java y UML de
Carlos Fontela
Ed. Nueva Libreria
7 de 11
7516 - Lenguajes de Programación PLANIFICACIONES Actualización: 2ºC/2018
Semana Temas de teoría Resolución Laboratorio Otro tipo Fecha entrega Bibliografía
de problemas Informe TP básica
combinación
- Formal Semantics of
Programming
Languages
by Glynn Winskel -
Foundations of
Computing
- Programming
Languages Design and
Implementation
by T. Pratt y
M.Zelkowitz
Editorial Prentice
Hall
- Formal specification
of programming
languages
by Frank G. Pagan
Editorial Prentice
Hall
- Programming
Language Theory and
its Implementation
by Michael
J.C.Gordon - Prentice
Hall International.
- Java y UML de
Carlos Fontela
Ed. Nueva Libreria
- Introducción a la
programación
sistemática
de N.Wirth Ed. El
Ateneo.
- Compiladores
Conceptos
fundamentales
de Teufel-Schmidt-
Teufel
Ed. Addison-
Wesley Iberoamericana
- Introducción a la
programación
sistemática de
N.Wirth Ed. El Ateneo.
- Compiladores
Conceptos
fundamentales de
Teufel-Schmidt-Teufel
Ed. Addison-
Wesley Iberoamericana
8 de 11
7516 - Lenguajes de Programación PLANIFICACIONES Actualización: 2ºC/2018
Semana Temas de teoría Resolución Laboratorio Otro tipo Fecha entrega Bibliografía
de problemas Informe TP básica
<12> Compiladores Análisis semántico - Construcción de
25/05 al 30/05 compiladores de
Kenneth Louden
Ed.Thomson
Internacional
- Introducción a la
programación
sistemática de
N.Wirth Ed. El Ateneo.
- Compiladores
Conceptos
fundamentales de
Teufel-Schmidt-Teufel
Ed. Addison-
Wesley Iberoamericana
- Introducción a la
programación
sistemática de
N.Wirth Ed. El Ateneo.
- Compiladores
Conceptos
fundamentales de
Teufel-Schmidt-Teufel
Ed. Addison-
Wesley Iberoamericana
- Introducción a la
programación
sistemática de
N.Wirth Ed. El Ateneo.
- Compiladores
Conceptos
fundamentales de
Teufel-Schmidt-Teufel
Ed. Addison-
Wesley Iberoamericana
- Introducción a la
programación
sistemática de
N.Wirth Ed. El Ateneo.
- Compiladores
Conceptos
fundamentales de
Teufel-Schmidt-Teufel
Ed. Addison-
Wesley Iberoamericana
9 de 11
7516 - Lenguajes de Programación PLANIFICACIONES Actualización: 2ºC/2018
Semana Temas de teoría Resolución Laboratorio Otro tipo Fecha entrega Bibliografía
de problemas Informe TP básica
22/06 al 27/06 compilador compiladores de
Kenneth Louden
Ed.Thomson
Internacional
- Introducción a la
programación
sistemática de
N.Wirth Ed. El Ateneo.
- Compiladores
Conceptos
fundamentales de
Teufel-Schmidt-Teufel
Ed. Addison-
Wesley Iberoamericana
10 de 11
7516 - Lenguajes de Programación PLANIFICACIONES Actualización: 2ºC/2018
CALENDARIO DE EVALUACIONES
Evaluación Parcial
11 de 11