Pour traduire la boucle While on ajoute une étiquette optionnelle en paramètre à la fonction d'évaluation. Cette étiquette est propagée au travers des séquences. La traduction de l'instruction Break utilise cette étiquette. Les autres instructions ignorent cet argument et se traduisent comme auparavant.
[[While (e, s)]]sr= Stm [   [[While (e, s)]]er, l; Label l   ] l est une étiquette fraîche
[[Break ]]sr, l = Jump l
[[Seqence [s1; ... sn]]]sr,l = [[s1]]sr, l; ...; [[s]]sr, l
[[s]]sr, l = [[s]]sr