Nested Control Constructs

You can put control constructs in other control constructs. You can put a decision construct, for example, If…Else, in a loop construct, for example, While. These control constructs are nested.

Nesting levels

You can nest control constructs without limit. To make code easier to read, we recommend that you indent each new level.

If you indent the body of each control construct, then you help make your code easy to read and maintain. But, if you cannot see all your indented code on the screen, then this can be an indication that you nested it too much.

The example that follows is a method to multiply two 3×3 matrixes.

Method Multiply(result(), a(), b() As Real*2)
    Var i, j, k As Int
    For i = 0 To 2
        For j = 0 To 2
            result(i, j) = 0
            For k = 0 To 2
                result(i, j) += a(i, k) * b(k, j)
            End For k
        End For j
    End For i
End Method

Nesting different types of control constructs

TODO

Overlap of control constructs

You cannot have overlap of part of one control construct with a different one. Each control construct must nest fully in the other. If you do not, then the result is a compile-time error.

See also