mirror of
https://github.com/vishapoberon/compiler.git
synced 2026-04-06 09:52:24 +00:00
Restore text file based error support as prototyped in the ErrorExperiment branch.
This commit is contained in:
parent
f7feea0ad1
commit
377bc73774
36 changed files with 393 additions and 1479 deletions
194
src/runtime/Errors.Txt
Normal file
194
src/runtime/Errors.Txt
Normal file
|
|
@ -0,0 +1,194 @@
|
|||
The first line of this file is ignored.
|
||||
Any line not starting /^ *[0-9]/ is ignored.
|
||||
There should be only one space between the number and the message text.
|
||||
|
||||
Compiler error messages
|
||||
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
|
||||
|
||||
9 '=' expected
|
||||
|
||||
12 type definition starts with incorrect symbol
|
||||
13 factor starts with incorrect symbol
|
||||
14 statement starts with incorrect symbol
|
||||
15 declaration followed by incorrect symbol
|
||||
16 MODULE expected
|
||||
|
||||
18 '.' missing
|
||||
19 ',' missing
|
||||
20 ':' missing
|
||||
|
||||
22 ')' missing
|
||||
23 ']' missing
|
||||
24 '}' missing
|
||||
25 OF missing
|
||||
26 THEN missing
|
||||
27 DO missing
|
||||
28 TO missing
|
||||
|
||||
30 '(' missing
|
||||
|
||||
34 ':=' missing
|
||||
35 ',' or OF expected
|
||||
|
||||
38 identifier expected
|
||||
39 ';' missing
|
||||
|
||||
41 END missing
|
||||
|
||||
44 UNTIL missing
|
||||
|
||||
46 EXIT not within loop statement
|
||||
47 illegally marked identifier
|
||||
|
||||
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 have 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
|
||||
|
||||
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 doesn't match
|
||||
116 number of parameters doesn't match
|
||||
117 result type doesn't match
|
||||
118 export mark doesn't 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 cannot 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
|
||||
135 SYSTEM not imported
|
||||
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
|
||||
156 parameter file not found
|
||||
157 syntax error in parameter file
|
||||
|
||||
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
|
||||
213 too many cases in case statement
|
||||
218 illegal value of parameter (0 <= p < 256)
|
||||
219 machine registers cannot be accessed
|
||||
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 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 link table entries (external procedures)
|
||||
232 too many commands in module
|
||||
233 record extension hierarchy too high
|
||||
234 export of recursive type not allowed
|
||||
240 identifier too long
|
||||
241 string too long
|
||||
242 address overflow
|
||||
244 cyclic type definition not allowed
|
||||
245 guarded pointer variable may be manipulated by non-local operations; use auxiliary pointer variable
|
||||
|
||||
Compiler Warnings
|
||||
301 implicit type cast
|
||||
306 inappropriate symbol file ignored
|
||||
307 no ELSE symbol after CASE statement sequence may lead to trap
|
||||
|
||||
Run-time Error Messages
|
||||
-1 assertion failed, cf. SYSTEM_assert
|
||||
-2 invalid array index
|
||||
-3 function procedure without RETURN statement
|
||||
-4 invalid case in CASE statement
|
||||
-5 type guard failed
|
||||
-6 implicit type guard in record assignment failed
|
||||
-7 invalid case in WITH statement
|
||||
-8 value out of range
|
||||
-9 (delayed) interrupt
|
||||
-10 NIL access
|
||||
-11 alignment error
|
||||
-12 zero divide
|
||||
-13 arithmetic overflow/underflow
|
||||
-14 invalid function argument
|
||||
-15 internal error
|
||||
Loading…
Add table
Add a link
Reference in a new issue