Processamento de Linguagens
Mestrado em Informática

Curso de Especialização em Informática

2002/2003

Equipa Docente
Estrutura do Curso
Objectivos
Programa
Sistema de Avaliação

1- Equipa Docente


2- Estrutura do Curso

O curso de processamento de linguagens está organizado em duas partes distintas: uma componente de seminários em que serão brevemente apresentados os conceitos teóricos da teoria da compilação e onde serão feitas demonstrações de todas as ferramentas/bibliotecas que apoiam o curso. Existirá ainda uma componente laboratorial onde os alunos terão a possibilidade de, em frente ao computador, exercitar/validar os conceitos apresentados nos seminários, construindo para tal alguns processadores de linguagens.
3- Objectivos

Pretende-se com este curso introduzir os conceitos associados ao processamento de linguagens formais de modo a desenvolver as capacidades dos alunos para:
  • Especificar formalmente linguagens formais
    • quer linguagens de programação (Haskell, Java, etc),
    • quer linguagens de domínio específico (BibTeX, Linguagens de Interrogação, XML, XQuery, etc )
  • Construir processadores de linguagens correctos e eficientes baseados nestas especificações formais

    No curso serão analisados os seguintes exemplos:
    • Um Compilador de MicroC para MSP (uma máquina de stack)
    • Um Processador de BibTeX
    • Uma Folha de Cálculo de Estudantes
    • Um Processador de Documentos Genérico
  • Construir representações alindadas ("Pretty Printing") para linguagens formais
    • Será apresentada e utilizada uma linguagem de domínio específico para construir uma representação alindada de MicroC e BibTex
    • E uma outra para a geração de documentos (por exemplo, este documento foi gerado por esta ferramenta: ver roda pé da página)
  • Programar com bibliotecas de combinadores A grande maioria das ferramentas utilizadas neste curso são bibliotecas (muito simples) de funções que se combinam facilmente para criar ferramentas poderosas.
  • Programar com gramáticas de atributos
  • Embeber linguagens de domínio específico em linguagens de domínio geral
    • Parser (BNF) e Unparsing em Haskell e em Gramáticas de Atributos
    • XML e XQuery em Haskell e em Gramáticas de Atributos
    • etc
  • Construir ambientes de programção
    • No curso será utilizado o sistema Lrc.

4- Programa


5- Sistema de Avaliação

A avaliação tem uma componente teórica e uma componente prática. A nota teórica será obtida através da realização de 1 prova individual escrita. A componente prática será obtida através da realização de um projecto individual ou em grupo.


Pagina mantida por:

João Saraiva

jas@di.uminho.pt
Page produced by a Tool generated by LRC from the XML document mestrado.xml

Last Change on Wed Jan 22 19:12:26 2003