Oberon/ETH Oberon/OP2.Errors
< Oberon | ETH Oberon
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
11
12 type definition starts with incorrect symbol
13 value starts with incorrect symbol
14 statement starts with incorrect symbol
15 declaration followed by incorrect symbol
16 MODULE expected
17
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
30 "(" missing
31
32
33
34 ":=" missing
35 "," or OF expected
36
37
38 EXIT not within loop statement
39
40 identifier expected
41 ";" missing
42
43 END missing
44
45
46 UNTIL missing
47 illegally marked identifier
48
49
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 illegal value of constant
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 control variable must be integer
69 parameter must be an integer constant
70 pointer or VAR record required as formal receiver
71 pointer expected as actual receiver
72 procedure must be bound to a record of the same scope
73 procedure must be of level 0
74 procedure unknown in base type
75 invalid call of base procedure
76 this variable (field) is read only
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 open array not allowed as variable, record field or array element
89 open lower bound not bound to procedure parameter
90 semi-dynamic array not allowed in a record
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 ASSERT fault
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 overriding method must be exported
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 to be assigned
115 parameter does not match
116 number of parameters do not match
117 result type does not match
118 export mark does not match with forward declaration
119 redefinition textually precedes procedure bound to base type
120 type of expression following IF, WHILE, UNTIL or ASSERT 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 must not be a type or a procedure
127 illegal use of object
128 unsatisfied forward reference
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
134 initialiser can not return a value
135 SYSTEM not imported
136 recursive call of operator
137 operator not defined
138 VAR-parameter not allowed
139 multiply-defined operator
140 operator not allowed in record scope
141 operator type missing
142 name does not denote an operator
143 invalid number of formal parameters
144 only one initializer allowed in a record
145 forward declaration not allowed
146 operator must use one locally declared argument type
147 := operator: cannot be a function
148 := operator: first parameter must be VAR
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 recursive import not allowed
155 generation of new symbol file not allowed
170 incompatible assignment (declare the record as POINTER TO RECORD)
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 case range too large
210 code too long ( > 64 KB)
211 procedure too large (reduce procedure size)
212 operator should precede procedure declaration
213 too many cases in case statement
214
215 not enough registers: simplify expression
216 not enough floating-point registers: simplify expression
217
218 illegal value of parameter "(20 <= p < 256)"
219 illegal value of parameter "(0 <= p < 16)"
220 illegal value of parameter
221 too many pointers in a record
222 too many global pointers
223 too many record types
224 too many pointer types
225 address of pointer variable too large (move forward in text)
226 too many exported and/or type-bound procedures
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 too many external and/or type-bound procedures
232 too many commands in module
233 record extension hierarchy too high
234 export of recursive type not allowed
235 too many accesses to global variables or constants
236 too many exported variables
240 identifier too long
241 string too long
242 address overflow
243 too many imported variables
246 already inside an exclusive statement block
247 local variables not allowed in inlined assembler procedure
248 PASSIVATE with global condition
249 only allowed for POINTER TO RECORDs
250 inlined oberon procedures can not be exported
251 too many nested function calls
252 pointer to this record required
253 initialiser must belong to a record
254 can not define a static instance of an active object
260 Active Oberon forward reference
261 Active Oberon method
262 Active Oberon relaxed declaration order
270 Oberon X structured return type
271 Oberon X array
272 allowed only in active objects
280 duplicate fingerprint
Compiler Warnings
301 implicit type cast
302 guarded variable can be side-effected
303 SYSTEM.PTR var parameter output-only
304 SYSTEM.VAL size mismatch
305 only open arrays and named types can be used
306 possible size mismatch
310 ambigous operator
311 dynamic array deep copy
312 implicit reference to heap object via VAR
Incorrect use of i80386 Assembly Language
500 undeclared identifier
501 addressing mode not allowed
502 undefined instruction
503 number to large
504 max one segment override allowed
505 register expected
506 32-Bit register expected
507 "[" expected
508 scale factor expected (2, 4, 8)
509 index already defined
510 Carriage Return expected
511 Operand missing
512 Undefined operand size
513 string expected
514 Object Type not supported
515 Instruction not supported on target
516 no target specified
517 access to non-local variables not allowed in exported inlined procedure
518 inlined procedure: procedure activation frame does not exist
Analyzer Warnings
900 never used
901 never set
902 used before set
903 set but never used
904 used as varpar, possibly not set
905 also declared in outer scope
906 access/assignment to intermediate
907 redefinition
908 new definition
909 statement after RETURN/EXIT
910 for loop variable set
911 implied type guard in record assignment
912 call might depend on evaluation sequence of params
913 parameter never used