5 Error Definitions

Errors in the language described in this definition fall into one of the following three classes:

5.1 static error

An error which is detected during the execution of a EULISP program or which is a violation of the defined behaviour of EULISP. Static errors have two classifications:

  1. Where a conforming processor is required to detect the erroneous situation or behaviour and report it. This is signified by the phrase an error is signalled. The condition class to be signalled is specified. Signalling an error consists of identifying the condition class related to the error and allocating an instance of it. This instance is initialized with information dependent on the condition class. A conforming EULISP program can rely on the fact that this condition will be signalled.
  2. Where a conforming processor might or might not detect and report upon the error. This is signified by the phrase …is an error. A processor should provide a mode where such errors are detected and reported where possible.

If the result of preparation is a runnable program, then that program must signal any static error.

5.2 environmental error

An error which is detected by the configuration supporting the EU LISP processor. The processor must signal the corresponding static error which is identified and handled as described above.

5.3 violation

An error which is detected during the preparation of a EU LISP program for execution, such as a violation of the syntax or static semantics of EULISP in the program under preparation. A conforming processor is required to issue a diagnostic if a violation is detected.

All errors specified in this definition are static unless explicitly stated otherwise.