Ficha Unidade Curricular (FUC)

Informação Geral / General Information


Código :
03871
Acrónimo :
ELP
Ciclo :
1.º ciclo
Línguas de Ensino :
Português (pt)
Língua(s) amigável(eis) :
Português

Carga Horária / Course Load


Semestre :
2
Créditos ECTS :
6.0
Aula Teórica (T) :
18.0h/sem
Aula Teórico-Prática (TP) :
0.0h/sem
Aula Prática e Laboratorial (PL) :
36.0h/sem
Trabalho de Campo (TC) :
0.0h/sem
Seminario (S) :
0.0h/sem
Estágio (E) :
0.0h/sem
Orientação Tutorial (OT) :
1.0h/sem
Outras (O) :
0.0h/sem
Horas de Contacto :
55.0h/sem
Trabalho Autónomo :
95.0
Horas de Trabalho Total :
150.0h/sem

Área científica / Scientific area


Ciências e Tecnologias da Programação

Departamento / Department


Departamento de Ciências e Tecnologias da Informação

Ano letivo / Execution Year


2022/2023

Pré-requisitos / Pre-Requisites


Algoritmos e Estruturas de Dados Programação Orientada para Objetos

Objetivos Gerais / Objectives


Abordar a engenharia de linguagens de programação utilizando métodos e ferramentas atuais, nas perspectivas de interpretação e compilação.

Objetivos de Aprendizagem e a sua compatibilidade com o método de ensino (conhecimentos, aptidões e competências a desenvolver pelos estudantes) / Learning outcomes


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.

Conteúdos Programáticos / Syllabus


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.

Demonstração da coerência dos conteúdos programáticos com os objetivos de aprendizagem da UC / Evidence that the curricular units content dovetails with the specified learning outcomes


OA1: CP1 OA2: CP2 OA3: CP3, CP4, CP6 OA4: CP7 OA5: CP7, CP8, CP9, CP10 OA6: CP9 OA7: CP10

Avaliação / Assessment


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.

Metodologias de Ensino / Teaching methodologies


Serão utilizadas as seguintes metodologias de ensino-aprendizagem(MEA): MEA1: Expositivas, para apresentação da motivação para as matérias abordadas e demonstração de aplicações práticas MEA2: Participativas, através da resolução de exercícios práticos. MEA3: Argumentativas, através de um acompanhamento próximo e discussão das opções seguidas nos projetos.

Demonstração da coerência das metodologias de ensino e avaliação com os objetivos de aprendizagem da UC / Evidence that the teaching and assessment methodologies are appropriate for the learning outcomes


OA1: MEA1 OA2: MEA1, MEA2 OA3: MEA1, MEA3 OA4: MEA2, MEA3 OA5: MEA2, MEA3 OA6: MEA1, MEA2 OA7: MEA1, MEA2

Observações / Observations


.

Bibliografia Principal / Main Bibliography


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.

Bibliografia Secundária / Secondary Bibliography


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

Data da última atualização / Last Update Date


2024-02-16