Languages, Compilers and Interpreters (Cod. 653AA)

Corso di Laurea Magistrale in Informatica

a.a. 2024-25

Teacher:  Roberta Gori, Lorenzo Ceragioli


Class Schedule :

Tuesday 14-16 L1

Thursday 11-13 Fib I (LAB)

Friday 9-11 L1


Link to the Team

Link


Slides of the Course

A brief Introduction to the course

Regular Grammars, Deterministic Automata, Non Deterministic Automata

Lexical Analysis

Introduction to Parsing, Precedence and Ambiguity of Grammars (Corrected Version with Exercise)

Predictive Parsing, LL(k) Grammars, Computation of the set Fist() and Follow()

Bottom-up parsing

Action and GOTO Table Construction (revised version 22 Nov 11:15)

Context Sensitive Analysis Attribute Grammar

The Procedure Abstraction

Introduction to Code generation and Code shape: Expression and case command

Code Shape: array, boolean and Control Flow

Optimization: loop unrolling

Data-Flow Analyses: Live Variables (Revised version 2 Dic)

Fixpoint Theory

Data-Flow Analyses: Available Definitions and Reaching Expressions

Static Analysis and Abstract Interpretation

Abstract Interpretation

Local Register Allocation

Global Register Allocation


Program of the course



The Book


Suggested material for exploring specific topics