2 <HEAD><TITLE> Error Codes </TITLE></HEAD>
\r
4 <H1>APPENDIX D : ERROR CODES</H1>
\r
5 <CODE>0 - ***declaration part overloaded</CODE> <P>
\r
6 <EM>Overflow of compiler data structure of declaration part. Possible reasons: too complicated program structure
\r
7 (too many classes, protection lists, parameter lists,...), too complicated function expressions e.g. f(g(h(...))).
\r
8 It is possible that removing some errors e.g. "unvisible identifier" causes shortening of the program.</EM> <P>
\r
9 <CODE>10 - ***too many errors </CODE><P>
\r
10 Overflow of error diagnostic table. 1024 first detected errors are printed, but global number of error is equal
\r
11 to number of all detected errors. <P>
\r
12 <CODE>41 - ***declaration part overloaded</CODE> <P>
\r
13 Comments as for 0. <P>
\r
14 <SAMP>101 - ':=' expected</SAMP> <P>
\r
15 <KBD>102 - ';' expected </KBD><P>
\r
16 <EM>103 - 'then' expected</EM> <P>
\r
17 <STRONG>104 - 'fi'/'else' expected</STRONG> <P>
\r
18 <VAR>105 - 'od' expected</VAR> <P>
\r
19 <CITE>106 - '(' expected</CITE> <P>
\r
20 107 - ')' expected <P>
\r
21 108 - 'do' expected <P>
\r
22 109 - identifier expected <P>
\r
23 110 - too many exits found <P>
\r
24 Length of sequence exit exit ...exit exceeds level of loop nesting +1. <P>
\r
25 111 - illegal character <P>
\r
26 112 - wrong structure of 'if'-statement <P>
\r
27 113 - 'end' missing <P>
\r
28 114 - '.' expected <P>
\r
29 <CODE>115 - illegal constant in expression</CODE> <P>
\r
30 <DFN>Character constant or text appears in logical or arithmetical expression.</DFN> <P>
\r
31 116 - '=' expected <P>
\r
32 117 - constant expected <P>
\r
33 118 - ':' expected <P>
\r
34 119 - unit kind specification expected <P>
\r
35 Keywords: class, procedure, function, coroutine or process missing in module headline. <P>
\r
36 120 - 'hidden' or 'close' occurred twice <P>
\r
37 121 - 'hidden' or 'close' out of a class <P>
\r
38 122 - 'block' expected <P>
\r
39 123 - object expression is not a generator <P>
\r
40 Object expression appearing as instruction is not a generator e.g. new (a).b <P>
\r
41 124 - 'dim' expected <P>
\r
42 125 - 'to'/'downto' expected <P>
\r
43 126 - illegal arithmetic operator <P>
\r
44 127 - declaration part expected <P>
\r
45 128 - incorrect identifier at 'end' <P>
\r
46 Module name after end does not correspond to name in module headline. <P>
\r
47 129 - wrong structure of 'case'-statement <P>
\r
48 130 - wrong structure of 'do'-statement <P>
\r
49 131 - illegal use of 'main' <P>
\r
50 Name main may be used only as an argument of attach operator; in other cases it is illegal. <P>
\r
51 132 - 'when' expected <P>
\r
52 133 - too many branches in 'case'-statement <P>
\r
53 Number of branches in case instruction is greater than 160. <P>
\r
54 134 - 'begin' missed <P>
\r
55 135 - bad option <P>
\r
56 136 - is it really a loglan program??? <P>
\r
57 There is no Loglan keyword found in source program like: begin, block, unit, class,... <P>
\r
58 137 - 'block' missed - parsing began <P>
\r
59 There is no keyword block or program at the beginning of the Loglan program. This message indicates
\r
60 the source line, that is the first compiled line. <P>
\r
61 138 - 'repeat' out of a loop <P>
\r
62 The length of sequence: (exit)*repeat exceeds nested depth of the loop. <P>
\r
63 139 - there is no path to this statement <P>
\r
64 140 - 'andif'/'orif' mixed <P>
\r
65 141 - array of 'semaphore' is illegal <P>
\r
66 142 - wrong handler end <P>
\r
67 Handler declaration is not ended by instruction end or end handlers. <P>
\r
68 143 - lastwill inside a structured statement <P>
\r
69 144 - repeated lastwill <P>
\r
70 Label LASTWILL appears more than once in the same module. <P>
\r
71 145 - no parameter specification <P>
\r
72 146 - wrong register specification <P>
\r
73 147 - "," expected<P>
\r
74 191 - ***null program <P>
\r
75 There is no source program on the input file or there is no module declaration. Causes termination of
\r
76 program compilation. <P>
\r
77 196 - ***too many identifiers <P>
\r
78 Entire length of all identifiers and keywords is greater than 3000 characters. This overflow terminates program
\r
80 197 - ***too many formal parameters <P>
\r
81 The length of formal parameter list and declared local variables (in actual module) is greater than 130. This
\r
82 error terminates program compilation. <P>
\r
83 198 - ***parsing stack overloaded <P>
\r
84 Too complicated (nested) program structure. This error terminates program compilation. <P>
\r
85 199 - ***too many prototypes <P>
\r
86 Too many declarations in program caused overflow of the compiler data structure. This error terminates
\r
87 program compilation. <P>
\r
88 201 - wrong real constant <P>
\r
89 202 - wrong comment <P>
\r
90 203 - wrong character constant <P>
\r
91 204 - wrong integer constant <P>
\r
92 205 - integer overflow <P>
\r
93 Integer constant out of range. <P>
\r
94 206 - real overflow <P>
\r
95 Real constant out of range. <P>
\r
96 211 - identifier too long <P>
\r
97 Length of identifier is greater than 20 characters. <P>
\r
98 212 - string too long <P>
\r
99 Length of string constant is greater than 260 characters. <P>
\r
100 301 - prefix is not a class id <P>
\r
101 Prefix name ID is not a class name. It may appear when identifier ID is used earlier (declared more than
\r
103 303 - coroutine/process illegal here as prefix id <P>
\r
104 Procedure, function or block can't be prefixed by coroutine or process. <P>
\r
105 304 - hidden identifier cannot be taken id <P>
\r
106 Identifier ID placed on taken list is on hidden list in the prefixing module. <P>
\r
107 305 - undeclared identifier id <P>
\r
108 306 - undeclared type identifier id <P>
\r
109 307 - type identifier expected id <P>
\r
110 Identifier ID used in variable or function declaration as a type name, is not declared earlier as a type (but
\r
111 name has been used earlier). <P>
\r
112 308 - undeclared prefix identifier id <P>
\r
113 309 - declared more than once id <P>
\r
114 310 - taken list in unprefixed unit <P>
\r
115 316 - formal type specification after use id <P>
\r
116 Formal type ID appears in the parameter list after using this identifier as parameter type e.g. (... x: ID; type
\r
118 317 - hidden type identifier id <P>
\r
119 Type name ID is on hidden list in a prefix of one of the modules from SL chain of actual module and it is a
\r
120 nearest declaration of this identifier. <P>
\r
121 318 - type identifier not taken id <P>
\r
122 Type name ID is not on taken list in a prefix of one of the modules from SL chain of actual module. <P>
\r
123 319 - hidden identifier in the list id <P>
\r
124 Identifier ID from hidden or close list is on hidden list in one of the prefixing modules. <P>
\r
125 320 - identifier in the list not taken id <P>
\r
126 Identifer ID from hidden or close list is not placed on taken list in none of the prefixing modules. <P>
\r
127 321 - identifier cannot be taken id <P>
\r
128 Identifer ID from taken list is placed on taken list in none of the prefixes. <P>
\r
129 322 - hidden prefix identifier id <P>
\r
130 Analogical to 317 error. <P>
\r
131 323 - prefix identifier not taken id <P>
\r
132 Analogical to 318 error. <P>
\r
133 329 - only procedure and function may be virtual <P>
\r
134 virtual specification appears with class specification. <P>
\r
135 330 - virtual in unprefixed block/procedure/function <P>
\r
136 331 - incompatible kinds of virtuals id <P>
\r
137 Kind of virtual module ID is different from kind of replaced module (e.g. one of them is a function, the other
\r
138 one is a procedure). <P>
\r
139 332 - incompatible types of virtuals id <P>
\r
140 Type of virtual function ID is different from type of replaced function. <P>
\r
141 333 - different lengths of form.param.lists in virtuals id <P>
\r
142 Virtual module ID and replaced module have different number of formal parameters. <P>
\r
143 334 - conflict kinds of the 1st level parameters id <P>
\r
144 In the headline of virtual module ID kind of formal parameter differs from corresponding formal parameter in
\r
145 the headline of replaced module (e.g. type and variable, input and output parameters,.). <P>
\r
146 335 - incompatible types of the 1st level parameters id <P>
\r
147 There are formal parameters of different types (function, procedure) in the headline of virtual module ID
\r
148 and in the headline of replaced module on the same position. <P>
\r
149 336 - different lengths of the 2nd level params lists id <P>
\r
150 There are formal procedures/functions with different numbers of parameters in the headline of virtual
\r
151 module ID and in the headline of replaced module on the same position. <P>
\r
152 337 - incompatible kinds of the 2nd level parameters id <P>
\r
153 There are parameters of different kinds on the same position in the corresponding procedure or function
\r
154 parameters in the headline of virtual module ID and in the headline of replaced module. <P>
\r
155 338 - incompatible types of the 2nd level parameters id <P>
\r
156 There are parameters of different types on the same position in the corresponding procedure or function in the
\r
157 headline of virtual module ID and in the headline of replaced module. <P>
\r
158 341 - ***declaration part overloaded <P>
\r
159 Analogical to error 0. <P>
\r
160 342 - ***too many classes declared <P>
\r
161 343 - ***too many prototypes <P>
\r
162 Too many modules declared on the same level. <P>
\r
163 350 - undeclared signal identifier id <P>
\r
164 351 - hidden signal identifier id <P>
\r
165 Analogical to error 317. <P>
\r
166 352 - signal identifier not taken id <P>
\r
167 Analogical to error 318. <P>
\r
168 353 - signal identifier expected id <P>
\r
169 Identifier ID placed in handler declaration as a signal name has not been declared as a signal. <P>
\r
170 354 - different types of parameters id <P>
\r
171 In the headlines of signals, that have common handler, parameters of the different types appear on the same
\r
172 position. ID is one of these parameters. <P>
\r
173 355 - incompatible kinds of parameters id <P>
\r
174 In the headlines of signals that have common handler, parameters of different kinds appear on the same
\r
175 position. ID is one of these parameters. <P>
\r
176 356 - different identifiers of parameters id <P>
\r
177 In the headlines of signals that have common handler parameters of different names appear on the same
\r
178 position. ID is one of these parameters. <P>
\r
179 357 - incompatible kinds of the 2nd level parameters id <P>
\r
180 Analogous to error 355 for 2-nd level paramKters. <P>
\r
181 358 - different types of the 2nd level parameters id <P>
\r
182 Analogous to error 354 for the 2-nd level parameters. <P>
\r
183 359 - different lengths of the 2nd level params lists id <P>
\r
184 There are formal procedures or formal functions with different number of parameters on the same position in
\r
185 the headlines of signals this have common handler. ID is one of these formal parameters/functions. <P>
\r
186 360 - different lengths of form. param. lists in signals id <P>
\r
187 There are different number of formal parameters in the signals that have common handler. ID is one of these
\r
189 361 - non-local formal type cannot be used id <P>
\r
190 Formal parameter ID of signal is of non local formal type. <P>
\r
191 362 - repeated handler for signal id <P>
\r
192 There are more than one handler for signal ID in the same module. <P>
\r
193 370 - only 'input' is legal here <P>
\r
194 Formal parameter output or inout is illegal in process. <P>
\r
195 398 - class prefixed by itself id <P>
\r
196 Construction unit ID: ID class is not allowed. <P>
\r
197 399 - cycle in prefix sequence id <P>
\r
198 ID is a class identifier used in cyclic prefixing i.e. ID prefixes a, a prefixes b, ... , z prefixes ID. This
\r
199 construction is not allowed. <P>
\r
200 401 - wrong label in 'case' id <P>
\r
201 Label in case instruction is not a constant. <P>
\r
202 402 - 'case' statement nested too deeply <P>
\r
203 Nesting level in case instruction is greater than 6. <P>
\r
204 403 - too long span of 'case' labels <P>
\r
205 Range of branches in case instruction is greater than 160. <P>
\r
206 404 - repeated label in 'case'-statement id <P>
\r
207 Label ID appears more than once in case instruction. <P>
\r
208 405 - illegal type of 'case' expression id <P>
\r
209 Control expression in case statement is not of <P>
\r
210 integer or char type. <P>
\r
211 406 - different types of labels and 'case' expression <P>
\r
212 407 - non-logical expression after 'if'/'while' id <P>
\r
213 408 - real constant out of integer range <P>
\r
214 Error during conversion of real constant to integer constant. <P>
\r
215 410 - simple variable expected id <P>
\r
216 Control variable in for loop is not a simple variable. <P>
\r
217 411 - non-integer control variable id <P>
\r
218 Control variable ID in for loop is not of integer type. <P>
\r
219 412 - non-integer expression id <P>
\r
220 Expression placed as array index or bound limit in array generation or as step in for loop or as format in
\r
221 write statement should be reducable to integer type. <P>
\r
222 413 - file expression expected id <P>
\r
223 414 - string expression expected id <P>
\r
224 415 - reference expression expected id <P>
\r
225 Expression placed before dot (remote access), before qua or as a argument of kill or copy statement is
\r
226 not of class type. <P>
\r
227 416 - array expression expected id <P>
\r
228 417 - boolean expression expected id <P>
\r
229 418 - semaphore variable expected <P>
\r
230 419 - illegal type in 'open' <P>
\r
231 The type name placed in open is different than TEXT, REAL, INTEGER, CHAR and DIRECT. <P>
\r
232 420 - variable expected id <P>
\r
233 Expression placed on the left side of assignment statement or as an argument of read instruction or in array
\r
234 instruction is not a variable. <P>
\r
235 421 - class identifier after 'new' expected id <P>
\r
236 Identifier ID placed after new is not a class identifier. <P>
\r
237 422 - procedure identifier after 'call' expected id <P>
\r
238 423 - 'new' missing id <P>
\r
239 Keyword new doesn't appear before class identifier for object generation. <P>
\r
240 424 - 'call' missing id <P>
\r
241 Keyword call doesn't appear before procedure identifier for procedure call. <P>
\r
242 425 - 'inner' out of a class <P>
\r
243 426 - 'inner' occurred more than once <P>
\r
244 427 - 'wind'/'terminate' out of a handler <P>
\r
245 428 - 'inner' inside lastwill <P>
\r
246 429 - definition cannot be reduced to constant id <P>
\r
247 Identifier ID placed in constant definition is not a constant. <P>
\r
248 430 - undefined constant in the definition id <P>
\r
249 431 - wrong number of indices id <P>
\r
250 Number of indices in referencing to array element is different from declared number of indices. <P>
\r
251 432 - index out of range id <P>
\r
252 433 - upper bound less than lower bound id <P>
\r
253 434 - too many subscripts id <P>
\r
254 Dimension of static array ID is greater than 7. <P>
\r
255 435 - variable is not array id <P>
\r
256 440 - type identifier expected after 'arrayof' id <P>
\r
257 Identifier ID placed after arrayof in actual parameter list, corresponding to type parameter is not a type name.
\r
259 441 - incorrect format in 'write' <P>
\r
260 There is format for expression of char type or there is double format for expression of type integer or
\r
262 442 - illegal expression in 'write' <P>
\r
263 Argument of write statement is not of type char, string, integer or real. <P>
\r
264 443 - illegal type of variable in 'read' id <P>
\r
265 Argument of read statement is not of type char, integer or real. <P>
\r
266 444 - no data for i/o transfer <P>
\r
267 There is only file identifier in I/O instruction. <P>
\r
268 445 - illegal expression in 'put' <P>
\r
269 446 - illegal expression in 'get' <P>
\r
270 448 - 'raise' missing id <P>
\r
271 There is signal identifier without keyword raise in the context of signal raising. <P>
\r
272 449 - signal identifier expected id <P>
\r
273 Identifer ID after keyword raise is not a signal identifier. <P>
\r
274 450 - illegal procedure occurrence id <P>
\r
275 Procedure name ID appears in illegal context. <P>
\r
276 451 - illegal class occurrence id <P>
\r
277 Class name ID appears in illegal context. <P>
\r
278 452 - illegal type occurrence id <P>
\r
279 Type name ID appears in illegal context. <P>
\r
280 453 - illegal signal occurrence id <P>
\r
281 Signal name ID appears in illegal context. <P>
\r
282 454 - illegal operator occurence <P>
\r
283 455 - wrong number of operands <P>
\r
284 460 - divided by zero <P>
\r
285 470 - illegal input parameter id <P>
\r
286 Actual parameter associated with input parameter is not expression that may have any value: it is e.g.
\r
288 471 - illegal output parameter id <P>
\r
289 Actual parameter corredponded to output parameter is not a variable. <P>
\r
290 472 - illegal type parameter id <P>
\r
291 Actual parameter ID associated with type parameter is not a type name. <P>
\r
292 473 - illegal procedure parameter id <P>
\r
293 Actual parameter ID associated with procedure parameter is not a procedure name. <P>
\r
294 474 - illegal function parameter id <P>
\r
295 Actual parameter ID associated with function parameter is not a function name. <P>
\r
296 475 - illegal left side of 'is'/'in' id <P>
\r
297 Left side argument ID of is/in is not a reference expression. <P>
\r
298 476 - illegal right side od 'is'/'in' id <P>
\r
299 Right side argument ID of is / in is not a class name. <P>
\r
300 477 - illegal parameter of 'attach' id <P>
\r
301 Parameter ID of attach statement is not a reference variable of class object. <P>
\r
302 478 - illegal type of expression<P>
\r
303 479 - negative step value<P>
\r
304 550 - ***stack overloaded <P>
\r
305 This error may be removed by dividing expressions into subexpressions, making simpler nested callings of
\r
306 arrays, functions, classes and for loops. This error terminates compilation of current module, but other modules
\r
307 will be compiled. <P>
\r
308 551 - ***too many auxiliary variables needed <P>
\r
309 Too complicated expressions. This error may be removed by declaration of additional variables and using
\r
310 them as auxiliary variables in expressions. <P>
\r
311 552 - ***too many auxiliary reference variable needed <P>
\r
312 Analogical to error 551. <P>
\r
313 553 - ***statement sequence too long or too complicated <P>
\r
314 This error may be removed by adding 'goto' statement into sequence of instructions e.g. if false then exit fi,
\r
315 inner, ... or by dividing complicated expression into subexpressions. <P>
\r
316 554 - ***real constants dictionary overflow <P>
\r
317 Too many real constant, maybe because of evaluation of expressions built from real constants. <P>
\r
318 600 - undeclared identifier id <P>
\r
319 601 - illegal type before '.' id <P>
\r
320 Expression placed before dot (remote access) is not of class type. <P>
\r
321 602 - close identifier after '.' id <P>
\r
322 Identifier ID placed after dot is on close list in the class or its prefix that construct expression before dot. <P>
\r
323 603 - undeclared identifier after '.' id <P>
\r
324 Identifier ID placed after dot is not attribute of expression placed before dot. It may be caused by missing
\r
325 declaration or using bad prefix for class constructing expression before dot. <P>
\r
326 604 - illegal operand type id <P>
\r
327 One of the arguments in arithmetical expression or in relation is not of arithmetical type. <P>
\r
328 605 - illegal type in 'div/'mod' term id <P>
\r
329 Expression identified by ID used as argument of div or mode operation is not of integer type. <P>
\r
330 606 - incompatible types in comparison id <P>
\r
331 ID is an identifier of left argument of relation. <P>
\r
332 607 - unrelated class types in comparison id <P>
\r
333 ID is an identifier of left argument of relation. Both arguments are of class type and none of these classes
\r
334 prefixes the other one. <P>
\r
335 608 - string cannot be compared id <P>
\r
336 ID identifies a string. <P>
\r
337 609 - incompatible types in assignment/transmission id <P>
\r
338 ID is an identifier of left side of assignment statement or an identifier of actual parameter in object generation.
\r
339 Types of both sides of instruction or type of formal parameter and type of actual parameter are incompatible.
\r
341 610 - unrelated class types in assignment/transmission id <P>
\r
342 Analogical to errors 609 and 607. <P>
\r
343 611 - constant after '.' id <P>
\r
344 An attempt to remote access to constant. <P>
\r
345 612 - this class does not occur in sl-chain id <P>
\r
346 Class ID appeared in expression this ID, but ID dosn't prefix any module in SL chain of actual module. It
\r
347 may be a cycle. <P>
\r
348 613,614 - class identifier expected id <P>
\r
349 For error 613: identifier ID used in expression this ID is not of class type. For error 614: identifier ID used in
\r
350 expression this ID is not name of any type. <P>
\r
351 615 - illegal type before 'qua' id <P>
\r
352 Object expression before qua should be of one of the types: class, coroutine, process or simple (not array)
\r
354 616,617 - illegal type after 'qua' id <P>
\r
355 For error 616: identifier ID used after qua is not of any type. <BR>
\r
356 For error 617: identifier ID used after qua is not of class type. <P>
\r
357 618 - unrelated types in 'qua'-expression id <P>
\r
358 Identifier ID is a name of class type used after qua. This class type and class type used before qua doesn't
\r
359 prefix each other. <P>
\r
360 619 - hidden identifier id <P>
\r
361 Identifier ID used in construction qua ID or this ID is on hidden list in the prefix of one of the module from
\r
362 SL chain of actual module. <P>
\r
363 620 - not taken identifier id <P>
\r
364 Identifier ID used in construction qua ID or this ID is not on taken list in any prefix of any module of
\r
366 621 - invisible identifier after '.' id <P>
\r
367 Identifier ID placed after dot is on hidden list or is not on taken list in prefix. <P>
\r
368 622 - formal parameter list is shorter id <P>
\r
369 Identifier ID identifies generated object: class, procedure or function. Formal parameters list of this object is
\r
370 shorter than actual parameters list. <P>
\r
371 623 - formal parameter list is longer id <P>
\r
372 Analogical to error 622. <P>
\r
373 624 - actual parameter is not a reference type id <P>
\r
374 Actual parameter identified by ID in generated object can't be of primitive type: integer, real, boolean or
\r
376 625 - actual parameter is not a type id <P>
\r
377 Actual parameter identified by ID is not a type, so it can't replace formal type parameter. <P>
\r
378 626 - procedure-function conflict between parameters id <P>
\r
379 Actual parameter, identified by ID, that replaced formal parameter in generated object is function whereas
\r
380 formal parameter is a procedure or vice versa. <P>
\r
381 627 - unmatched heads-wrong kinds of parameters id <P>
\r
382 ID identifies actual module that replaced formal module. There are parameters of different kinds on the same
\r
383 position in the headlines of these modules. For input - output conflict the agreement of parameter types is
\r
385 628 - unmatched heads-incompatible types in lists id <P>
\r
386 ID identifies actual module that replaced formal module. There are input /output parameters of different
\r
387 types on the same position in the headlines of actual and formal module. <P>
\r
388 629 - unmatched heads-unrelated class types in lists id <P>
\r
389 ID identifies actual module that replaced formal module. There are input/output parameters specifying
\r
390 classes of disjointed prefix sequences <P>
\r
391 in the headlines of actual and formal module. <P>
\r
392 630 - unmatched heads-different numbers of parameters id <P>
\r
393 There are different lengths of headlines in actual module identified by ID and formal module. <P>
\r
394 631 - incompatible types of function parameters id <P>
\r
395 There are different types of actual function specified by identifier ID and formal function in generated
\r
397 632 - function/procedure expected id <P>
\r
398 Actual parameter identified by identifier ID is not function/procedure, whereas corresponding formal
\r
399 parameter is function/procedure. <P>
\r
400 633 - actual function type defined weaker than formal id <P>
\r
401 Type of actual function identified by ID is weaker defined than formal function type e.g. formal function
\r
402 type is statically defined, whereas actual function type is formal (external) or formal
\r
403 function is class, whereas actual function type is coroutine or process. <P>
\r
404 634 - unmatched heads-too weak type in actual list id <P>
\r
405 There are input/output parameters on the same position in the headlines of actual module identified by
\r
406 identifier ID and formal module, but ID is weaker defined than corresponding formal module parameter (see
\r
408 635 - standard function/procedure cannot be actual par. id <P>
\r
409 ID identifies standard procedure/function used as actual parameter. <P>
\r
410 636 - illegal use of semaphore id <P>
\r
411 637 - 'semaphore' cannot be used id <P>
\r
413 <Address>BACK </Address>
\r