1 \subsection{While statement
}
2 De
\textit{while
} constructie in
\textit{While
} van de vorm while $b$ do $S$
3 kan worden gerepresenteerd in
\textit{Piet
} door de representatie van $b$ na een
4 wit blokje te volgen door een pointer die op basis van het bovenste element op de
5 stack de richting van de interpreter aanpast. Op het laaste blokje van dit commando
6 volgen in
2 richtingen twee verschillende paden, waarbij
1 pad correspondeert met
7 $S$ en het andere pad met het einde van de loop.
8 In dit voorbeeld representeert het eerste blok een willekeurige boolean $b$, deze
9 word na een wit blokje gevolgt door het pointer commando. Hierna splitsen de paden
10 zich op: als de boolean
0 oplevert draait de richting van de interpreter
0 slagen met
11 de klok mee en gaat dus rechtdoor, als de boolean
1 oplevert draait van de richting
12 van de interpreter
1 slag met de klok mee en gaat dus naar rechts. Het pad na rechts
13 word na een aantal witte blokjes gevolgt door de representatie van $S$. Hierna volgt
14 weer een aantal witte blokjes waardoor het pad uiteindelijk uitkomt bij het begin van
17 \textbf{While
} while $b$ do $S$ \\
20 \begin{tabular
}{ccccccccccccc
}
21 \color{lgray
}\_ &
\color{lgray
}\_ &
\color{orange
}$
\ast$ &
\color{lgray
}$
\ast$ &
\color{lgray
}$
\ast$\\
22 \color{lgray
}\_ & &
\color{lgray
}$
\ast$ &
\color{lgray
}$
\ast$ &
\color{lgray
}$
\ast$\\
23 \color{lgray
}\_ & &
\color{lgray
}$
\ast$ &
\color{lgray
}$
\ast$ &
\color{dorange
}$
\ast$ &
24 \color{lgray
}\_ &
\color{red
}\# &
\color{dcyan
}\# &
\color{lgray
}\_\\
25 \color{lgray
}\_ & & & & & & &
\color{lgray
}\_\\
26 \color{lgray
}\_ & & & & & & &
\color{lgray
}\_\\
27 \color{lgray
}\_ &
\color{lgray
}\_ &
\color{lgray
}\_ &
\color{dorange
}$
\ast$ &
\color{lgray
}$
\ast$ &
\color{orange
}$
\ast$ &
\color{lgray
}\_ &
\color{lgray
}\_ \\
28 & & &
\color{lgray
}$
\ast$ &
\color{lgray
}$
\ast$ &
\color{lgray
}$
\ast$ \\
29 & & &
\color{lgray
}$
\ast$ &
\color{lgray
}$
\ast$ &
\color{lgray
}$
\ast$ \\