Eoanermine/draft

Executes once, then executes  and  repeatedly, until the value of  becomes false. The test takes place before each iteration.

Explanation
The above syntax produces code equivalent to:

Except that @1@ Names declared by the (if  is a declaration) and names declared by  (if condition is a declaration) are in the same scope (which is also the scope of ). @2@ continue in the will execute @3@ Empty is equivalent to

If the execution of the loop needs to be terminated at some point, break statement can be used as terminating statement.

If the execution of the loop needs to be continued at the end of the loop body, continue statement can be used as shortcut.

As is the case with while loop, if is a single statement (not a compound statement), the scope of variables declared in it is limited to the loop body as if it was a compound statement.