Couvre la définition d'un langage de programmation simple et sa sémantique à grande échelle, y compris les expressions arithmétiques et les commandes impératives.
Se concentre sur la mise en œuvre d'un vérificateur de type pour Amy, couvrant l'analyse des noms et des types, la génération de contraintes de frappe et l'importance de la vérification de type dans la compilation.