= The Imp programming language <chapter-imp>

In this chapter we will go over the implementation of a simple -- but Turing
complete -- imperative language called *Imp*, as described in
@software-foundations. After defining its syntax, we will give rules for its
semantics and show its implementation in Agda. After this introductory work, we
will discuss our implementation of transformations on Imp programs.

#include "./introduction.typ"
#include "./semantics.typ"
#include "./analysis/index.typ"
#include "./related.typ"
