The checker is invoked automatically before execution. It takes
at most a few seconds, showing <#8083#>Checking...<#8083#> on the status line.
It checks, amongst others, the following:
- is every applied name defined exactly once?
- do types match in
- source and destination of an assignation?
- all parts of a conditional?
- a numerical choice?
- are all operations defined for the type of operands given?
- are all conditions of type <#8087#>BOOL<#8087#>?
- are all indices and bounds of type <#8088#>INT<#8088#>?
- are all identifiers, used as bounds, synonym identifiers?
- are only rows subscripted?
- are only fields selected from?
Furthermore, it performs the identification of generic algorithms,
reporting errors by giving a backtrace.