CLC-INTERCAL Reference

... Errors

This is a complete list of error codes generated by CLC-INTERCAL 1.-94.-3. Each code has an error message associate with it. Note that older versions of CLC-INTERCAL may generate different errors.

Table of contents:

Numerical listing of error codes

CodeMessage
*0invalid statement
*1Not implemented: description
*4Unknown read type for Roman numerals: type
*8Base must be between 2 and 7 (got base)
*9Invalid I/O Type: type
*10Invalid character set: name
*69Invalid bytecode (code) for item
*70Invalid register number "register"
*109Invalid character (code) for charset
*123Program attempted more than number levels of NEXTing
*128Cannot use JUNK in this grammar
*129Could not find label label
*130Cannot decide between number instances of label label
*131Invalid label label
*241Array not dimensioned
*242Non-class value used as class
*243Array register used as value
*244Class register used as value
*245Non-array register used as array
*247Attempt to use special register name
*250Invalid value value assigned to class
*251Invalid value in array element: reason
*252Cannot use overload register name
*253Invalid lecture: reason
*254Invalid subject: reason
*256This register cannot hold a value
*257Normal register used as special
*274Number value too large for number of spots
*276Invalid subscript value: reason
*277Impossible assignment (base base): cannot find #X such that #operationX is #result
*279Invalid number of subscripts: number provided, number required
*280Invalid array: reason
*281Invalid number: reason
*369Thread thread ID does not exist
*398Invalid context: explanation
*432Not suitable for operation
*433Not a valid register: register
*436Register name stashed away too well
*437Cannot operation numbers
*438Numbers cannot operation
*443Cannot make new opcode opcode
*444Cannot convert opcode to opcode
*445Cannot swap opcode and opcode
*456No splat
*457Invalid splat number
*511Register name is not a slave
*512Register slave does not belong to register master
*513Slave name does not have number owners (just number)
*514Invalid owner number: value
*534Wrong number of digits for base base: number
*535Invalid symbol: name
*555Multiple "COME FROM" label
*578Invalid bytecode pattern in name: problem
*603Class war between class and class
*621Pointless RESUME
*632Program terminated via RESUME
*633Falling off the edge of the program
*634Internal error: explanation
*641Invalid I/O mode mode
*642Input output error in file: error
*643Seek/tell error: problem
*644I/O error: problem
*660Undefined system call number
*661Missing system call number
*662Unary division by zero
*664Program is too large
*666statement does not have a quantum version
*699Not in a lecture
*700Invalid language: language
*701Value written in is not a number: value
*702Value written in is larger than two spots
*751Invalid event: BODY WHILE CONDITION
*752Cannot assign value: reason
*774Compiler error
*775Unexplainable compiler error
*796operation is forbidden in INTERCAL-1972
*799No class teaches subjects number
*815Creation not allowed: reason
*816CREATE statement misconfiguration: reason
*818Circular reasoning in symbol
*822Register name is not a student
*823Subject number is not in register's curriculum
*898Error in Regular Grimace: problem
*899INTERcal NETwork error talking to server: error
*997Illegal operator name for base base
*999Lecture at label is too early

Nearly Alphabetical listing of error codes

CodeMessage
*0invalid statement
*666statement does not have a quantum version
*796operation is forbidden in INTERCAL-1972
*241Array not dimensioned
*243Array register used as value
*247Attempt to use special register name
*8Base must be between 2 and 7 (got base)
*816CREATE statement misconfiguration: reason
*437Cannot operation numbers
*752Cannot assign value: reason
*444Cannot convert opcode to opcode
*130Cannot decide between number instances of label label
*443Cannot make new opcode opcode
*445Cannot swap opcode and opcode
*128Cannot use JUNK in this grammar
*252Cannot use overload register name
*818Circular reasoning in symbol
*244Class register used as value
*603Class war between class and class
*774Compiler error
*129Could not find label label
*815Creation not allowed: reason
*898Error in Regular Grimace: problem
*633Falling off the edge of the program
*644I/O error: problem
*899INTERcal NETwork error talking to server: error
*997Illegal operator name for base base
*277Impossible assignment (base base): cannot find #X such that #operationX is #result
*642Input output error in file: error
*634Internal error: explanation
*9Invalid I/O Type: type
*641Invalid I/O mode mode
*280Invalid array: reason
*69Invalid bytecode (code) for item
*578Invalid bytecode pattern in name: problem
*109Invalid character (code) for charset
*10Invalid character set: name
*398Invalid context: explanation
*751Invalid event: BODY WHILE CONDITION
*131Invalid label label
*700Invalid language: language
*253Invalid lecture: reason
*279Invalid number of subscripts: number provided, number required
*281Invalid number: reason
*514Invalid owner number: value
*70Invalid register number "register"
*457Invalid splat number
*254Invalid subject: reason
*276Invalid subscript value: reason
*535Invalid symbol: name
*250Invalid value value assigned to class
*251Invalid value in array element: reason
*999Lecture at label is too early
*661Missing system call number
*555Multiple "COME FROM" label
*799No class teaches subjects number
*456No splat
*245Non-array register used as array
*242Non-class value used as class
*257Normal register used as special
*433Not a valid register: register
*1Not implemented: description
*699Not in a lecture
*432Not suitable for operation
*274Number value too large for number of spots
*438Numbers cannot operation
*621Pointless RESUME
*123Program attempted more than number levels of NEXTing
*664Program is too large
*632Program terminated via RESUME
*512Register slave does not belong to register master
*511Register name is not a slave
*822Register name is not a student
*436Register name stashed away too well
*643Seek/tell error: problem
*513Slave name does not have number owners (just number)
*823Subject number is not in register's curriculum
*256This register cannot hold a value
*369Thread thread ID does not exist
*662Unary division by zero
*660Undefined system call number
*775Unexplainable compiler error
*4Unknown read type for Roman numerals: type
*702Value written in is larger than two spots
*701Value written in is not a number: value
*534Wrong number of digits for base base: number

Description of error messages

*815 Creation not allowed: reason
A CREATE (or DESTROY) statement attempted something illegal.

*130 Cannot decide between number instances of label label
A NEXT or STUDY refers to a label which is multiply defined. This may be an unintended effect of using computed labels.

*131 Invalid label label
A NEXT or STUDY refers to a label which is not valid, for example zero or too large.

*129 Could not find label label
A NEXT or STUDY refers to an undefined label.

*578 Invalid bytecode pattern in name: problem
A bytecode pattern specified in an optimiser contained a problem.

*128 Cannot use JUNK in this grammar
A grammar used the special predefined symbol JUNK but did not provide enough evidence that it knows what to do with it.

*253 Invalid lecture: reason
A lecture is being defined (e.g. by STUDY) but something went wrong.

*245 Non-array register used as array
A non-array register (or a simple value) was used where the system would like an array.

*242 Non-class value used as class
A number or array was used where a class would be better.

*899 INTERcal NETwork error talking to server: error
A problem was encountered while talking to a theft server.

*632 Program terminated via RESUME
A program RESUMEd more than NEXTed.

*621 Pointless RESUME
A program attempted to RESUME #0.

*276 Invalid subscript value: reason
A subscript is zero or greater than the size of the array.

*244 Class register used as value
A value was assigned to a class register, or a class register was used for arithmetic.

*534 Wrong number of digits for base base: number
An arithmetic calculation in the specified base resulted in a number with too many digits.

*274 Number value too large for number of spots
An arithmetic calculation intended for the given number of spots resulted in a number too large to fit there.

*251 Invalid value in array element: reason
An array is being created, but assignment to one of its elements provided an invalid value, such as another array.

*243 Array register used as value
An array was used where a number would be more appropriate.

*369 Thread thread ID does not exist
An attempt was made to duplicate or kill a thread which does not exist; it may have already terminated or it has never been created.

*69 Invalid bytecode (code) for item
An expression or overload contains bytecode designed for use in statements; or conversely a statement contains an expression bytecode where the interpreter doesn't expect it.

*277 Impossible assignment (base base): cannot find #X such that #operationX is #result
Assigning to a unary operator is sometimes impossible.

*751 Invalid event: BODY WHILE CONDITION
Before you can use it you must CONVERT it to a CONDITION WHILE BODY (or you must SWAP them).

*699 Not in a lecture
Cannot FINISH LECTURE unless there is one.

*254 Invalid subject: reason
Class registers can be used only in special ways. This wasn't one of them.

*664 Program is too large
Either the source or the comnpiled code exceeded some built-in arbitrary limits.

*123 Program attempted more than number levels of NEXTing
INTERCAL programs aren't supposed to do that.

*457 Invalid splat number
Invalid splat. This is likely to happen when you assign to the '*' expression.

*799 No class teaches subjects number
Maybe it's some kind of holiday?

*997 Illegal operator name for base base
Maybe you forgot to include the appropriate compiler option for the correct base? Or used the wrong suffix? Or you overloaded the base and so can't tell what base you are using for calculations?

*823 Subject number is not in register's curriculum
Program attempted to LEARN something, but the register is not in the right class.

*280 Invalid array: reason
Program attempted to create an array (for example by dimensioning a tail or hybrid register) but something went wrong.

*999 Lecture at label is too early
Program attempted to define a lecture before 1000. That's way too early.

*661 Missing system call number
Program attempted to make a system call but did not provide a system call number.

*641 Invalid I/O mode mode
Program attempted to open a filehandle using a silly code for the I/O mode. It won't work.

*666 statement does not have a quantum version
Program attempted to run a statement in quantum mode, but the statement cannot do that.

*662 Unary division by zero
Program attempted unary division by zero.

*775 Unexplainable compiler error
Program encountered a compiler error, even though the "compiler error" has been disabled by a compiler option.

*774 Compiler error
Program encountered a compiler error.

*660 Undefined system call number
Program made a system call but the system did not know what to do about it.

*456 No splat
Program used the splat (*) operator to find out the code of the last splat, but the program hasn't splatted yet.

*818 Circular reasoning in symbol
Recursion is acceptable, but here the problem is that the symbol is defined as being identical to itself, which is true but not useful.

*257 Normal register used as special
Somehow the program managed to use a normal register (spot, two spot, tail, hybrid, whirlpool) as a special (double-oh-seven, shark fin). May indicate a compiler bug.

*642 Input output error in file: error
Something bad happened.

*398 Invalid context: explanation
Something was used in the wrong place.

*241 Array not dimensioned
Subscripts have been applied to an array register which has not been dimensioned; or they have been applied to a non-array register.

*10 Invalid character set: name
The compiler attempted to set an invalid default character set. Try using one of ASCII, Baudot, EBCDIC or Hollerith.

*9 Invalid I/O Type: type
The compiler attempted to set the default input/output mechanism (usually one of CLC or C). Binary and alphanumeric I/O cannot work.

*4 Unknown read type for Roman numerals: type
The compiler attempted to specify an invalid default representation for Roman numerals. Numeric output cannot work.

*700 Invalid language: language
The compiler does not know about that language. Try something more standard, such as Scottish Gaelic.

*109 Invalid character (code) for charset
The conversion between character sets just could not cope with this. This splat is currently generated when converting to Baudot or Hollerith, when a character does not exist in that character set; or when converting from Hollerith when an overpunch just cannot be represented.

*247 Attempt to use special register name
The given special register does not accept assignments. This may indicate a bug in CLC-INTERCAL.

*279 Invalid number of subscripts: number provided, number required
The number of subscripts supplied to an array is wrong.

*443 Cannot make new opcode opcode
The opcode probably already existed.

*252 Cannot use overload register name
The overload register can only be used within an overload expression, and only to find out its owner. Any other use is forbidden.

*816 CREATE statement misconfiguration: reason
The production contained some invalid code.

*436 Register name stashed away too well
The program RETRIEVEd more than it SHASHed.

*250 Invalid value value assigned to class
The program assigned a value to a class register. This is not a good idea.

*8 Base must be between 2 and 7 (got base)
The program assigned an invalid value to %BA

*512 Register slave does not belong to register master
The program attempted to FREE without ENSLAVing first.

*822 Register name is not a student
The program attempted to LEARN something, but the register has not enrolled in a class.

*432 Not suitable for operation
The program attempted to READ OUT or WRITE IN something which is not suitable for I/O. You can use numbers, arrays or classes but this was none of the above.

*437 Cannot operation numbers
The program attempted to STASH or RETRIEVE a number rather than a register. This may be an unintended effect of overloading.

*752 Cannot assign value: reason
The program attempted to assign an invalid value to a register.

*281 Invalid number: reason
The program attempted to use something weird where a number would have been a good idea instead.

*438 Numbers cannot operation
The program did something like #1 LEARNS or #2 GRADUATES. In other words, a number was used where one would like a register. This may be an unintended effect of overloading.

*555 Multiple "COME FROM" label
The program has multiple COME FROMs all pointing at the same statement, and multithreading is disabled.

*514 Invalid owner number: value
The program requested an invalid owner number, probably zero.

*513 Slave name does not have number owners (just number)
The program requested the n-th owner of a register but the register does not have so many owners.

*511 Register name is not a slave
The program requested the register's owner but the register is not enslaved to anything.

*633 Falling off the edge of the program
The program tried to execute past its end. Try adding a PLEASE GIVE UP somewhere.

*535 Invalid symbol: name
The program used name as a symbol, but this is not OK.

*433 Not a valid register: register
The program used something hoping it would work as a register. It didn't.

*70 Invalid register number "register"
The program used something like .0 or .65536. Note that this may be an unintentional consequence of assigning to a constant.

*1 Not implemented: description
The requested compiler or runtime feature has not been written.

*444 Cannot convert opcode to opcode
The two opcodes are not compatible; it won't work.

*445 Cannot swap opcode and opcode
The two opcodes are not compatible; it won't work.

*444 Cannot convert opcode to opcode
The two opcodes are not compatible; it won't work.

*445 Cannot swap opcode and opcode
The two opcodes are not compatible; it won't work.

*634 Internal error: explanation
The unthinkable happened and there appears to be a bug in CLC-INTERCAL. Probably an illusion but do submit a bug report. Include your program (if not too embarrassed) and the precise text of the error message (it does contain clues to the developers); also include any other useful information, including, but not limited to, compiler options used, perversion of CLC-INTERCAL, any patches and/or modifications you have applied to the compiler, and what colour was selected by the system to display the error message.

*0 invalid statement
This error code is used by the compiler when it does not have a more appropriate error code. If you try to execute the statement, the error message will be the statement itself.

*603 Class war between class and class
Two classes teach the same subject and a register is enrolled in both. Can't decide which lecture to use.

*796 operation is forbidden in INTERCAL-1972
You asked for a compiler compatible with INTERCAL-1972 but used some extensions, such as binary I/O. Select CLC-INTERCAL native mode or compatibility with C-INTERCAL to use these things.

*256 This register cannot hold a value
You may be wondering what's for...

*643 Seek/tell error: problem
You shouldn't have done that.

*644 I/O error: problem
You shouldn't have done that.

*643 Seek/tell error: problem
You shouldn't have done that.

*644 I/O error: problem
You shouldn't have done that.

*701 Value written in is not a number: value
You typed something like ZERRO instead of ZERO. Or perhaps you used a language which is not understood by CLC-INTERCAL.

*702 Value written in is larger than two spots
You typed too many digits.

*898 Error in Regular Grimace: problem
Your regular grimaces don't look regular enough, or they aren't grimaces.