Engenharia Gramatical
Programa Resumido
- 1.Linguagens e Gramáticas; Caracterização destes conceitos e domínios do saber.
- 2. Conceitos sobre Gramáticas de Atributos (GA); definição formal; desenvolvimento de GAs (aproximação monolítica versus modular, incremental).
- 3. Processamento de Linguagens baseado em GAs (tradução dirigida pela semântica).
- 3.1 Notações gramaticais;
- 3.2 Geração de Programas (processadores de Linguagens, protótipos rápidos) a partir de GAs.
- 4. O paradigma da Programação baseada em Gramáticas (PG).
- 5. Qualidade de Linguagens; dimensões de avaliação e definição; critérios.
- 6. Qualidade de Gramáticas; dimensões de avaliação e definição; critérios.
- 6.1 Métricas para Avaliar a Qualidade das Gramáticas, quer enquanto formalismo de especificação e geração de linguagens, quer enquanto suporte à geração de programas.
- 7. Ambientes para Manipulação de Gramáticas.
Resultados de Aprendizagem Específicos
- Capacidade para desenvolver especificações da sintaxe/semântica de linguagens e problemas em geral com gramáticas de atributos.
- Capacidade para gerar programas (protótipos) usando ferramentas automáticas baseadas em gramáticas de atributos.
- Capacidade para gerar ou utilizar ambientes de desenvolvimento estruturais e orientados à semântica.
- Capacidade para discutir a qualidade de Linguagens e Gramáticas,
- Capacidade para medir Gramáticas e avaliar a sua qualidade.
- Capacidade para desenvolver ambientes para Manipulação de Gramáticas.
Metodologia de Ensino e Avaliação
- As aulas de 2h tem sempre um cariz teórico-prático. Em cada aula:
- no início é sempre feito um balanço da aula anterior e discutidos os trabalhos ou questões propostos;
- depois algum tempo é dedicado a levantar questões teóricas e a apresentar as diferentes aproximações e metodologias que suportam a sua resolução; esta parte, embora de carácter teórico, desenvolve-se sempre em forma de diálogo com os alunos.
- continua-se a aula numa parte mais prática em que os alunos são convidados a pesquisar e fazer uma sintese do que há já escrito sobre o assunto; ou então a desenvolver experimentação de ferramentas ou implementação de algorimtos.
- A avaliação é feita com base em trabalhos entregues pelos alunos, resolvidos foras das aulas mas defendidos perante a turma. Os trabalhos para avaliação são de dois tipos:
- monografias, com sinteses dos temas pesquisados;
- trabalhos de implementação.
Bibliografia recomendada
- 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.
- James F. Power and Brian A. Malloy, "A metrics suite for grammar-based software". Journal of Software Maintenance and Evolution: Research and Practice, Vol 16, Nº 6, pp 405-426, 2004.
- Julien Cervelley, Matej Crepin¨ek, Rémi Foraxy, Toma¸ Kosar, Marjan Mernik and Gilles Roussel, "On Defining Quality Based Grammar Metrics". Proceedings of the International Multiconference on Computer Science and Information Technology, pp. 651–658, 2009.
- Tiago Alves and Joost Visser, "A Case Study in Grammar Engineering". Lecture Notes in Computer Science, Volume 5452/2009, pp 285-304, 2009.
- John M. Roche, "Software metrics and measurement principles", SIGSOFT Softw. Eng. Notes, ACM, volume 19, number 1, 1994.
- Tom Mens, Serge Demeyer, "Future trends in software evolution metrics", Proceedings of the 4th International Workshop on Principles of Software Evolution, ACM, 2001.
- Norman Fenton, Martin Nail, "Software metrics: roadmap", Proceedings of the Conference on The Future of Software Engineering, ACM 2000.
|
|
 Copyright © by the contributing authors. All material on this collaboration platform is the property of the contributing authors. Ideas, requests, problems regarding TWiki? Send feedback
|
|