To show the organization of the course that includes this module, follow this link Course organization
The students will learn the basic notions and techniques at the base of the theory and practice of compiler construction for programming languages. The course aims to provide the students with
- the necessary competences for designing and implementing simple compilers,
- the skills for a competent usage of tools for lexical and syntactical analysis,
- the knowledge of the theoretical notions at the base of the various compilation phases.
The list below gives a tentative programme that the lectures are intended to cover.
The last two points of the list are developed in a series of lab sessions.
The e-learning platform is used to make additional teaching material available to the students (lectures slides, exercises and their solutions, lab material etc.). This is intended to complement the lectures and the text books suggested in the related section.
Programme
* Introduction to the course and to the compilers technology
* Lexical analysis
* Syntactical analysis
* Abstract syntax
* Semantical analysis (type-checking)
* Intermediate code
* Intermediate code generation
* Usage of tools for parser generation
* Construction of a compiler for a simple functional language.
Author | Title | Publisher | Year | ISBN | Note |
Aho, A.V. and Lam, M.S. and Sethi, R. and Ullman, J.D. | Compilatori: Principi, tecniche e strumenti (Edizione 2) | Pearson | 2009 | 978-88-7192-559-2 | |
Torben Egidius Mogensen | Introduction to Compiler Design | Springer-Verlag London | 2011 | 978-0-85729-828-7 |
The exam is a written test consisting of four problems with open answer. The objective of the test is to verify that students have effectively learnt the essential notions and techniques at the base of compilers construction and are able to put them in practice. Each question is evaluated in the range 0-7.5 so that the maximum score that can be achieved is 30/30.
Strada le Grazie 15
37134 Verona
VAT number
01541040232
Italian Fiscal Code
93009870234
© 2021 | Verona University | Credits