Compile-Time Statements

<compile-time statement>

──┬─<compile-time begin statement>──┬──────────────────────────────────┤
  ├─<compile-time define statement>─┤
  ├─<compile-time for statement>────┤
  ├─<compile-time if statement>─────┤
  ├─<compile-time invoke statement>─┤
  ├─<compile-time let statement>────┤
  ├─<compile-time thru statement>───┤
  └─<compile-time while statement>──┘

Compile-time statements begin with an apostrophe ('), which distinguishes them from other ALGOL constructs. They are recognized at a very primitive level in the compiler and can, therefore, appear almost anywhere (for example, between any two ALGOL language components).

The compile-time statements are intended to provide a method for altering the normal flow of compilation, primarily by conditional and iterative compilation.

Compile-time statements are terminated in the same manner as ALGOL statements.

Note that through the use of compile-time variables, a compile-time arithmetic or Boolean expression can be fully evaluated at compilation time and yet not have the same value each time it is evaluated.