Currículo

Engenharia de Linguagens de Programação ELP

Contextos

Groupo: Escola de Tecnologias e Arquitetura > Optativas > Departamento de Ciências e Tecnologias da Informação > 1º Ciclo

ECTS

6.0 (para cálculo da média)

Objectivos

OA1. Conhecer as principais características das diferentes linguagens de programação e ambientes de execução. OA2. Saber especificar linguagens estruturadas utilizando gramáticas regulares. OA3. Saber definir a sintaxe de uma linguagem de programação utilizando gramáticas livres de contexto. OA4. Saber validar código ao nível semântico. OA5. Concretizar geração de código máquina. OA6. Conhecer estratégias de otimização na geração de código. OA7. Conhecer estratégias de gestão automática de memória.

Programa

CP1. Panorâmica das diferentes linguagens de programação e suas características. CP2. Gramáticas regulares, expressões regulares. CP3. Análise lexical e tokenização. CP4. Gramáticas livres de contexto e formalismo Backus-Naur (EBNF). CP5. Geradores de parsers e árvore de sintaxe abstrata (AST). CP6. Linguagens interpretadas. CP7. Análise semântica. CP8. Geração de código máquina. CP9. Estratégias elementares de otimização ao nível da AST e do código máquina gerado. CP10. Gestão automática de memória.

Método de Avaliação

Avaliação periódica: Teste intercalar (40%), a realizar a meio do semestre Projeto (60%), a entregar e defender durante o período de avaliação (época de exames) Não é possível ser aprovado na UC sem realizar o Projeto, não existindo a possibilidade de avaliação por Exame para 100%. A avaliação em Época Especial consiste na entrega e discussão do Projeto, sendo obrigatório que o mesmo tenha sido iniciado e acompanhado pelo docente durante o período letivo.

Carga Horária

Carga Horária de Contacto -

Trabalho Autónomo - 95.0

Carga Total -

Bibliografia

Principal

  • Pedro Reis Santos, Thibault Langlois, Compiladores - da teoria à prática, FCA, 2014. Alfred V. Aho, Monica S. Lam, Ravi Sethi, and Jeffrey D. Ullman, Compilers: Principles, Techniques, and Tools (2nd edition), Pearson Education, 2006. :

Secundária

  • Terrence Parr, The Definitive ANTLR 4 Reference (2nd Edition), Pragmatic Bookshelf, 2013. Martin Fowler, Domain-Specific Languages, Addison-Wesley Signature Series (Fowler), 2010.:

Disciplinas de Execução

2024/2025 - 2º Semestre

2025/2026 - 2º Semestre

2022/2023 - 2º Semestre

2023/2024 - 2º Semestre