% 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}