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.