\subsection{Aritmatische expressies}
Het uitrekenen van een arithmatische expressie in \textit{Piet} moet in
verschillende stappen gebeuren. Volgens de regels van de wiskunde worden er
telkens binaire operaties uitgevoerd tot het vereenvoudigd is tot een enkele
numerieke waarde. Het opvragen van variabelen uit het geheugen word in een
volgende subsectie besproken en we gaan er nu van uit dat dat een triviale
operatie is die een of twee variabelen boven aan zetten op een gekozen
volgorde.\\
Na het opvragen van variabele $n$ wordt de variabele boven aan gezet en krijgen
de andere variabelen automatisch andere nummers. De variabelen met een positie
strict kleiner dan $n$ krijgen een positie verhoging van $1$ en de variabelen
met een positie strict groter dan $n$ krijgen een positie verlaging van $1$.\\
Bijvoorbeeld bij de expressie $1+1$ is de eerste stap twee keen een $1$ op de
stack duwen en vervolgens de binare $+$ operator toe te passen en dat gaat als
volgt:\\
\textbf{While} $x := 1 + 1$\\
\textbf{Piet}
\begin{tabular}{cccc}
	{\color{red}\#} &
	{\color{dred}\#} &
	{\color{lred}\#} &
	{\color{lyellow}\#}
\end{tabular}\\
\textbf{Piet'} $push 1, push 1, add$\\

\textbf{While} $x := y + 3 * 2$\\
\textbf{Piet}
\begin{tabular}{cccccccc}
	{\color{red}\#} & {\color{dred}\#} & {\color{dred}\#} & {\color{lred}\#}
	{\color{dyellow}\#} & ...variable retrieval... & {\color{dyellow}\#} & 
	{\color{dgreen}\#}\\
	{\color{red}\#} & {\color{dred}\#}\\
\end{tabular}\\
\textbf{Piet'} $push 2, push 3, mul, get y, add$\\

\subsection{Booleaanse expressies}
Het evalueren van booleaanse expressies gaat hetzelfde als aritmatische
expressies, het enige verschil is dat er binnen de booleanse operatoren
operatoren bestaan die niet voorkomen in \textit{Piet} en deze moeten dus
herschreven worden. De operatoren die herschreven worden zijn: $=, \leq,
\wedge\\
\begin{array}{ll}
	a \wedge b 	& a*b\\
	a = b 		& not(a-b)>0\\
	a \leq b	& \neg(a>b)
\end{array}$\\
\textbf{While} $3=2\wedge 3\leq 4$\\
\textbf{Piet}
\begin{tabular}{ccccccccccccccc}
	{\color{red}\#} & {\color{dred}\#} & {\color{lred}\#} & {\color{yellow}\#}
	& {\color{dyellow}\#} & {\color{lyellow}\#} & {\color{dgreen}\#} &
	{\color{dmagenta}\#} & {\color{lyellow}\#} & {\color{yellow}\#} &
	{\color{blue}\#} & {\color{dred}\#} & {\color{magenta}\#} &
	{\color{dmagenta}\#} & {\color{green}\#}\\
	{\color{red}\#} & {\color{dred}\#} & & & & & & & {\color{lyellow}\#} &
	{\color{yellow}\#}\\
	{\color{red}\#} & & & & & & & & {\color{lyellow}\#} & {\color{yellow}\#}\\
	 & & & & & & & & & {\color{yellow}\#}
\end{tabular}\\
\textbf{Piet'} $push 3, push 2, sub, push 1, push 1, sub, gre, not, push 3,
                push 4, gre, not, add, push 1, gre$\\
