Yorick has three types of loops:

while (condition) body_statement
do body_statement  while (condition)
for (
init_expr ; test_expr ; inc_expr) body_statement

The init_expr and inc_expr of a for loop may be comma delimited lists of expressions. They or the test_expr may be omitted. In particular, for (;;) ... means ``do forever''. If there is a test_expr, the body_statement of the for loop will execute until it becomes false (possibly never executing). After each pass, but before the test_expr, the inc_expr executes. A for loop to make N passes through its body_statement might look like this:

for (i=1 ; i<=N ; i++) body_statement

Within a loop body, the following statements are legal:

break exit the current loop now 
continue abort the current pass through the current loop

For more complex flow control, Yorick supports a goto:
goto label go to the statement after label
label: statement mark statement as a goto target