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