0 - ***declaration part overloaded
Overflow of compiler data structure of declaration part. Possible reasons: too complicated program structure (too many classes, protection lists, parameter lists,...), too complicated function expressions e.g. f(g(h(...))). It is possible that removing some errors e.g. "unvisible identifier" causes shortening of the program.
10 - ***too many errors
Overflow of error diagnostic table. 1024 first detected errors are printed, but global number of error is equal to number of all detected errors.
41 - ***declaration part overloaded
Comments as for 0.
101 - ':=' expected
102 - ';' expected
103 - 'then' expected
104 - 'fi'/'else' expected
105 - 'od' expected
106 - '(' expected
107 - ')' expected
108 - 'do' expected
109 - identifier expected
110 - too many exits found
Length of sequence exit exit ...exit exceeds level of loop nesting +1.
111 - illegal character
112 - wrong structure of 'if'-statement
113 - 'end' missing
114 - '.' expected
115 - illegal constant in expression
Character constant or text appears in logical or arithmetical expression.
116 - '=' expected
117 - constant expected
118 - ':' expected
119 - unit kind specification expected
Keywords: class, procedure, function, coroutine or process missing in module headline.
120 - 'hidden' or 'close' occurred twice
121 - 'hidden' or 'close' out of a class
122 - 'block' expected
123 - object expression is not a generator
Object expression appearing as instruction is not a generator e.g. new (a).b
124 - 'dim' expected
125 - 'to'/'downto' expected
126 - illegal arithmetic operator
127 - declaration part expected
128 - incorrect identifier at 'end'
Module name after end does not correspond to name in module headline.
129 - wrong structure of 'case'-statement
130 - wrong structure of 'do'-statement
131 - illegal use of 'main'
Name main may be used only as an argument of attach operator; in other cases it is illegal.
132 - 'when' expected
133 - too many branches in 'case'-statement
Number of branches in case instruction is greater than 160.
134 - 'begin' missed
135 - bad option
136 - is it really a loglan program???
There is no Loglan keyword found in source program like: begin, block, unit, class,...
137 - 'block' missed - parsing began
There is no keyword block or program at the beginning of the Loglan program. This message indicates the source line, that is the first compiled line.
138 - 'repeat' out of a loop
The length of sequence: (exit)*repeat exceeds nested depth of the loop.
139 - there is no path to this statement
140 - 'andif'/'orif' mixed
141 - array of 'semaphore' is illegal
142 - wrong handler end
Handler declaration is not ended by instruction end or end handlers.
143 - lastwill inside a structured statement
144 - repeated lastwill
Label LASTWILL appears more than once in the same module.
145 - no parameter specification
146 - wrong register specification
147 - "," expected
191 - ***null program
There is no source program on the input file or there is no module declaration. Causes termination of program compilation.
196 - ***too many identifiers
Entire length of all identifiers and keywords is greater than 3000 characters. This overflow terminates program compilation.
197 - ***too many formal parameters
The length of formal parameter list and declared local variables (in actual module) is greater than 130. This error terminates program compilation.
198 - ***parsing stack overloaded
Too complicated (nested) program structure. This error terminates program compilation.
199 - ***too many prototypes
Too many declarations in program caused overflow of the compiler data structure. This error terminates program compilation.
201 - wrong real constant
202 - wrong comment
203 - wrong character constant
204 - wrong integer constant
205 - integer overflow
Integer constant out of range.
206 - real overflow
Real constant out of range.
211 - identifier too long
Length of identifier is greater than 20 characters.
212 - string too long
Length of string constant is greater than 260 characters.
301 - prefix is not a class id
Prefix name ID is not a class name. It may appear when identifier ID is used earlier (declared more than once).
303 - coroutine/process illegal here as prefix id
Procedure, function or block can't be prefixed by coroutine or process.
304 - hidden identifier cannot be taken id
Identifier ID placed on taken list is on hidden list in the prefixing module.
305 - undeclared identifier id
306 - undeclared type identifier id
307 - type identifier expected id
Identifier ID used in variable or function declaration as a type name, is not declared earlier as a type (but name has been used earlier).
308 - undeclared prefix identifier id
309 - declared more than once id
310 - taken list in unprefixed unit
316 - formal type specification after use id
Formal type ID appears in the parameter list after using this identifier as parameter type e.g. (... x: ID; type ID, ...).
317 - hidden type identifier id
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 nearest declaration of this identifier.
318 - type identifier not taken id
Type name ID is not on taken list in a prefix of one of the modules from SL chain of actual module.
319 - hidden identifier in the list id
Identifier ID from hidden or close list is on hidden list in one of the prefixing modules.
320 - identifier in the list not taken id
Identifer ID from hidden or close list is not placed on taken list in none of the prefixing modules.
321 - identifier cannot be taken id
Identifer ID from taken list is placed on taken list in none of the prefixes.
322 - hidden prefix identifier id
Analogical to 317 error.
323 - prefix identifier not taken id
Analogical to 318 error.
329 - only procedure and function may be virtual
virtual specification appears with class specification.
330 - virtual in unprefixed block/procedure/function
331 - incompatible kinds of virtuals id
Kind of virtual module ID is different from kind of replaced module (e.g. one of them is a function, the other one is a procedure).
332 - incompatible types of virtuals id
Type of virtual function ID is different from type of replaced function.
333 - different lengths of form.param.lists in virtuals id
Virtual module ID and replaced module have different number of formal parameters.
334 - conflict kinds of the 1st level parameters id
In the headline of virtual module ID kind of formal parameter differs from corresponding formal parameter in the headline of replaced module (e.g. type and variable, input and output parameters,.).
335 - incompatible types of the 1st level parameters id
There are formal parameters of different types (function, procedure) in the headline of virtual module ID and in the headline of replaced module on the same position.
336 - different lengths of the 2nd level params lists id
There are formal procedures/functions with different numbers of parameters in the headline of virtual module ID and in the headline of replaced module on the same position.
337 - incompatible kinds of the 2nd level parameters id
There are parameters of different kinds on the same position in the corresponding procedure or function parameters in the headline of virtual module ID and in the headline of replaced module.
338 - incompatible types of the 2nd level parameters id
There are parameters of different types on the same position in the corresponding procedure or function in the headline of virtual module ID and in the headline of replaced module.
341 - ***declaration part overloaded
Analogical to error 0.
342 - ***too many classes declared
343 - ***too many prototypes
Too many modules declared on the same level.
350 - undeclared signal identifier id
351 - hidden signal identifier id
Analogical to error 317.
352 - signal identifier not taken id
Analogical to error 318.
353 - signal identifier expected id
Identifier ID placed in handler declaration as a signal name has not been declared as a signal.
354 - different types of parameters id
In the headlines of signals, that have common handler, parameters of the different types appear on the same position. ID is one of these parameters.
355 - incompatible kinds of parameters id
In the headlines of signals that have common handler, parameters of different kinds appear on the same position. ID is one of these parameters.
356 - different identifiers of parameters id
In the headlines of signals that have common handler parameters of different names appear on the same position. ID is one of these parameters.
357 - incompatible kinds of the 2nd level parameters id
Analogous to error 355 for 2-nd level paramKters.
358 - different types of the 2nd level parameters id
Analogous to error 354 for the 2-nd level parameters.
359 - different lengths of the 2nd level params lists id
There are formal procedures or formal functions with different number of parameters on the same position in the headlines of signals this have common handler. ID is one of these formal parameters/functions.
360 - different lengths of form. param. lists in signals id
There are different number of formal parameters in the signals that have common handler. ID is one of these signals.
361 - non-local formal type cannot be used id
Formal parameter ID of signal is of non local formal type.
362 - repeated handler for signal id
There are more than one handler for signal ID in the same module.
370 - only 'input' is legal here
Formal parameter output or inout is illegal in process.
398 - class prefixed by itself id
Construction unit ID: ID class is not allowed.
399 - cycle in prefix sequence id
ID is a class identifier used in cyclic prefixing i.e. ID prefixes a, a prefixes b, ... , z prefixes ID. This construction is not allowed.
401 - wrong label in 'case' id
Label in case instruction is not a constant.
402 - 'case' statement nested too deeply
Nesting level in case instruction is greater than 6.
403 - too long span of 'case' labels
Range of branches in case instruction is greater than 160.
404 - repeated label in 'case'-statement id
Label ID appears more than once in case instruction.
405 - illegal type of 'case' expression id
Control expression in case statement is not of
integer or char type.
406 - different types of labels and 'case' expression
407 - non-logical expression after 'if'/'while' id
408 - real constant out of integer range
Error during conversion of real constant to integer constant.
410 - simple variable expected id
Control variable in for loop is not a simple variable.
411 - non-integer control variable id
Control variable ID in for loop is not of integer type.
412 - non-integer expression id
Expression placed as array index or bound limit in array generation or as step in for loop or as format in write statement should be reducable to integer type.
413 - file expression expected id
414 - string expression expected id
415 - reference expression expected id
Expression placed before dot (remote access), before qua or as a argument of kill or copy statement is not of class type.
416 - array expression expected id
417 - boolean expression expected id
418 - semaphore variable expected
419 - illegal type in 'open'
The type name placed in open is different than TEXT, REAL, INTEGER, CHAR and DIRECT.
420 - variable expected id
Expression placed on the left side of assignment statement or as an argument of read instruction or in array instruction is not a variable.
421 - class identifier after 'new' expected id
Identifier ID placed after new is not a class identifier.
422 - procedure identifier after 'call' expected id
423 - 'new' missing id
Keyword new doesn't appear before class identifier for object generation.
424 - 'call' missing id
Keyword call doesn't appear before procedure identifier for procedure call.
425 - 'inner' out of a class
426 - 'inner' occurred more than once
427 - 'wind'/'terminate' out of a handler
428 - 'inner' inside lastwill
429 - definition cannot be reduced to constant id
Identifier ID placed in constant definition is not a constant.
430 - undefined constant in the definition id
431 - wrong number of indices id
Number of indices in referencing to array element is different from declared number of indices.
432 - index out of range id
433 - upper bound less than lower bound id
434 - too many subscripts id
Dimension of static array ID is greater than 7.
435 - variable is not array id
440 - type identifier expected after 'arrayof' id
Identifier ID placed after arrayof in actual parameter list, corresponding to type parameter is not a type name.
441 - incorrect format in 'write'
There is format for expression of char type or there is double format for expression of type integer or string.
442 - illegal expression in 'write'
Argument of write statement is not of type char, string, integer or real.
443 - illegal type of variable in 'read' id
Argument of read statement is not of type char, integer or real.
444 - no data for i/o transfer
There is only file identifier in I/O instruction.
445 - illegal expression in 'put'
446 - illegal expression in 'get'
448 - 'raise' missing id
There is signal identifier without keyword raise in the context of signal raising.
449 - signal identifier expected id
Identifer ID after keyword raise is not a signal identifier.
450 - illegal procedure occurrence id
Procedure name ID appears in illegal context.
451 - illegal class occurrence id
Class name ID appears in illegal context.
452 - illegal type occurrence id
Type name ID appears in illegal context.
453 - illegal signal occurrence id
Signal name ID appears in illegal context.
454 - illegal operator occurence
455 - wrong number of operands
460 - divided by zero
470 - illegal input parameter id
Actual parameter associated with input parameter is not expression that may have any value: it is e.g. procedure name
471 - illegal output parameter id
Actual parameter corredponded to output parameter is not a variable.
472 - illegal type parameter id
Actual parameter ID associated with type parameter is not a type name.
473 - illegal procedure parameter id
Actual parameter ID associated with procedure parameter is not a procedure name.
474 - illegal function parameter id
Actual parameter ID associated with function parameter is not a function name.
475 - illegal left side of 'is'/'in' id
Left side argument ID of is/in is not a reference expression.
476 - illegal right side od 'is'/'in' id
Right side argument ID of is / in is not a class name.
477 - illegal parameter of 'attach' id
Parameter ID of attach statement is not a reference variable of class object.
478 - illegal type of expression
479 - negative step value
550 - ***stack overloaded
This error may be removed by dividing expressions into subexpressions, making simpler nested callings of arrays, functions, classes and for loops. This error terminates compilation of current module, but other modules will be compiled.
551 - ***too many auxiliary variables needed
Too complicated expressions. This error may be removed by declaration of additional variables and using them as auxiliary variables in expressions.
552 - ***too many auxiliary reference variable needed
Analogical to error 551.
553 - ***statement sequence too long or too complicated
This error may be removed by adding 'goto' statement into sequence of instructions e.g. if false then exit fi, inner, ... or by dividing complicated expression into subexpressions.
554 - ***real constants dictionary overflow
Too many real constant, maybe because of evaluation of expressions built from real constants.
600 - undeclared identifier id
601 - illegal type before '.' id
Expression placed before dot (remote access) is not of class type.
602 - close identifier after '.' id
Identifier ID placed after dot is on close list in the class or its prefix that construct expression before dot.
603 - undeclared identifier after '.' id
Identifier ID placed after dot is not attribute of expression placed before dot. It may be caused by missing declaration or using bad prefix for class constructing expression before dot.
604 - illegal operand type id
One of the arguments in arithmetical expression or in relation is not of arithmetical type.
605 - illegal type in 'div/'mod' term id
Expression identified by ID used as argument of div or mode operation is not of integer type.
606 - incompatible types in comparison id
ID is an identifier of left argument of relation.
607 - unrelated class types in comparison id
ID is an identifier of left argument of relation. Both arguments are of class type and none of these classes prefixes the other one.
608 - string cannot be compared id
ID identifies a string.
609 - incompatible types in assignment/transmission id
ID is an identifier of left side of assignment statement or an identifier of actual parameter in object generation. Types of both sides of instruction or type of formal parameter and type of actual parameter are incompatible.
610 - unrelated class types in assignment/transmission id
Analogical to errors 609 and 607.
611 - constant after '.' id
An attempt to remote access to constant.
612 - this class does not occur in sl-chain id
Class ID appeared in expression this ID, but ID dosn't prefix any module in SL chain of actual module. It may be a cycle.
613,614 - class identifier expected id
For error 613: identifier ID used in expression this ID is not of class type. For error 614: identifier ID used in expression this ID is not name of any type.
615 - illegal type before 'qua' id
Object expression before qua should be of one of the types: class, coroutine, process or simple (not array) formal type.
616,617 - illegal type after 'qua' id
For error 616: identifier ID used after qua is not of any type.
For error 617: identifier ID used after qua is not of class type.
618 - unrelated types in 'qua'-expression id
Identifier ID is a name of class type used after qua. This class type and class type used before qua doesn't prefix each other.
619 - hidden identifier id
Identifier ID used in construction qua ID or this ID is on hidden list in the prefix of one of the module from SL chain of actual module.
620 - not taken identifier id
Identifier ID used in construction qua ID or this ID is not on taken list in any prefix of any module of actual module.
621 - invisible identifier after '.' id
Identifier ID placed after dot is on hidden list or is not on taken list in prefix.
622 - formal parameter list is shorter id
Identifier ID identifies generated object: class, procedure or function. Formal parameters list of this object is shorter than actual parameters list.
623 - formal parameter list is longer id
Analogical to error 622.
624 - actual parameter is not a reference type id
Actual parameter identified by ID in generated object can't be of primitive type: integer, real, boolean or string.
625 - actual parameter is not a type id
Actual parameter identified by ID is not a type, so it can't replace formal type parameter.
626 - procedure-function conflict between parameters id
Actual parameter, identified by ID, that replaced formal parameter in generated object is function whereas formal parameter is a procedure or vice versa.
627 - unmatched heads-wrong kinds of parameters id
ID identifies actual module that replaced formal module. There are parameters of different kinds on the same position in the headlines of these modules. For input - output conflict the agreement of parameter types is checked also.
628 - unmatched heads-incompatible types in lists id
ID identifies actual module that replaced formal module. There are input /output parameters of different types on the same position in the headlines of actual and formal module.
629 - unmatched heads-unrelated class types in lists id
ID identifies actual module that replaced formal module. There are input/output parameters specifying classes of disjointed prefix sequences
in the headlines of actual and formal module.
630 - unmatched heads-different numbers of parameters id
There are different lengths of headlines in actual module identified by ID and formal module.
631 - incompatible types of function parameters id
There are different types of actual function specified by identifier ID and formal function in generated object.
632 - function/procedure expected id
Actual parameter identified by identifier ID is not function/procedure, whereas corresponding formal parameter is function/procedure.
633 - actual function type defined weaker than formal id
Type of actual function identified by ID is weaker defined than formal function type e.g. formal function type is statically defined, whereas actual function type is formal (external) or formal function is class, whereas actual function type is coroutine or process.
634 - unmatched heads-too weak type in actual list id
There are input/output parameters on the same position in the headlines of actual module identified by identifier ID and formal module, but ID is weaker defined than corresponding formal module parameter (see error 633).
635 - standard function/procedure cannot be actual par. id
ID identifies standard procedure/function used as actual parameter.
636 - illegal use of semaphore id
637 - 'semaphore' cannot be used id