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


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