% vim: set spelllang=nl:
\section{CleanSmurf}
\label{sec:cleansmurf}

Semantiekregels laten zich uiterst gemakkelijk vertalen naar een implementatie
van de taal in een functionele stijl. \emph{CleanSmurf}~\cite{cleansmurf} is
een interpreter voor Smurf, geschreven in Clean, dat onze semantiekregels
volgt. Omdat het de semantiekregels volgt, was het niet lastig dit uit te
breiden naar een programma dat een afleidingsboom genereert. In dit hoofdstuk
beschrijven we de globale opzet van dit programma.

\input{cleansmurf-types}
\input{cleansmurf-rules}
\input{cleansmurf-trees}
\input{cleansmurf-proofs}
