Languages, Compilers and Interpreters (Cod. 653AA)

Corso di Laurea Magistrale in Informatica

a.a. 2021-22

Teacher:  Roberta Gori, Letterio Galletta


Class Schedule:

Wednesday 14-16 L1 Lab

Thursday 14-16 L1

Friday 9-11 L1

Link to Register with the Course Team


Slides of the Course

Introduzione

Regular Grammars, Deterministic Automata, Non Deterministic Automata

Automata with epsilon transitionas, Regular Expressions, Pumping Lemma, Minimization of a DFA.

DFA Minimization, Context free Languages, Pushdown Automata, Chomsky's Hierarchy.

Lexical Analysis

Introduction to Parsing, Precedence and Ambiguity of Grammars

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

Bottom-up parsing

Action and GOTO Table Construction

Context Sensitive Analysis Attribute Grammar, Ad hoc Syntax Directed Translation

Intermediate Representations

The Procedure Abstraction I and II

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

Code Shape: array, boolean and Control Flow

Optimization: value numbering and loop unrolling

Data-Flow Analyses: Live Variables, Available Expressions and Reaching Definitions.

Static Analyses: Abstract Interpretation.

Local Register Allocation

Global Register Allocation


Program of the course



The Book


Suggested material for exploring specific topics