\subsection{Variabelen}
+\subsubsection{Verschil met \textit{While}}
+Omdat \textit{Piet} geen variabelen opslag kent moeten we de variabelenopslag
+van \textit{While} emuleren. Dit wordt gedaan door steeds een diepte toe te
+kennen aan variabelen en bij het assignen van een variabele wordt deze in de
+stack gestopt en onthouden welke diepte hij heeft om het zo via de onderstaande
+algorithmen op te kunnen rakelen. Binnen de algorithmen wordt $n$ gebruikt als
+diepte van de variabele(beginnende bij $1$) en $m$ als het aantal variabelen op
+de stack bij aanvang van het opvragen.
+
+\subsubsection{Unair vaste waarde}
+Bij het opvragen van een vaste waar
+$Get(n)$
+
+\subsubsection{Unair}
+Als er een operator uitgevoerd wordt die slechts \'e\'en waarde vraagt van de
+stack hoeft er slechts \'e\'en waarde boven aan de stack gezet te worden en dit
+gaat met de volgende operaties bij $n>1$:\\
+push $n$, push $n-1$, roll, dup, push $n+1$, push $1$, roll
+\begin{table}[H]
+ \centering
+ \caption{Voorbeeld, $n=3$}
+ \scriptsize
+ \begin{tabular}{|c|c|c|c|c|c|c|c|}
+ \hline
+ init &
+ push $3$ & push $3-1$ & roll & dup & push $3+1$ & push $1$ & roll\\
+ \hline
+ 5 & 3 & 2 & 2 & 2 & 4 & 1 & 2 \\\hline
+ 6 & 5 & 3 & 5 & 2 & 2 & 4 & 5 \\\hline
+ 2 & 6 & 5 & 6 & 5 & 2 & 2 & 6 \\\hline
+ 1 & 2 & 6 & 1 & 6 & 5 & 2 & 2 \\\hline
+ 3 & 1 & 2 & 3 & 1 & 6 & 5 & 1 \\\hline
+ & 3 & 1 & & 3 & 1 & 6 & 3 \\\hline
+ & & 3 & & & 3 & 1 & \\\hline
+ & & & & & & 3 & \\\hline
+ \end{tabular}
+\end{table}
+Voor $n=1$ voldoen de volgende operaties:\\
+dup\\
+Dit algorithme beschrijven we als $Un(n)$ voor later gebruik.
+
+
+\subsubsection{Binair}
+Als er een operator uitgevoerd wordt die twee waardes vraagt van de stack
+worden deze boven elkaar boven op de stack gekopieert met de volgende
+operaties:\\
+$Un(n_1), Un(n_2+1)$
+\begin{table}[H]
+ \centering
+ \caption{Voorbeeld, $n_1=2, n_2=4$}
+ \scriptsize
+ \begin{tabular}{|c|c|c|c|c|c|c|c|c|c|c|c|c|c|c|}
+ \hline
+ & \multicolumn{7}{c|}{$Un(2)$} & \multicolumn{7}{c|}{$Un(4+1)$}\\
+ \hline
+ init &
+ push $2$ & push $3$ & roll & dup & push $3$ & push $1$ & roll &
+ push $5$ & push $4$ & roll & dup & push $6$ & push $1$ & roll\\
+ \hline
+ 5 & 2 & 3 & 6 & 6 & 3 & 1 & 6 & 5 & 4 & 1 & 1 & 6 & 1 & 1 \\\hline
+ 6 & 5 & 2 & 5 & 6 & 6 & 3 & 5 & 6 & 5 & 6 & 1 & 1 & 6 & 6 \\\hline
+ 2 & 6 & 5 & 2 & 5 & 6 & 6 & 6 & 5 & 6 & 5 & 6 & 1 & 1 & 5 \\\hline
+ 1 & 2 & 6 & 1 & 2 & 5 & 6 & 2 & 6 & 5 & 6 & 5 & 6 & 1 & 6 \\\hline
+ 3 & 1 & 2 & 3 & 1 & 2 & 5 & 1 & 2 & 6 & 2 & 6 & 5 & 6 & 2 \\\hline
+ & 3 & 1 & & 3 & 1 & 2 & 3 & 1 & 2 & 3 & 2 & 6 & 5 & 1 \\\hline
+ & & 3 & & & 3 & 1 & & 3 & 1 & & 3 & 2 & 6 & 3 \\\hline
+ & & & & & & 3 & & & 3 & & & 3 & 2 & \\\hline
+ & & & & & & & & & & & & & 3 & \\\hline
+ \end{tabular}
+\end{table}
+
+\subsubsection{Assignment}
+Het toewijzen van waarden aan variabelen kost in \textit{Piet} een stuk meer
+werk omdat \textit{Piet} alle variabelen in een stack bewaard. Net als bij het
+opvragen hebben de variabelen een nummer in plaats van een naam. Bij een
+toewijzing wordt de waarde, $m$, bovenop de stack toegewezen aan de variabele
+met de diepte, $n$, gerekend zonder de waarde bovenop de stack mee te tellen.
+En dat gaat met de volgende operaties voor $n>1$:\\
+push $m$, push $n+1$, push $n$, roll, pop, push $n$, push $1$, roll
+\begin{table}[H]
+ \centering
+ \caption{Voorbeeld, $n=4, m=7$}
+ \scriptsize
+ \begin{tabular}{|c|c|c|c|c|c|c|c|c|}
+ \hline
+ init & push 7 & push 5 & push 3 & roll & pop & push 4 & push 1 & roll\\
+ \hline
+ 5 & 7 & 5 & 3 & 9 & 7 & 4 & 1 & 5 \\\hline
+ 3 & 5 & 7 & 5 & 7 & 5 & 7 & 4 & 3 \\\hline
+ 4 & 3 & 5 & 7 & 5 & 3 & 5 & 7 & 4 \\\hline
+ 9 & 4 & 3 & 5 & 3 & 4 & 3 & 5 & 7 \\\hline
+ 1 & 9 & 4 & 3 & 4 & 1 & 4 & 3 & 1 \\\hline
+ 5 & 1 & 9 & 4 & 1 & 5 & 1 & 4 & 5 \\\hline
+ & 5 & 1 & 9 & 5 & & 5 & 1 & \\\hline
+ & & 5 & 1 & & & & 5 & \\\hline
+ & & 5 & & & & & & \\\hline
+ \end{tabular}
+\end{table}
+
+Voor $n=1$ voldoen de volgende operaties:\\
+push $2$, push $1$, roll, pop
+
+\begin{landscape}
+\subsubsection{Groot voorbeeld}
+We wijzen variabele $5$ de waarde van variabele $3$ $+$ variabele $2$ toe.
+\begin{table}[H]
+ \centering
+ \caption{Groot voorbeeld}
+ \tiny
+ \begin{tabular}{|c|c|c|c|c|c|c|c|c|c|c|c|c|c|c|c|c|c|c|c|c|c|c|}
+ \hline
+ & \multicolumn{7}{c|}{$Un(3)$} &
+ \multicolumn{7}{c|}{$Un(2)$} &
+ Addition &
+ \multicolumn{7}{c|}{$Ass(5)$}\\
+ \hline
+ init &
+ push $3$ & push $2$ & roll & dup & push $4$ & push $1$ & roll &
+ push $3$ & push $2$ & roll & dup & push $4$ & push $1$ & roll &
+ add &
+ push $6$ & push $5$ & roll & pop & push $5$ & push $1$ & roll\\
+ \hline
+ 4 & 3 & 2 & 1 & 1 & 4 & 1 & 1 & 3 & 2 & 6 & 6 & 4 & 1 & 6 & 7 & 6 & 5
+ & 7 & 7 & 5 & 1 & 7 \\\hline
+ 6 & 4 & 3 & 4 & 1 & 1 & 4 & 4 & 1 & 3 & 1 & 6 & 6 & 4 & 1 & 4 & 7 & 6
+ & 7 & 4 & 7 & 5 & 4 \\\hline
+ 1 & 6 & 4 & 6 & 4 & 1 & 1 & 6 & 4 & 1 & 4 & 1 & 6 & 6 & 4 & 6 & 4 & 7
+ & 4 & 6 & 4 & 7 & 6 \\\hline
+ 2 & 1 & 6 & 1 & 6 & 4 & 1 & 1 & 6 & 4 & 1 & 4 & 1 & 6 & 6 & 1 & 6 & 4
+ & 6 & 1 & 6 & 4 & 1 \\\hline
+ 7 & 2 & 1 & 2 & 1 & 6 & 4 & 2 & 1 & 6 & 2 & 1 & 4 & 1 & 1 & 2 & 1 & 6
+ & 1 & 2 & 1 & 6 & 2 \\\hline
+ 8 & 7 & 2 & 7 & 2 & 1 & 6 & 7 & 2 & 1 & 7 & 2 & 1 & 4 & 2 & 7 & 2 & 1
+ & 2 & 8 & 2 & 1 & 7 \\\hline
+ & 8 & 7 & 8 & 7 & 2 & 1 & 8 & 7 & 2 & 8 & 7 & 2 & 1 & 7 & 8 & 7 & 2
+ & 8 & & 8 & 2 & 8 \\\hline
+ & & 8 & & 8 & 7 & 2 & & 8 & 7 & & 8 & 7 & 2 & 8 & & 8 & 7
+ & & & & 8 & \\\hline
+ & & & & & 8 & 7 & & & 8 & & & 8 & 7 & & & & 8
+ & & & & & \\\hline
+ & & & & & & 8 & & & & & & & 8 & & & &
+ & & & & & \\\hline
+ \end{tabular}
+\end{table}
+\end{landscape}