[net.lang.mod2] Amiga Single Pass Modula-2

claudio@ethz.UUCP (Claudio Nieder) (05/15/86)

Hello again, Amiga Modula-2 Fans          ( kussi, 15-may-86 )
================================

Today we have a very important file for you.

As our compiler generates only error numbers, we include in this posting
the error messages for the single pass modula-2 compiler.

<-------- cut here ----------------------------------------------------->

Amiga Modula M2 compiler 

NW 4.1.84 / rev 10.7.84 / rev 14.3.86 red / rev 9.5.86 cn

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
-  29  illegal digit, or number too large
-  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 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 *)
-  43
-  44  expression must contain constant operands only
-  45  control character within string
-  46
-  47
-  48
-  49

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  multiply 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 in def and in impl modules

-  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
-  87
-  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  identifier buffer overflow
-  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 procedure in definition module
-  98  too many structure elements in definition module
-  99  too many variables, or record too large

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 the index has the 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 the basetype of a set, or y is not a set
- 116  {a..b}: type of either a or b is not equal to the base type of the 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 procedure type T

- 127  procedure must have level 0
- 128  result type of P does not match that of T
- 129  mismatch of a parameter of P with the formal type list of T
- 130  procedure has fewer parameters than the formal type list
- 131  procedure has more parameters than the formal type list

- 132  assignment of a negative integer to a cardinal variable
- 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 bounds
- 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
- 143  (assignment to dynamic array is illegal)
- 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
- 148
- 149

Name collision

- 150  exported identifier collides with declared identifier

Implementation restrictions of system

- 200  (assignment of character to array) (not yet implemented)
- 201  integer too small for sign inversion (-32768)
- 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 too large
- 209  set size too large
- 210  array size too large
- 211  address too large (compiler error?)
- 212  character array component cannot correspond to VAR parameter
- 213  illegal store operation (compiler error?)
- 214  set elements must be constants
- 215  expression too complex (too few registers available)
- 216  (double precision multiply and divide are not implemented)
- 217  
- 218
- 219
- 220
- 221
- 222  output file not opened  (directory full?)
- 223  output incomplete (disk full?)
- 224  too many external references
- 225  too many strings
- 226  program too long
- 227
- 228
- 229
- 230  expression not loadable (implementation restrictions)
- 231  expression not addressable (implementation restrictions)
- 232  expression not allowed (implementation restrictions)
- 233  illegal expression (implementation restrictions)
- 234  register not released (compiler error)
- 235  illegal selector for constant index or field
- 236  too many WITH nested (>4)
- 237  illegal operand (implementation restrictions)
- 238  illegal size of operand (implementation restrictions)
- 239  type should be LONGREAL
- 240  parameter should be dynamic array parameter
- 241  illegal type for floating point operation
- 242
- 243
- 244  implementation restriction for floating point comparison

300-399 Compiler errors

<---------- cut here too ------------------------------------------->

 			   That's enough for this time,
				kussi, cn, jr, red