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

Linguagens de Programação e Compiladores

Código 15659
Ano 2
Semestre S1
Créditos ECTS 6
Carga Horária PL(30H)/T(30H)
Área Científica Informática
Learning outcomes • Understand the contribution of compilers to the reliability of software systems;
• Understand the different aspects of programming languages through their compilation;
• Understand the mechanisms underlying compilation: the translation from one language to another, its optimization and the functionality of the different phases;
• Understand the relationship among high-level language, intermediate representation, analysis and optimization;
• Understand the process of generating code for modern computer architectures, including virtual machines;
• Implement a compiler for a realistic programming language or extend an existing one;
• Select modern tools to implement parts of compilers and interpret their functionality; and
• Communicate the results obtained clearly and precisely, using a technical report.
Syllabus A. RISC-V Assembly programming
B. Abstract syntax, semantics and interpreters
C. Lexical and syntactic analysis
D. Typing
E. Evaluation strategies and parameter passing
F. Compilers for functional and object-oriented languages
G. Compiler optimization
H. Memory allocation
Teaching Methodologies and Assessment Criteria The contents of this curricular unit are exposed in theoretical classes (expositive and interactive methods), and its practical aspect is explored in practical laboratory classes. Each type of class has two weekly contact hours.
Practical classes are governed by laboratory guides that students run on laboratory computers. The proposed individual and group works are designed so that students develop the technical skills described in the objectives by designing and implementing labs. The theoretical and practical components are evaluated using three main elements:
- Labs 60% - 12 Values;
- Project 40% - 8 Values.
Main Bibliography 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.
Language Portuguese. Tutorial support is available in English.
Data da última atualização: 2025-01-15
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.