The course provides the students with the necessary skills for the design and implementation of simple compilers and interpreters. At the end of the course the student will be able to apply the acquired notions on the theory of compiler constructions for a knowledgeable use of compiler tools such as parser generators and for the design of static analysers.
The list below gives a tentative programme that the lectures are intended to cover in a period of at least 44 hours.
The last two points of the list are supported by a series of lab sessions taking additional 12 hours.
The e-learning platform is used to make extra 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.
* 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.
|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 Aegidius Mogensen||Introduction to Compiler Design||Springer||2011||978-0857298287|
|Nielson, F., Nielson, H.R., Hankin, C.||Principles of Program Analysis (Edizione 2)||Springer-Verlag||2005||ISBN 3-540-65410-0|
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 compiler 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. The `laude' is assigned to manuscripts that clearly show the student's mastery of the course topics.
Strada le Grazie 15
VAT number 01541040232
Italian Fiscal Code 93009870234
© 2020 | Verona University | Credits