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