Giorgio Levi

A worked-out example in interpreter refinements

Denotational semantics

Operational (first-order) semantics

Iterative interpreter

First-order implementation of the environment

Collecting semantics

Syntactic domains

Concrete semantic domains

Run-time structures

Collecting interpreter

Name abstract interpreter

Abstract semantic domains

Abstract semantic evaluation functions

Analyzer

Type interpreter

Unification

Types

Abstract semantic domains

Abstract semantic evaluation functions

Abstract interpreter

Temporary stack size interpreter

Abstract interpreter

Towards specialization

Interpreter with static analysis

Interpreter for specialization

Run-time support

Compiled code for factorial