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
- Apresentação da disciplina: objectivos e funcionamento
- Especificação e Processamento de Linguagens:
- 2.1 Noções básicas de linguagem (sua especificação) e de
processador de linguagens (seu desenvolvimento)
- 2.2 Estado actual da área
- 2.3 Especificação da semântica das linguagens via Gramática de Atributos
- 2.4 Cálculo de Atributos: estratégia de processamento; problemas e soluções
- 2.5 Geração automática de Processadores de Linguagens via GAs
- 2.6 Linguagens Visuais
- Representação do Conhecimento e Meta-informação:
- 3.1 A abordagem gramatical na descrição do meta-conhecimento
- Processamento formal de Documentos:
- 4.1 Estruturação de Documentos; Anotação
- 4.2 Formatação, Transformação e Minagem de Documentos
- 4.3 Semântica dos 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:
- J. A. Saraiva, "Especificação e Processamento de Linguagens", versão 1.0, Textos Pedagógicos, Univ. do Minho, 1995
- 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
- Crespo, R.G. "Processadores de Linguagens: da concepção à implementação", IST-Press, 1998
- Aho & Sethi & Ullman "Compiler Principles, Techniques and Tools", Addison-Wesley, 1986
- Pittman & Peters "The Art of Compiler Design: theory and pratice", Prentice-Hall, 1992
- Waite & Carter "An Introduction to Compiler Construction", HarperCollin College Publishers, 1993
- B. Teufel & S. Schmidt & T. Teufel "C2 Compiler Concepts", Springer-Verlag, 1993
- R. Hunter, "Compiladores: sua concepção e programação em Pascal", Editorial Presença, Colecção Sistemas, 1986
- Andrew W. Appel "Modern Compiler Implementation in Java", Cambridge University Press, 1997
- Andrew W. Appel "Modern Compiler Implementation in C", Cambridge University Press, 1997
- Andrew W. Appel "Modern Compiler Implementation in ML", Cambridge University Press, 1997
- Alexander Augusteijn "Functional Programming, Program Transformation and Compiler Construction", Technische Universiteit Eindhoven, 1993
- Steven S. Muchnick,
"Advanced Compiler Design and Implementation" , 1997
- K.M. Bischoff, "Ox: An Attribute Grammar Compiling System based on Yacc, Lex and C - Tutorial Introduction", 1993
- K.M. Bischoff, "Ox: An Attribute Grammar Compiling System based on Yacc, Lex and C - User Reference Manual", 1993
- M353 Programming and Programming Languages, "Unit 13: Compiling - volume I", The Open University, 1994
- M353 Programming and Programming Languages, "Unit 14: Compiling - volume II", The Open University, 1994
- 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