Code |
11567
|
Year |
3
|
Semester |
S1
|
ECTS Credits |
6
|
Workload |
PL(30H)/T(30H)
|
Scientific area |
Informatics
|
Entry requirements |
--
|
Mode of delivery |
Face-to-face
|
Work placements |
Not applicable
|
Learning outcomes |
General Objectives: This course presents the main stages of the construction of a compiler or a language processor. Learning outcomes of the Course Unit: Students will acquire the following skills: - Designing compilers - Develop, plan, design and implement language processors under certain lexical and syntactic rules - Design and implement software in various stages that are related to compilers - Understand the inner details of programming languages and their compilers.
|
Syllabus |
1. Introduction: the problem, the context, the language processing in computer technology, the architecture of a compiler. 2. Lexical analysis, finite automata, grammars and regular expressions. Processing of regular languages 3. Parsing: pushdown automata, algebraic grammars, descending and ascending analysis. 4. Semantic analysis: attribute grammars, tables of symbols, inference and type checking. 5. Code Generation
|
Main Bibliography |
- "Compiladores : Princípios, Técnicas e Ferramentas", 1995; Alfred V. Aho, Ravi Sethi e Jeffrey D. Ullman; LTC - Livros Técnicos e Científicos Editora, S.A.; ISBN: 85- 216- 1057- 2. - "Processadores de Linguagens. Da concepção à implementação", 1998; Rui Gustavo Crespo; IST Press; ISBN : 972- 8469- 01- 2. - "Lex & Yacc", 1990; Tony Manson e Doug Brown; O’Reilly & Associates; ISBN : 0- 937175- 49- 8.
|
Language |
Portuguese. Tutorial support is available in English.
|