Appendix 4. Error List
Syntax errors
10 identifier expected
11 , comma expected
12 ; semicolon expected
13 : colon expected
14 . period expected
15 ) right parenthesis expected
16 ] right bracket expected
17 } right brace expected
18 = equal sign expected
19 := assignment expected
20 END expected
21 .. ellipsis expected
22 ( left parenthesis expected
23 OF expected
24 TO expected
25 DO expected
26 UNTIL expected
27 THEN expected
28 MODULE expected
30 IMPORT expected
31 factor starts with illegal symbol
32 identifier, (, or [ expected
33 identifier, ARRAY, RECORD, SET, POINTER, PROCEDURE, (, or [ expected
34 Type followed by illegal symbol
35 Statement starts with illegal symbol
36 declaration followed by illegal symbol
37 statement part is not allowed in definition module
38 export list is not allowed in program module
39 EXIT not inside a loop statement
40 illegal character in number
41 number too large
42 comment without closing *)
44 expression must contain constant operands only
Undefined
50 identifier not declared or not visible
Class and type errors
51 object should be a constant
52 object should be a type
53 object should be a variable
54 object should be a procedure
55 object should be a module
56 type should be a subrange
57 type should be a record
58 type should be an array
59 type should be a set
60 illegal base type of set
61 incompatible type of label or of subrange bound
62 multiple defined case (label)
63 low bound > high bound
64 more actual than formal parameters
65 fewer actual than formal parameters
66-73 mismatch between parameter lists D in definition and I in implementation module
66 more parameters in I than in D
67 parameters with equal types in I have different types in D
68 mismatch between VAR specifications
69 mismatch between type specifications
70 more parameters in D than in I
71 mismatch between result type specifications
72 function in D, pure procedure in I
73 procedure in D has parameters, but not in I
74 code procedure cannot be declared in definition module
75 illegal type of control variable in FOR statement
76 procedure call of a function
77 identifiers in heading and at end do not match
78 redefinition of a type that is declared in definition part
79 imported module not found
80 unsatisfied export list entry
81 illegal type of procedure result
82 illegal base type of subrange
83 illegal type of case expression
84 writing of symbol file failed
85 keys of imported symbol files do not match
86 error in format of symbol file
88 symbol file not successfully opened
89 procedure declared in definition module, but not in implementation
Implementation restrictions of compiler
90 in {a..b}, if a is a constant, b must also be a constant
91 code procedure can have at most 8 bytes of code
92 too many cases
93 too many exit statements
94 index type of array must be a subrange
95 subrange bound must be less than 2**15
96 too many global modules
97 too many procedures in definition module
98 too many structure elements in definition module
Multiple definition
100 multiple definition within the same scope
Class and type incompatibilities
101 illegal use of type
102 illegal use of procedure
103 illegal use of constant
104 illegal use of type
105 illegal use of procedure
106 illegal use of expression
107 illegal use of module
108 constant index out of range
109 indexed variable is not an array, or index has wrong type
110 record selector is not a field identifier
111 dereferenced variable is not a pointer
112 operand type incompatible with sign inversion
113 operand type incompatible with NOT
114 x IN y; type(x) # basetype(y)
115 type of x cannot be basetype of a set, or y is not a set
116 {a..b}: type of a or b is not equal to base type of set
117 incompatible operand types
118 operand type incompatible with *
119 operand type incompatible with /
120 operand type incompatible with DIV
121 operand type incompatible with MOD
122 operand type incompatible with AND
123 operand type incompatible with +
124 operand type incompatible with -
125 operand type incompatible with OR
126 operand type incompatible with relation
127-131: assignment of a procedure P to a variable of type T
127 procedure must be of outermost level
128 result type of P does not match that of T
129 mismatch of a parameter of P with formal type list of T
130 procedure has fewer parameters than formal type list
131 procedure has more parameters than formal type list
132 assignment of a negative integer to a cardinal
133 incompatible assignment
134 assignment to non-variable
135 type of expression in IF, WHILE, UNTIL clause must be BOOLEAN
136 call of an object which is not a procedure
137 type of VAR-parameter is not identical to that of actual parameter
138 value assigned to subrange variable is out of range
139 type of return expression differs from procedure type
140 illegal type of case expression
141 step in FOR clause cannot be 0
142 illegal type of control variable
144 incorrect type of parameter of standard procedure
145 this parameter should be a type identifier
146 string is too long
147 incorrect priority specification
Name collision
150 exported identifier collides with declared identifier
Implementation restriction of system
200 character assigned to array (not yet implemented)
201 integer too small for sign conversion
202 set element outside word range
203 overflow in multiplication
204 overflow in division
205 division by zero, or modulus with negative value
206 overflow in addition
207 overflow in subtraction
208 cardinal value assigned to integer variable is too large
209 set size too large
210 array size too large
211 address too large
212 character array component cannot correspond to VAR parameter
213 illegal store operation
215 expression too complex (stack overflow)
216 double precision multiply and divide (not yet implemented)
222 output file not opened
223 output incomplete
224 too many external references
225 too many literal strings
226 program too long
300 code generator error