Languages and Compilers

A.Y. 2018/2019
6
Max ECTS
48
Overall hours
SSD
INF/01
Language
Italian
Learning objectives
La teoria dei linguaggi formali è una delle discipline centrali dell'informatica; l'uso delle grammatiche da essa studiate non solo permette di definire in modo conciso ed esatto insiemi infiniti (come ad esempio: i programmi sintatticamente corretti, i documenti HTML validi, i file XML ben formati, gli indirizzi email o le URL aderenti allo standard), ma consente anche vari tipi di trattamento automatico dei medesimi. In particolare, permette di definire traduttori che, sfruttando la struttura grammaticale, conseguono obiettivi di grande complessità ed utilità (come, ad esempio: la compilazione, interpretazione e transpilazione del codice, l'individuazione di errori di programmazione, l'estrazione di informazioni strutturate ).

Questo insegnamento ha per obiettivo l'apprendimento degli aspetti teorici e algoritmici dei linguaggi formali coinvolti nelle attività di definizione e uso delle grammatiche, analisi e traduzione e di metterli in pratica attraverso la realizzazione di programmi concreti relativi a semplici casi di studio.
Expected learning outcomes
Undefined
Single course

This course cannot be attended as a single course. Please check our list of single courses to find the ones available for enrolment.

Course syllabus and organization

Milan

Responsible
Lesson period
Second semester
Course syllabus
The theory of Formal Languages ​​is one of the central disciplines in Computer Science. The use of grammars defined by such discipline not only allows to describe concisely and precisely infinite sets (like for example: syntactically correct programs, valid HTML documents, well-formed XML files, e-mail addresses or URLs adhering to standards), but also allows various types of automatic processing of the same sets. In particular, it allows the definition of translators that, based on such grammatical structures, achieve result of notable complexity and utility (such as: compilation, interpretation and transpilation of the code, the identification of programming errors, and the extraction of structured information..).

This course aims to teach the theoretical and algorithmic aspects of Formal Languages ​​involved in the activities definition and use of grammars, analysis and translation, and to practice such concepts through the implementation of concrete programs addreessing simple case studies.
INF/01 - INFORMATICS - University credits: 6
Lessons: 48 hours
Professor: Santini Massimo
Professor(s)
Reception:
http://santini.dsi.unimi.it/d/ricevimento.html
room 5007, via Celoria, 18