S → repeat S1 while B

L1      = newlabel()
L2      = newlabel()
B.true  = L1
B.false = S.next
S1.next = L2
S.code  = label(L1) || S1.code || label(L2) || B.code