Objetivos e enquadramento

Introdução aos diferentes paradigmas de linguagens de programação e às suas diferentes escolhas/conceitos. Pretende-se estudar as componentes principais das linguagens de programação e algumas das ferramentas usadas para descrever de forma precisa o comportamento das suas primitivas principais.

Programa e conteúdos

  • Introdução aos diferentes paradigmas de linguagens de programação.
  • Sintaxe, semântica e implementação de linguagens. Sistemas de transição.
  • Linguagens de programação imperativas:
    • Conceitos gerais: variáveis, atribuição, instruções de controle, blocos;
    • Semânticas operacionais: máquinas abstratas, semânticas operacionais estruturais;
  • Linguagens de programação funcionais:
    • Conceitos gerais, definição de funções, recursão
    • Sistemas de tipos
    • Semântica operacional
  • Linguagens de programação lógicas:
    • Conceitos gerais: termos, predicados, clausulas