Error messages

The error messages for SNOBOL4 are listed and described on page 180 of the book "The SNOBOL4 Programming Language, Second Edition". Two additional run time messages (29 and 30) are defined for this implementation.

1. Illegal data type

An operation was attempted on a datatype which does not support that operation. An example is adding non-numeric character strings.

2. Error in arithmetic operation

An integer arithmetic overflow occurred, an integer divide by zero was attempted or a similar numeric error occurred.

3. Erroneous array or table reference

An attempt was made to reference a table or array element, when the datatype being referenced was not a table or an array.

4. Null string in illegal context

A null string was specified where one is not legal.

5. Undefined function or operation

A function or operator was used without having it defined first with the DEFINE() or OPSYN() functions.

6. Erroneous prototype

The argument to the ARRAY(), DATA() or DEFINE() functions is syntactically incorrect

7. Unknown keyword

If the keyword prefix operator is used for an undefined keyword, you get this message.

8. Variable not present where required A variable was not specified where required. For example, an attempt to assign a value to an expression would give this error.

9. Entry point of function not label

The label given as an entry point for a function defined with the DEFINE() function does not exist in the program.

10. Illegal argument to primitive function

This message is given if an argument is not acceptable for a primitive function.

11. Reading beyond end of file or nonexistent file

If a read is attempted and the file does not exist, or the end of the file has already been encountered, this message is given.

12. Illegal I/O unit

This message is given when an illegal input/output unit number is given for the ENDFILE(), REWIND(), INPUT() or OUTPUT() functions.

13. Limit on defined data types exceeded

This error is given if more than 899 programmer defined datatypes are defined with the DATA() function.

14. Negative number in illegal context

A negative number is not acceptable as an argument to a primitive function.

15. String overflow

An attempt was made to create a character string longer than &MAXLNGTH (5000 by default) or 32768.

16. Overflow during pattern matching

The pattern matching stack overflowed during a pattern match. Simplify the pattern and be careful not to have infinitely recursive pattern matches.

17. Error in SNOBOL4 system

An internal error has occurred within Minnesota SNOBOL4. Please report this to Berstis International and include complete input data so that the error can be reproduced.

18. Return from level zero

An attempt was made to return from a function when no function was invoked.

19. Failure during goto evaluation

The expression in the goto field of the statement failed, so the goto target could not be computed.

20. Insufficient storage to continue

There is not enough storage available for your program to continue. Minnesota SNOBOL4 uses as much memory as you have installed in your PC.

21. Stack overflow

The function stack has overflowed. Simplify your function calls and look for infinitely recursive function calls.

22. Limit on statement execution exceeded

More than &STLIMIT (50000 by default) statements have been executed. If you want to execute more than this, assign a larger value to the keyword &STLIMIT at the start of your program.

23. Object exceeds size limit

An attempt was made to allocate an object larger than approximately 32K bytes.

24. Undefined or erroneous goto

The target of a goto does not exist.

25. Incorrect number of arguments

A function was called with more arguments than the function was defined to accept.

26. Limit on compilation errors exceeded

More than 50 compilation errors were detected before compilation was terminated.

27. Erroneous end statement

The END statement is missing or syntactically incorrect.

28. Execution of statement with compilation error

During compilation, this statement had a compilation error. It cannot be executed.

29. NAN used in illegal context

A NAN was the operand of a numeric predicate function or an attempt was made to convert a NAN to an integer.

30. Error during write

A write error occurred. The most probable cause is that the disk was full and could not hold a new file or any more data. The file is closed even if there is an error so the data written up to the point of error is usually not lost.

Prior Page, Next Page, First Page of the Minnesota SNOBOL4 Reference