| Error Number |
Meaning | Corrective action taken |
|---|---|---|
| 0 | ; or END scanned and STACK broken | STACK is discarded until correct symbol appears. |
| 1 | END not matched by BEGIN on STACK | STACK is discarded until BEGIN appears or STACK terminates. |
| 2 | BASE statement in LOWER declaration | The statement is ignored. |
| 3 | **** read as source | END's forced in to match BEGIN's on stack |
| 4 | Type declaration not followed by identifier list | Skip to a recognisable symbol. |
| 5 | Illegal symbol in identifier list | Skip to a recognisable symbol. |
| 6 | Incorrect array length (not absolute const, or defined) | Array length 1 is assumed. |
| 7 | Identifier declared twice | Identifier ignored |
| 8 | Incorrect structure of LOCAL (ALL) (BUT) | The statement is ignored. |
| 9 | Illegal symbol in label list | The statement is ignored. |
| 10 | Unmatched bracketing | Assume ) |
| 11 | Identifier already declared | Skip to ; |
| 12 | Illegal source construction | Skip to ; |
| 13 | ||
| 14 | LOWEND or GLOBEND missing | No action |
| 15 | PURE storage not initialised | Sets to zero |
| 16 | ||
| 17 | Too many items in an array | Surplus items ignored |
| 18 | $ of a lower item used in a DEFINE statement | Skip to a, or ; |
| 19 | LOWEND without corresponding LOWER | LOWEND ignored |
| 20 | DEFINE not followed by identifier | Skip to a comma or ; |
| 21 | Identifier after DEFINE already declared | Skip to a comma or ; |
| 22 | Identifier not followed by = in DEFINE statement | Skip to a comma or ; |
| 23 | Separator missing in initial value list | , assumed |
| 24 | GLOBEND without matching GLOBAL | GLOBEND ignored |
| 25 | Impossible error (Stack not free for begin) | Error ignored |
| 26 | LOWER not followed by αtype or GLOBAL | Type INTEGER is assumed |
| 27 | GLOBAL not followed by block identifier | An area %%%G is created |
| 28 | Block identifier not followed by : | A colon is assumed to be present |
| 29 | Block identifier followed by illegal declaration | Type INTEGER is assumed |
| 30 | LONG not followed by xtype or rtype declaration | Type INTEGER is assumed |
| 31 | SYN of item already declared | Skip to a comma or ; |
| 32 | Illegal displacement | Zero substitued |
| 33 | Error after ACC or SYN | Skip to a comma or ; |
| 34 | ACC αidentifier not followed by SYN | Skip to a comma or ; |
| 35 | Identifier list not terminated by SYN or ; | ; assumed |
| 36 | Illegal expression in DEFINE declaration | Value of definee indeterminate |
| 37 | Illegal format in DEFINE declaration | Skip to a comma or ; |
| 38 | Illegally formed absolute expression in DEFINE declaration | Skip to a comma or ; |
| 39 | Error in initial value list (incorrect type, undefined ident. etc.) | Zero substituted |
| 40 | Illegal symbol within (----) sequence | Assume constant of 0 |
| 41 | Illegal symbol following a modifier | Assume closing right bracket |
| 42 | Illegal symbol following SMO index | Assume closing right bracket |
| 43 | Illegal symbol in simple SMO index | The statement is ignored |
| 44 | Closing bracket not found | Assume closing right bracket |
| 45 | Link accumulator not specified in PROCEDURE | Link accumulator X0 is assumed |
| 46 | Illegal accumulator given for PROCEDURE | Link accumulator X0 is assumed |
| 47 | PROCEDURE not followed by identifier | Skip to ; |
| 48 | OBEY, not an xcell | The statement is ignored |
| 49 | Illegal operand . | Zero substituted |
| 50 | Undeclared identifier in L.H.S. | The statement is ignored |
| 51 | Identifier undeclared at current block | The statement is ignored |
| 52 | Unmodified cell asignment to UPPER | No action |
| 53 | Undeclared identifier in statement R.H.S. | A null instruction is generated |
| 54 | Identifier undeclared at current block | A null instruction is generated |
| 55 | Incompatible types | A null instruction is generated |
| 56 | Cell assignment: αcell := αcell | Rest of statement is ignored |
| 57 | Accumulator assignment of | The statement is ignored |
| 58 | Cell assignment of constant not equal zero | The statement is ignored |
| 59 | Illegal operator | A null instruction is generated |
| 60 | Identifier too long | The identifier is truncated to 32 characters |
| 61 | Real number out of range | Zero substituted |
| 62 | Illegal characters following & of real number | Number is ignored |
| 63 | NOT encountered on its own | NOT is ignored |
| 64 | Too many characters in character sequence | Truncated to four characters |
| 65 | Count (CNT) greater than 511 | Count field is zeroised |
| 66 | Octal longer than 16 digits | Octal is truncated |
| 67 | 8 or 9 appearing in an octal number | Put in as #10 or #11 |
| 68 | #, or & standing alone | Character is ignored |
| 69 | Subfile name after INCLUDE too long | Statement is ignored |
| 70 | Subfile name in INCLUDE not found on MACROFILE | Statement is ignored |
| 71 | INCLUDE statement not on a line by itself | Other code on the line is ignored |
| 72 | MINUS not followed by a number | MINUS ignored |
| 73 | ?number not followed by ( | ( is assumed |
| 74 | Conditional compilation switch >10 | No conditional action taken |
| 75 | ? not followed by a number | No conditional action taken |
| 76 | String longer than 244 characters | String is truncated |
| 77 | Truncation to >23 bits | No truncation done |
| 78 | Error in function statement | Statement ignored; NULL output |
| 79 | Accumulator used as label | := assumed |
| 80 | Undeclared identifier in a bracketed sequence | Identifier ignored |
| 81 | END found within a CASE statement | CASEND inserted before END |
| 82 | Illegal operator | Rest of statement is ignored |
| 83 | More than 100 branch aheads at this point | Branch ahead table cleared |
| 84 | WHILE clause not terminated by DO | The statement is ignored |
| 85 | IF clause not terminated by THEN | The statement is ignored |
| 86 | Stack error on fixing-up IF statement | The statement is ignored |
| 87 | Label identifier previously declared | Item redeclared as label |
| 88 | Not :=0 in a cell assignment | Null generated |
| 89 | Illegal modifier in CASE clause | Modifies X1 is assumed |
| 90 | Multiple assignment in a single statement | Rest of statement is ignored |
| 91 | Illegal symbol in place of operator | A semicolon is inserted following previous operand |
| 92 | Program or segment starts with illegal symbol | A BEGIN is assumed missing |
| 93 | Illegal first character of a statement | The statement is ignored |
| 94 | Statement starts with identifier and illegal symbol | A semi-colon is inserted between identifier and symbol |
| 95 | Cell designator not followed by ← or := | The statement is ignored |
| 96 | Illegal symbol in place of operand | The statement is ignored |
| 97 | END, ELSE or; should have been found | A semi-colon is inserted |
| 98 | Wrong type of identifier in PROCEDURE or GOTO statement | The statement is ignored |
| 99 | ENTRY not in range 0-9 | Entry not generated |
| A0 | @ or £ not followed by identifier | The statement is ignored |
| A1 | Illegal operator before address | The statement is ignored |
| A2 | Illegal address assignment | The statement is ignored |
| A3 | CHAR sequence incorrectly terminated | The statement is ignored |
| A4 | Undeclared identifier after $ | No action |
| A5 | Undeclared identifier after £ | No action |
| A6 | Illegal declaration | Operand set to zero |
| A7 | Illegal identifier after @ | Operand set to zero |
| B0 | BRINGOVERLAY not followed by identifier | The statement is ignored |
| B1 | CUEOVERLAY not followed by identifier | The statement is ignored |
| B2 | Identifier not correctly declared | The statement is ignored |
| C0 | Illegal condition statement | The condition is ignored skip to next THEN or DO |
| C1 | Illegal symbol following relation | The condition is ignored skip to next THEN or DO |
| C2 | Base symbol not followed by identifier | The condition is ignored skip to next THEN or DO |
| C3 | Displacement symbol not followed by identifier | The condition is ignored skip to next THEN or DO |
| C4 | Character comparison with $ | 'CH' is ignored |
| C5 | $ identifier (index) outside range 0 - 4095 | The condition is ignored skip to next THEN or DO |
| C6 | AND, OR appear in same compound condition | The first to appear is assumed |
| C7 | Undeclared identifier in condition | Zero is substituted |
| C8 | Incompatible types in condition | The condition is ignored skip to next THEN or DO |
| C9 | Not integer accumulator on LHS of condition | The condition is ignored skip to next THEN or DO |
| D0 | SMO in a condition when SMOMACRO is set or assumed | The condition is ignored skip to next THEN or DO |
| E1 | FOR not followed by integer acc. assignment | No action |
| E2 | Illegal increment in FOR clause | The statement is ignored up to DO |
| E3 | UNTIL not found in FOR clause | No action |
| E4 | Illegal limit in FOR clause | The statement is ignored up to DO |
| E5 | DO does not terminate FOR clause | No action |
| E6 | Illegal item following '-' in limit | The statement is ignored up to DO |
| E7 | Stack is broken on fixing-up DO | No action |
| E8 | No STEP between FOR and UNTIL | Step 1 assumed |
| E9 | END not followed by ; END or ELSE | ; inserted |
| F1 | Illegal operand in function statement | The statement is ignored |
| F2 | Illegal constant operand | The statement is ignored |
| F3 | Function statement not terminated by ) | No action |
| F4 | Undeclared operand in function statement | The statement is ignored |
| G0 | GOTO not followed by identifier | The statement is ignored |
| G6 | Illegal character in DATA statement | The symbol is ignored |
| G7 | Block identifier declared differently elsewhere | Skip to ; |
| G8 | Redefinition of GLOBAL area in different mode | The area is forced into LOWER |
| G9 | Too many GLOBAL declarations in segment | Compiler HALTS:-XX at this point |
| M0 | Monadic operator in wrong context | The statement is ignored |
| M1 | Unrecognised monadic operator | Rest of statement is ignored |
| M2 | MEMBER not followed by ( | The statement is ignored |
| M3 | Member number >5 | The statement is ignored |
| M4 | Member number not followed by comma | The statement is ignored |
| M5 | Member priority >99 | The statement is ignored |
| M6 | No ) at close of member statement | ) assumed |
| M7 | ) not followed by ; in member statement | ; assumed |
| P0 | Not integer or definee after comma in a procedure statement | 0 substituted |
| P1 | Procedures nested to depth > 16 | SENDTO file (if any) is closed |
| P2 | Number after comma in a procedure statement >63 | 0 substituted |
| P3 | Accumulator not followed by comma or ) in procedure statement | ) assumed |
| R0 | Identifier not found where expected | Skip to ; |
| R1 | Identifier not followed by ( in replacers statement | Skip to ; |
| R2 | ( not followed by integer in replacers statement | Skip to ; |
| R3 | Integer >510 in replacers statement | 510 substituted |
| R4 | Integer not followed by ) in replacers statement | Skip to ; |
| R5 | ; should terminate a replacers statement | ; asumed |
| Comment Number |
Meaning |
|---|---|
| 1 | Section of source not compiled as conditional compilation switch is off |
| 2 | A second [ has been found before a ] |
| 3 | A ] has been found without a matching [ |
| 4 | a double-length 'shift-type' instruction has been generated |
| 5 | Nested LOWER declarations have been used |
| 6 | , not followed by SL in an INCLUDE statement, SL assumed |
| 7 | A SMO macro has been generated |
| 8 | CARRY or NOT CARRY not the first in a compound condition |
| 9 | Trivial condition, eg ≥#400CNT |
| 10 | No D after a double length integer |
| 11 | Base generated, though no BASE statement present |
| 12 | Attempt to access item outside normal domain |
| 20 | Other than one machine instruction generated by a statement in a case sequence |
| 21 | Division will corrupt an accumulator not explicitly mentioned in the statement (as in PLAN) |
| 22 | Multiplication will use an accumulator not explicitly mentioned in the statement (as in PLAN) |