Conteúdo / Main content
Menu Rodapé
  1. Início
  2. Cursos
  3. Engenharia Informática
  4. Linguagens de Programação e Compiladores

Linguagens de Programação e Compiladores

Código 14460
Ano 1
Semestre S1
Créditos ECTS 6
Carga Horária PL(30H)/T(30H)
Área Científica Informática
Objectivos de Aprendizagem • Compreender a contribuição dos compiladores para a fiabilidade dos sistemas de software;
• Compreender os diferentes aspectos das linguagens de programação através da sua compilação;
• Compreender os mecanismos subjacentes à compilação: a tradução de uma linguagem para outra, a sua otimização e a funcionalidade das diferentes fases;
• Compreender a relação entre linguagem de alto nível, representação intermédia, análises e optimizações;
• Compreender o processo de geração de código para arquitecturas de computadores modernas, incluindo máquinas virtuais;
• Implementar um compilador para uma linguagem de programação realista ou extender uma já existente;
• Selecionar ferramentas modernas para implementar partes de compiladores e interpretar a sua funcionalidade; e
• Comunicar os resultados obtidos de forma clara e precisa, utilizando um relatório técnico.
Conteúdos programáticos A. Programação Assembly RISC-V
B. Sintaxe abstracta, semântica e interpretadores
C. Análise lexical e sintáctica
D. Tipagem
E. Estratégias de avaliação e passagem de parâmetros
F. Compiladores de linguagens funcionais e orientadas a objectos
G. Optimização do compilador
H. Alocação de memória
Metodologias de Ensino e Critérios de Avaliação Para que os alunos adquiram as competências necessárias, estão previstas:
• 2h/semana de aulas teóricas (TE) para apresentação oral dos conceitos teóricos, métodos e algoritmos, recorrendo também à escrita no quadro, à discussão de ideias com os alunos e à apresentação de diapositivos;
• 2h/semana de aulas prático-laboratoriais (PL), em que o aluno aplicará e testará os conceitos, métodos e algoritmos apresentados nas aulas teóricas, através de guias laboratoriais que os alunos efectuam nos computadores;
Bibliografia principal Alfred V. Aho, Monica S. Lam, Ravi Sethi et Jeffrey D. Ullman. Modern Compilers: Principles, Techniques, and Tools.
Benjamin C. Pierce. Types and Programming Languages.
Randal E. Bryant et David R. O'Hallaron. Computer Systems: A Programmer's Perspective.
Língua Português
Data da última atualização: 2024-09-23
As cookies utilizadas neste sítio web não recolhem informação pessoal que permitam a sua identificação. Ao continuar está a aceitar a política de cookies.