% vim: set spelllang=nl:
\section{Regels} %todo working title
\label{sec:rules}

We zullen nu ieder syntaxelement nader specificeren. Ook zullen regels voor de
natuurlijke semantiek van Smurf worden geïntroduceerd.

De documentatie \cite{safalra} beschrijft niet wat er gebeurt wanneer er niet
genoeg argumenten op de stack staan om een bepaalde instructie uit te voeren.
We kiezen ervoor om het in zulk soort gevallen onmogelijk te maken een
afleidingsboom te maken (in tegenstelling tot bijvoorbeeld een errorstatus aan
de rechterkant van transities toe te voegen), omdat dit het redeneren over
Smurfprogramma's makkelijker zal maken.

\input{ruleslambda}
%\input{rulespush}
\input{ruleshead}
\input{rulestail}
%\input{rulesquotify}
%\input{rulescat}
\input{rulesget}
\input{rulesput}
\input{rulesinput}
%\input{rulesoutput}
\input{rulesexec}

