Departamento de Informática (UM)

Página de Unidade Curricular 🇬🇧

DesignaçãoCódigoCursoRegimeRegente

Processamento de Linguagens

14317 [J306N4]

Licenciatura em Engenharia Informática [ENGINF]

S6

José Carlos Leite Ramalho

Objetivos

Programa

1. Introdução ao Processamento de Linguagens
2. Linguagens Regulares e Análise Léxica
3. Análise Sintática
4. Análise Semântica e Transformação especificada via Gramáticas Tradutoras

Bibliografia

Pedro Reis Santos & Thibault Langlois, "Compiladores – Da Teoria à Prática", FCA, 2014.

R. G. Crespo, "Processadores de Linguagens: da concepção à implementação", IST-Press, 1998.

Aho & Sethi & Ullman, "Compiler Principles, Techniques and Tools", Addison-Wesley, 1986.

William Waite & Carter, "An Introduction to Compiler Construction", HarperCollin College Publishers, 1993.

Dick Grune & Kees van Reeuwijk & Henri E. Bal & Ceriel J.H. Jacobs & Koen Langendoen, "Modern Compiler Design", 2nd. edition, Springer, 2012.

Resultados da aprendizagem

- Especificar linguagens de domínio específico através de gramáticas;
- Desenvolver processadores para essas linguagens com base na respetiva gramática;
- Extrair dados de um texto com base em regras de produção (padrão-ação) baseadas em expressões regulares;
- Transformar qualquer texto num outro formato com base em regras de produção (padrão-ação) baseadas em expressões regulares;
- Usar programas que produzem programas com base em especificações formais (geradores de analisadores léxicos e de compiladores);
- Adquirir conhecimentos sobre autómatos como modelos formais de máquinas de estado e base de reconhecedores de frases guiados por tabela;
- Utilizar ferramentas genéricas de informática em ambiente Linux baseadas em expressões regulares, em grafos ou outras.

Método de avaliação

A avaliação da aprendizagem envolve: um trabalho de desenvolvimento experimental, a realizar em grupo, consubstanciando uma componente de carácter individual. Tanto a componente individual (teste ou exame) como a componente de grupo (trabalhos práticos) têm limite de execução temporal bem definido, nunca excedendo o período lectivo.
A classificação final é dada na forma:
- 40% da classificação provém da componente prática de grupo;
- 60% da classificação provém da componente individual
sendo obrigatório ter classificação positiva em todos os instrumentos de avaliação.

Funcionamento

Turno: T 1; Docente: José Carlos Leite Ramalho; Dep.: DI; Horas: 30.
Turno: PL 1; Docente: Sofia Guilherme Rodrigues Santos; Dep.: DI; Horas: 30.
Turno: PL 2; Docente: Tiago João Fernandes Baptista; Dep.: DI; Horas: 30.
Turno: PL 3; Docente: José João Antunes Guimarães Dias Almeida; Dep.: DI; Horas: 30.
Turno: PL 4; Docente: Pedro Manuel Rangel Santos Henriques; Dep.: DI; Horas: 30.
Turno: PL 5; Docente: Sofia Guilherme Rodrigues Santos; Dep.: DI; Horas: 30.
Turno: PL 6; Docente: José João Antunes Guimarães Dias Almeida; Dep.: DI; Horas: 30.

[ Outras UCs do Departamento ]