Recursion stack overflow: evaluation stack collision with symbol table; correct by reducing symbol table size, simplifying expressions.
1: Error in simple type
Self-explanatory.
2: Identifier expected
Self-explanatory.
3: 'PROGRAM' expected
Self-explanatory
4: ')' expected
Self-explanatory
5: ': ' expected
Possibly a = used in a VAR declaration
6: Illegal symbol (possibly missing ';' on line above)
Symbol encountered is not allowed in the syntax at this point.
7: Error in parameter list
Syntactic error in parameter list declaration.
8: 'OF' expected
Self-explanatory.
9: '(' expected
Self-explanatory.
10: Error in type
Syntactic error in TYPE declaration.
11: '[' expected
Self-explanatory.
12: ']' expected
Self-explanatory.
13: 'END' expected
All procedures, functions, and blocks of statements
must have an 'END'. Check for mismatched BEGIN/ENDs.
14: ';' expected (possibly on line above)
Statement separator required here.
15: Integer expected
Self-explanatory.
16: '=' expected
Possibly a : used in a TYPE or CONST declaration.
17: 'BEGIN' expected
Self-explanatory.
18: Error in declaration part
Typically an illegal backward reference to a type in
a pointer declaration.
19: error in <field-list>
Syntactic error in a record declaration
20: '.' expected
Self-explanatory.
21: '*' expected
Self-explanatory.
50: Error in constant
Syntactic error in a literal constant, also when using recursion
and improperly using INP and OUT.
51: ':=' expected
Self-explanatory.
52: 'THEN' expected
Self-explanatory.
53: 'UNTIL' expected
Can result from mismatched begin/end sequences
54: 'DO' expected
Syntactic error.
55: 'TO' or 'DOWNTO' expected in FOR statement
Self-explanatory.
56: 'IF' expected
Self-explanatory.
57: 'FILE' expected
Probably an error in a TYPE declaration.
58: Error in <factor> (bad expression)
Syntactic error in expression at factor level.
59: Error in variable
Syntactic error in expression at variable level.
99: MODEND expected
Each MODULE must end with MODEND.
101: Identifier declared twice
Name already in visible symbol table.
102: Low bound exceeds high bound
For subranges the lower bound must be <= high bound.
103: Identifier is not of the appropriate class
A variable name used as a type, or a type used
as a variable, etc. can cause this error.
104: Undeclared identifier
The specified identifier is not in the visible
symbol table.
105: sign not allowed
Signs are not allowed on non-integer/non-real constants.
106: Number expected
This error can often come from making the compiler totally
confused in an expression as it checks for numbers after all
other possibilities have been exhausted.
107: Incompatible subrange types
(e.g. 'A'..'Z' is not compatible with 0..9).
108: File not allowed here
File comparison and assignment is not allowed.
109: Type must not be real
Self-explanatory.
110: <tagfield> type must be scalar or subrange
Self-explanatory.
111: Incompatible with <tagfield> part
Selector in a CASE-variant record is not
compatible with the <tagfield> type
112: Index type must not be real
An array may not be declared with real dimensions
113: Index type must be a scalar or a subrange
Self-explanatory.
114: Base type must not be real
Base type of a set may be scalar or subrange.
115: Base type must be a scalar or a subrange
Self-explanatory.
116: Error in type of standard procedure parameter
Self-explanatory.
117: Unsatisified forward reference
A forwardly declared pointer was never defined.
118: Forward reference type identifier in variable declaration
The user has attempted to declare a variable as a pointer
to a type which has not yet been declared.
119: Re-specified params not OK for a forward declared procedure
Self-explanatory.
120: Function result type must be scalar, subrange or pointer
A function has been declared with a string or other non-scalar
type as its value. This is not allowed.
121: File value parameter not allowed
Files must be passed as VAR parameters.
122: A forward declared function's result type can't be re-specified
Self-explanatory.
123: Missing result type in function declaration
Self-explanatory.
125: Error in type of standard procedure parameter
This is often caused by not having the parameters in the
proper order for built-in procedures or by attempting to
read/write
pointers, enumerated types, etc.
126: Number of parameters does not agree with declaration
Self-explanatory.
127: Illegal parameter substitution
Type of parameter does not exactly match the
corresponding formal parameter.
128: Result type does not agree with declaration
When assigning to a function result, the types must be
compatible.
129: Type conflict of operands
Self-explanatory.
130: Expression is not of set type
Self-explanatory.
131: Tests on equality allowed only
Occurs when comparing sets for other than equality.
133: File comparison not allowed
File control blocks may not be compared as they contain multiple
fields which are not available to the user.
134: Illegal type of operand(s)
The operands do not match those required for this operator.
135: Type of operand must be boolean
The operands to AND, OR and NOT must be BOOLEAN.
136: Set element type must be scalar or subrange
Self-explanatory.
137: Set element types must be compatible
Self-explanatory.
138: Type of variable is not array
A subscript has been specified on a non-array variable.
139: Index type is not compatible with the declaration
Occurs when indexing into an array with the wrong type of
indexing expression.
140: Type of variable is not record
Attempting to access a non-record data structure
with the 'dot' form or the 'with' statement.
141: Type of variable must be file or pointer
Occurs when an up arrow follows a variable which is not
of type pointer or file.
142: Illegal parameter solution
Self-explanatory.
143: Illegal type of loop control variable
Loop control variables may be only local non-real scalars.
144: Illegal type of expression
The expression used as a selecting expression in a case
statement must be a non-real scalar.
145: Type conflict
Case selector is not the same type as the selecting expression.
146: Assignment of files not allowed
Self-explanatory.
147: Label type incompatible with selecting expression
Case selector is not the same type as the selecting expression.
148: Subrange bounds must be scalar
Self-explanatory.
149: Index type must be integer
Self-explanatory.
150: Assignment to standard function is not allowed
Self-explanatory.
151: Assignment to formal function is not allowed
Self-explanatory.
152: No such field in this record
Self-explanatory.
153: Type error in read
Self-explanatory.
154: Actual parameter must be a variable
Occurs when attempting to pass an expression as a VAR parameter.
155: Control variable cannot be formal or non-local
The control variable in a FOR loop must be LOCAL.
156: Multidefined case label
Self-explanatory.
157: Too many cases in case statement
Occurs when jump table generated for case overflows its bounds.
158: No such variant in this record
Self-explanatory.
159: Real or string tagfields not allowed
Self-explanatory.
160: Previous declaration was not forward
161: Again forward declared
162: Parameter size must be constant
163: Missing variant in declaration
Occurs when using NEW/DISPOSE and a variant does not
exist.
164: Substition of standard proc/func not allowed
165: Multidefined label
Label more than one statement with same label.
166: Multideclared label
Declare same label more than once.
167: Undeclared label
Label on statement has not been delcareed.
168: Undefined label
A declared label was not used to label a statement.
169: Error in base set
170: Value parameter expected
171: Standard file was re-declared
172: Undeclared external file
174: Pascal function or procedure expected
Self-explanatory.
183: External declaration not allowed at this nesting level
Self-explanatory.
187: Attempt to open library unsuccessful
Self-explanatory.
191: No private files
Files may not be declared other than in the GLOBAL
variable section of a program or module as they must
be statically allocated.
193: Not enough room for this operation
Self-explanatory.
194: Comment must appear at top of program
201: Error in real number - digit expected
Self-explanatory.
202: String constant must not exceed source line
203: Integer constant exceeds range
Range on integer constants are -32768..32767
250: Too many scopes of nested identifiers
There is a limit of 15 nesting levels at compile-time.
This includes WITH and procedure nesting.
251: Too many nested procedures or functions
There is a limit of 15 nesting levels at execution
time. Also occurs when more than 80 routines in one compiled
module.
253: Procedure (or program body) too long
A procedure has generated code which has overflowed
the internal procedure buffer. Reduce the size of
the procedure and try again. The limit is target
machine dependent. Consult the CPU applications note
for more information.
259: Expression too complicated
The users expression is too compilated (i.e. too many
recursive calls needed to compile it). The user should
reduce the compilcation using temporary variable
397: Too many FOR or WITH statments in a procedure
Only 16 FOR and / or WITH statments are allowed in
a single procedure (in recursive mode only)
398: Implementation restriction
Normally used for arrays and sets which are too big to
be manipulated or allocated.
400: Illegal character in text
A character which is a non-Pascal special character
was found outside of a quoted string.
401: Unexpected end of input
End. encountered before returning to outer level.
402: Error in writing code file, not enough room
Self-explanatory.
403: Error in reading include file
Self-explanatory.
404: Error in writing list file, not enough room
Self-explanatory.
405: Call not allowed in separate procedure
Self-explanatory.
406: Include file not legal
Self-explanatory.
407: Symbol Table Overflow
496: Invalid operand to INLINE
Usually due to reference which requires address
calculation at run time.
497: Error in closing code file.
An error occured when the .ERL file was closed.
Make more room on the destination disk and try again.
999: Compiler confused due to previous errors. Make some
corrections and try again. It is also possible that while
your program is syntactically correct it may cause the
compiler to become confused if semantic errors exist.
The compiler will abort early with this error number.
Look carefully at the line on which the compilation halts.