analyse while
[sec1415.git] / an_while_statement.tex
index d58071b..be40d1d 100644 (file)
@@ -1 +1,30 @@
 \subsection{While statement}
+De \textit{while} constructie in \textit{While} van de vorm while $b$ do $S$ 
+kan worden gerepresenteerd in \textit{Piet} door de representatie van $b$ na een 
+wit blokje te volgen door een pointer die op basis van het bovenste element op de 
+stack de richting van de interpreter aanpast. Op het laaste blokje van dit commando 
+volgen in 2 richtingen twee verschillende paden, waarbij 1 pad correspondeert met 
+$S$ en het andere pad met het einde van de loop.
+In dit voorbeeld representeert het eerste blok een willekeurige boolean $b$, deze 
+word na een wit blokje gevolgt door het pointer commando. Hierna splitsen de paden 
+zich op: als de boolean 0 oplevert draait de richting van de interpreter 0 slagen met 
+de klok mee en gaat dus rechtdoor, als de boolean 1 oplevert draait van de richting 
+van de interpreter 1 slag met de klok mee en gaat dus naar rechts. Het pad na rechts 
+word na een aantal witte blokjes gevolgt door de representatie van $S$. Hierna volgt 
+weer een aantal witte blokjes waardoor het pad uiteindelijk uitkomt bij het begin van 
+boolean $b$.\\ 
+
+\textbf{While} while $b$ do $S$ \\
+
+\textbf{Piet}
+\begin{tabular}{ccccccccccccc}
+\color{lgray}\_ & \color{lgray}\_ & \color{orange}$\ast$ & \color{lgray}$\ast$ & \color{lgray}$\ast$\\
+\color{lgray}\_ & & \color{lgray}$\ast$ & \color{lgray}$\ast$ & \color{lgray}$\ast$\\
+\color{lgray}\_ & & \color{lgray}$\ast$ & \color{lgray}$\ast$ & \color{dorange}$\ast$ & 
+\color{lgray}\_ & \color{red}\# &  \color{dcyan}\# & \color{lgray}\_\\
+\color{lgray}\_ & & & & & & &  \color{lgray}\_\\
+\color{lgray}\_ & & & & & & &  \color{lgray}\_\\
+\color{lgray}\_ & \color{lgray}\_  & \color{lgray}\_  & \color{dorange}$\ast$ &  \color{lgray}$\ast$ &  \color{orange}$\ast$ & \color{lgray}\_ & \color{lgray}\_ \\
+ & & & \color{lgray}$\ast$ & \color{lgray}$\ast$ &  \color{lgray}$\ast$ \\
+ & & & \color{lgray}$\ast$ & \color{lgray}$\ast$ &  \color{lgray}$\ast$ \\
+\end{tabular}
\ No newline at end of file