<h2>Syntax</h2>
<emu-grammar>
  IterationStatement[Yield, Await, Return] :
    `do` Statement[?Yield, ?Await, ?Return] `while` `(` Expression[+In, ?Yield, ?Await] `)` `;`
    `while` `(` Expression[+In, ?Yield, ?Await] `)` Statement[?Yield, ?Await, ?Return]
    `for` `(` [lookahead &lt;! {`let [`}] Expression[~In, ?Yield, ?Await]? `;` Expression[+In, ?Yield, ?Await]? `;` Expression[+In, ?Yield, ?Await]? `)` Statement[?Yield, ?Await, ?Return]
    `for` `(` `var` VariableDeclarationList[~In, ?Yield, ?Await] `