List of Oberon Error Numbers N. Wirth / 20.6.87 / David Tolpin Wed Jan 26 1994 1. Incorrect use of language Oberon 0 undeclared identifier 1 multiply defined identifier 2 illegal character in number 3 illegal character in string 4 identifier does not match procedure name 5 comment not closed 6 7 8 9 "=" expected 10 identifier expected 11 12 type definition starts with incorrect symbol 13 factor starts with incorrect symbol 14 statement starts with incorrect symbol 15 declaration followed by incorrect symbol 16 MODULE expected 17 number expected 18 "." missing 19 "," missing 20 ":" missing 21 22 ")" missing 23 "]" missing 24 "}" missing 25 OF missing 26 THEN missing 27 DO missing 28 TO missing 29 "(" missing 30 31 32 33 ":=" missing 34 "," or OF expected 35 36 37 identifier expected 38 ";" missing 39 40 END missing 41 42 43 UNTIL missing 44 45 EXIT not within loop statement 46 47 illegally marked identifier 48 unsatisfied forward reference 49 recursive import not allowed 50 expression should be constant 51 constant not an integer 52 identifier does not denote a type 53 identifier does not denote a record type 54 result type of procedure is not a basic type 55 procedure call of a function 56 assignment to non-variable 57 pointer not bound to record or array type 58 recursive type definition 59 illegal open array parameter 60 wrong type of case label 61 inadmissible type of case label 62 case label defined more than once 63 index out of bounds 64 more actual than formal parameters 65 fewer actual than formal parameters 66 element types of actual array and formal open array differ 67 actual parameter corresponding to open array is not an array 68 69 parameter must be an integer constant 70 71 72 73 procedure must have level 0 74 75 76 77 object is not a record 78 dereferenced object is not a variable 79 indexed object is not a variable 80 index expression is not an integer 81 index out of specified bounds 82 indexed variable is not an array 83 undefined record field 84 dereferenced variable is not a pointer 85 guard or test type is not an extension of variable type 86 guard or testtype is not a pointer 87 guarded or tested variable is neither a pointer nor a VAR-parameter record 88 89 90 91 92 operand of IN not an integer, or not a set 93 set element type is not an integer 94 operand of & is not of type BOOLEAN 95 operand of OR is not of type BOOLEAN 96 operand not applicable to (unary) + 97 operand not applicable to (unary) - 98 operand of ~ is not of type BOOLEAN 99 100 incompatible operands of dyadic operator 101 operand type inapplicable to * 102 operand type inapplicable to / 103 operand type inapplicable to DIV 104 operand type inapplicable to MOD 105 operand type inapplicable to + 106 operand type inapplicable to - 107 operand type inapplicable to = or # 108 operand type inapplicable to relation 109 operand is not a basic type 110 operand is not a type 111 operand inapplicable to (this) function 112 operand is not a variable 113 incompatible assignment 114 string too long 115 parameter discrepancy between type (or name) of variable (or forward procedure) and this procedure 116 type of variable (or forward procedure) has more parameters than this procedure 117 type of variable (or forward procedure) has fewer parameters than this procedure 118 procedure result type of variable (or of forward declaration) differs from result type of this procedure 119 assigned procedure is not global 120 type of expression following IF, WHILE, or UNTIL is not BOOLEAN 121 called object is not a procedure (or is an interrupt procedure) 122 actual VAR-parameter is not a variable 123 type of actual parameter is not identical with that of formal VAR-parameter 124 type of result expression differs from that of procedure 125 type of case expression is neither INTEGER nor CHAR 126 this expression cannot be a type or a procedure 127 illegal use of object 128 129 unsatisfied forward procedure 130 WITH clause does not specify a variable 131 LEN not applied to array 132 dimension in LEN too large or negative 133 procedure declaration don't match forward declaration 150 key inconsistency of imported module 151 incorrect symbol file 152 symbol file of imported module not found 153 object or symbol file not opened (disk full?) 154 155 generation of new symbol file not allowed 156 generation of new h-file is not allowed 2. Limitations of implementation 200 not yet implemented 201 lower bound of set range greater than higher bound 202 set element greater than MAX(SET) or less than 0 203 number too large 204 product too large 205 division by zero 206 sum too large 207 difference too large 208 overflow in arithmetic shift 209 210 211 212 213 214 215 not enough registers: simplify expression 216 217 parameter must be an integer constant 218 illegal value of parameter (32 <= p < 256) 219 illegal value of parameter (0 <= p < 16) 220 illegal value of parameter 221 imported string is not a constant 222 223 too many record types 224 too many pointer types 225 226 227 too many imported modules 228 too many exported structures 229 too many nested records for import 230 too many constants (strings) in module 231 232 233 record extension hierarchy too high 234 240 identifier too long 241 string too long 244 character array too long 3. Run-time Trap Numbers 1 Out of heap 2 Out of stack heap 3 Index out of bounds 4 Value out of range 5 NIL pointer dereference 6 Division by zero 7 Negative divisor (DIV or MOD) 8 9 Trace trap 10 Undefined instruction 11 12 13 Integer overflow trap 14 Floating point overflow trap 15 Debug trap 16 Invalid case in CASE statement 17 Function procedure without RETURN statement 18 Type guard check 19 Illegal assignment to varrec 20 Out of memory (internal) 21 Heap inconsistency 22 Break from keyboard 23 Disk error 24 Disk full 25 26 27 Illegal function argument (Math or MathL) 4. Compiler traps 32 33 Output file cannot be created. 128 129