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


2025/2026

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. Saber definir e validar a sintaxe de uma linguagem estruturada. OA2. Saber manipular árvores de sintaxe abstrata. OA3. Saber concretizar uma linguagem de programação elementar.

Conteúdos Programáticos / Syllabus


CP1. Expressões regulares e tokenização. CP2. Gramáticas livres de contexto e formalismo Backus-Naur (EBNF). CP3. Geradores de parsers e árvores de sintaxe abstrata (AST). CP4. Interpretadores de AST e análise semântica. CP5. Geração de código máquina.

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


OA1 associado a: - CP1 referente ao domínio de uma técnica de tokenização - CP2 referente ao domínio de um formalismo de gramáticas - CP3 referente à utilização de uma tecnologia para construção de parsers OA2 associado a: - CP3 referente à utilização de uma tecnologia para obtenção de ASTs - CP4 referente ao domínio de manipulação de ASTs OA3 associado a: - CP1 referente ao domínio de uma técnica de tokenização - CP2 referente ao domínio de um formalismo de gramáticas - CP3 referente à utilização de uma tecnologia para construção de parsers - CP4 referente à concretização de interpretadores - CP5 referente à concretização de compiladores

Avaliação / Assessment


Avaliação ao longo do semestre: Teste (50%), a entregar no final do semestre Projeto (50%), 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


A UC tem apenas uma tipologia de aulas: prática e laboratorial (PL). Aulas práticas e laboratoriais (PL) - 36h HTC - em blocos de 3h. Primeira parte da aula (aprox. 1h) expositiva onde as matérias relevantes para os exercícios são expostas num estilo demonstrativo. Segunda parte da aula (aprox. 2h) focada na resolução de exercícios, recorrendo às matérias introduzidas na primeira parte. Trabalho autónomo (TA) - resolução dos exercícios disponibilizados nas fichas práticas que não foram concluídos em aula; desenvolvimento do projeto.

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


O alinhamento entre as metodologias de ensino e avaliação e os objetivos de aprendizagem definidos para a UC é realizado da seguinte forma: OA1-OA3 - Aulas práticas e laboratoriais (PL) - Projeto / Teste OA1-OA3 - Trabalho autónomo (TA) - Projeto / Teste O projeto a ser realizado na avaliação ao longo do semestre abrange todos os conteúdos programáticos da UC e os objetivos de aprendizagem, ficando o estudante em plena posse dos conhecimentos mais importantes lecionados nesta UC.

Observações / Observations


.

Bibliografia Principal / Main Bibliography


Martin Fowler, Domain-Specific Languages, Addison-Wesley Signature Series (Fowler), 2010.

Bibliografia Secundária / Secondary Bibliography


Terrence Parr, The Definitive ANTLR 4 Reference (2nd Edition), Pragmatic Bookshelf, 2013.

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


2025-07-17