Teoria da Compilação
Mestrado em Informática
1998/99

Docentes

Pedro Rangel Henriques (Responsável)
José Carlos Ramalho

Objectivos

Clarificar a noção de processamento de linguagens formais, caracterizando o estado actual desta área de investigação.
Apresentar as gramáticas de atributos como formalismo para especificar a semântica das linguagens e discutir a sua influência na implementação de processadores de linguagens, bem como a sua utilização como suporte à construção de geradores automáticos de reconhecedores.
Sistematizar a forma de implementar a componente de tradução.
Mostrar a aplicação da abordagem gramatical à especificação genérica, usando linguagens formais para descrever meta-informação.
Introduzir novos tópicos de investigação nesta área, nomeadamente, as linguagens visuais e o processamento formal de documentos.

Programa

  1. Apresentação da disciplina: objectivos e funcionamento
  2. Especificação e Processamento de Linguagens:
  3. Representação do Conhecimento e Meta-informação:
  4. Processamento formal de Documentos:

Sistema de Avaliação

A Avaliação tem apenas uma componente teórico-prática --dissertação sobre alguns tópicos desenvolvidos ao longo do semestre, e especificação dum problema concreto--, de acordo com o caracter do curso.
A nota final, na escala de 0 a 20 cf. a regulamentação em vigor, será obtida através da realização de 2 provas escritas propostas ao longo do semestre -avaliação contínua- e nesse caso será a média das 2 notas, ou então através da realização dum exame escrito final.

Facultativamente os alunos poderão resolver um exercíco prático de implementação de um processador de linguagens, mas tal não intervém na nota.

Bibliografia

Material bibliográfico proposto para apoio ao curso:

  1. J. A. Saraiva, "Especificação e Processamento de Linguagens", versão 1.0, Textos Pedagógicos, Univ. do Minho, 1995
  2. Henriques, P.R. "Atributos e Modularidade na Especificação de Linguagens Formais", Tese de Doutoramento, Univ. do Minho, 1992 --capt.s 2, 6.1, 4, 3 e 7; apd.s B, C e F
  3. Crespo, R.G. "Processadores de Linguagens: da concepção à implementação", IST-Press, 1998
  4. Aho & Sethi & Ullman "Compiler Principles, Techniques and Tools", Addison-Wesley, 1986
  5. Pittman & Peters "The Art of Compiler Design: theory and pratice", Prentice-Hall, 1992
  6. Waite & Carter "An Introduction to Compiler Construction", HarperCollin College Publishers, 1993
  7. B. Teufel & S. Schmidt & T. Teufel "C2 Compiler Concepts", Springer-Verlag, 1993
  8. R. Hunter, "Compiladores: sua concepção e programação em Pascal", Editorial Presença, Colecção Sistemas, 1986
  9. Andrew W. Appel "Modern Compiler Implementation in Java", Cambridge University Press, 1997
  10. Andrew W. Appel "Modern Compiler Implementation in C", Cambridge University Press, 1997
  11. Andrew W. Appel "Modern Compiler Implementation in ML", Cambridge University Press, 1997
  12. Alexander Augusteijn "Functional Programming, Program Transformation and Compiler Construction", Technische Universiteit Eindhoven, 1993
  13. Steven S. Muchnick, "Advanced Compiler Design and Implementation" , 1997
  14. K.M. Bischoff, "Ox: An Attribute Grammar Compiling System based on Yacc, Lex and C - Tutorial Introduction", 1993
  15. K.M. Bischoff, "Ox: An Attribute Grammar Compiling System based on Yacc, Lex and C - User Reference Manual", 1993
  16. M353 Programming and Programming Languages, "Unit 13: Compiling - volume I", The Open University, 1994
  17. M353 Programming and Programming Languages, "Unit 14: Compiling - volume II", The Open University, 1994
  18. M353 Programming and Programming Languages, "Unit 15: Compiling - volume III", The Open University, 1994


Pedro Rangel Henriques
Tue Oct 20 08:08:01 WET 1998