| | | corso | | | | |
Languages, compilers and interpreters
Codice: | 653AA | Crediti: | 9 | Semestre: | 2 | Sigla: | LCI | |
|
Settore disciplinare: | INF/01 - Informatica |
Docente
Pierpaolo Degano
Tel. 0502212757Ultima versione disponibile: programma da confermare per l’a.a. 2017/2018
English Description
The course teaches the core of compilation, program analysis techniques used in compilers and software development tools to improve productivity and reliability. Emphasis on the methodology of applying formal abstractions to writing complex software, using compilers as an example. The course will explore the basic static techniques that are the cornerstone of a variety of program analysis tools, including optimizing compilers, just-in-time compilers, program verifiers, bug finders and code refactoring tools. As case studies, tools developed within the LLVM Compiler Infrasctructure will be analysed and used in experimentations. - Abstract Machines, Compilation and Interpretation - Lexical Analysis and Lexical Analyser Generators - Parsing and Parser Generators - Static analysis - Intermediate Code Generation - Optimization - Runtime Support - Just-in-time compilation