Nova128 Diagnostics
Generated from src/common/diagcat.inc by scripts/build-diag-test.ps1 -UpdateDocs.
Do not edit by hand. Numbers are stable: never renumber or reuse one.
Each % is replaced by an argument such as a name or type. On screen a
diagnostic is two lines, the header and the message clipped to 39 characters:
E010 TEST.N8 3 11
CHARACTER LITERAL NEEDS ONE CHARACTER
NAME.ERR holds one full line per diagnostic: E010 TEST.N8 3 11 CHARACTER ....
It is scratched when compilation starts and created only if a diagnostic occurs.
After 20 errors the next one is replaced by E221 and compilation stops.
Source and lexical (E001-E019)
| Code |
Symbol |
Message |
| E001 |
SRC_LINE_TOO_LONG |
LINE LONGER THAN 80 CHARACTERS |
| E002 |
SRC_FILE_TOO_LARGE |
SOURCE LARGER THAN 18999 BYTES |
| E003 |
SRC_TOO_MANY_LINES |
MORE THAN 599 LINES |
| E004 |
LEX_INVALID_CHAR |
INVALID CHARACTER |
| E005 |
LEX_IDENT_TOO_LONG |
NAME LONGER THAN 16 CHARACTERS |
| E006 |
LEX_NUMBER_RANGE |
NUMBER LARGER THAN 65535 |
| E007 |
LEX_BAD_NUMBER |
MALFORMED NUMBER |
| E008 |
LEX_UNTERMINATED_STRING |
STRING NOT CLOSED ON THIS LINE |
| E009 |
LEX_BAD_ESCAPE |
UNKNOWN ESCAPE SEQUENCE |
| E010 |
LEX_BAD_CHAR_LITERAL |
CHARACTER LITERAL NEEDS ONE CHARACTER |
Syntax (E020-E059)
| Code |
Symbol |
Message |
| E020 |
SYN_EXPECTED_IDENTIFIER |
NAME EXPECTED |
| E021 |
SYN_EXPECTED_EOL |
END OF LINE EXPECTED |
| E022 |
SYN_UNEXPECTED_EOL |
LINE ENDS TOO EARLY |
| E023 |
SYN_EXPECTED_RPAREN |
‘)’ EXPECTED |
| E024 |
SYN_EXPECTED_END_PROGRAM |
END PROGRAM EXPECTED |
| E025 |
SYN_EXPECTED_END_METHOD |
END METHOD EXPECTED |
| E026 |
SYN_EXPECTED_END_IF |
END IF EXPECTED |
| E027 |
SYN_EXPECTED_END_CLASS |
END CLASS EXPECTED |
| E028 |
SYN_EXPECTED_INTERFACE_NAME |
INTERFACE NAME EXPECTED |
| E029 |
SYN_INTERFACE_METHOD_BODY |
INTERFACE METHODS HAVE NO BODY |
| E030 |
SYN_UNEXPECTED_TOKEN |
% IS NOT ALLOWED HERE |
| E031 |
SYN_EXPECTED_PROGRAM |
PROGRAM DECLARATION EXPECTED |
| E032 |
SYN_EXPECTED_END_INTERFACE |
END INTERFACE EXPECTED |
| E033 |
SYN_EXPECTED_LPAREN |
‘(’ EXPECTED |
| E034 |
SYN_EXPECTED_AS |
AS EXPECTED |
| E035 |
SYN_EXPECTED_TYPE |
TYPE EXPECTED |
| E036 |
SYN_EXPECTED_END_WHILE |
END WHILE EXPECTED |
| E037 |
SYN_EXPECTED_END_FOR |
END FOR EXPECTED |
| E038 |
SYN_NOT_A_STATEMENT |
NOT A STATEMENT |
| E039 |
SYN_NOT_ASSIGNABLE |
CANNOT ASSIGN TO THIS |
| E040 |
SYN_EXPECTED_RBRACKET |
‘]’ EXPECTED |
| E041 |
SYN_EXPECTED_TO |
TO EXPECTED |
| E042 |
SYN_EXPECTED_EQUALS |
‘=’ EXPECTED |
Names and declarations (E060-E079)
| Code |
Symbol |
Message |
| E060 |
SEM_DUPLICATE_NAME |
% IS ALREADY DECLARED |
| E061 |
SEM_UNKNOWN_NAME |
% IS NOT DECLARED |
Types (E080-E119)
| Code |
Symbol |
Message |
| E080 |
TYP_MISMATCH |
% EXPECTED; % FOUND |
| E081 |
TYP_CONDITION_NOT_BOOLEAN |
CONDITION MUST BE BOOLEAN |
| E082 |
TYP_BAD_OPERAND |
% NOT ALLOWED ON % |
| E083 |
TYP_OPERANDS_DIFFER |
% AND % DO NOT MIX |
| E084 |
TYP_NUMBER_RANGE |
NUMBER OUT OF RANGE |
| E085 |
TYP_NUMBER_DOES_NOT_FIT |
% DOES NOT FIT % |
| E086 |
TYP_DIVIDE_BY_ZERO |
DIVISION BY ZERO |
| E087 |
TYP_NOT_ARRAY |
% IS NOT AN ARRAY |
| E088 |
TYP_ARRAY_NEEDS_INDEX |
% NEEDS AN INDEX |
| E089 |
TYP_INDEX_RANGE |
INDEX OUT OF RANGE |
| E090 |
TYP_NO_MEMBERS |
% HAS NO MEMBERS |
| E091 |
TYP_CANNOT_PRINT |
% CANNOT BE PRINTED |
| E092 |
TYP_CANNOT_DELETE |
% CANNOT BE DELETED |
| E093 |
TYP_NOT_CLASS |
% IS NOT A CLASS |
| E094 |
TYP_ARRAY_SIGNATURE |
ARRAYS CANNOT BE PARAMETERS OR RESULTS |
| E095 |
TYP_ARRAY_LENGTH |
ARRAY LENGTH MUST NOT BE ZERO |
| E096 |
TYP_INSTANCE_TOO_LARGE |
CLASS INSTANCE TOO LARGE |
Access (E120-E129)
| Code |
Symbol |
Message |
| E120 |
ACC_PRIVATE_MEMBER |
% IS PRIVATE |
Interfaces (E130-E149)
| Code |
Symbol |
Message |
| E130 |
IFC_METHOD_MISSING |
% IS NOT IMPLEMENTED |
| E131 |
IFC_SIGNATURE_MISMATCH |
% DIFFERS FROM INTERFACE |
| E132 |
IFC_SIGNATURE_CONFLICT |
% HAS CONFLICTING SIGNATURES |
| E133 |
IFC_NOT_INTERFACE |
% IS NOT AN INTERFACE |
Methods and returns (E150-E169)
| Code |
Symbol |
Message |
| E150 |
SEM_MISSING_RETURN |
MISSING RETURN VALUE |
| E151 |
SEM_LIFECYCLE_RETURN |
% CANNOT RETURN A VALUE |
| E152 |
SEM_LIFECYCLE_PARAMS |
% TAKES NO PARAMETERS |
| E153 |
SEM_ARG_COUNT |
% TAKES % ARGUMENTS |
Disk (E200-E219)
| Code |
Symbol |
Message |
| E200 |
DSK_SOURCE_UNREADABLE |
CANNOT READ SOURCE; DOS % |
| E201 |
DSK_ERR_FILE_UNWRITABLE |
CANNOT WRITE ERROR FILE; DOS % |
| E202 |
DSK_OUTPUT_EXISTS |
OUTPUT FILE ALREADY EXISTS |
Resource limits (E220-E239)
| Code |
Symbol |
Message |
| E220 |
RES_TOO_MANY_NAMES |
MORE THAN 255 NAMES |
| E221 |
RES_ERROR_LIMIT |
TOO MANY ERRORS; COMPILATION STOPPED |
| E222 |
RES_NESTING_TOO_DEEP |
BLOCKS NESTED TOO DEEPLY |
| E223 |
RES_TOO_MANY_MEMBERS |
MORE THAN 255 MEMBERS |
| E224 |
RES_TOO_MANY_PARAMS |
MORE THAN 255 PARAMETERS |
| E225 |
RES_EXPR_TOO_DEEP |
EXPRESSION NESTED TOO DEEPLY |
| E226 |
RES_TOO_MANY_IMPLEMENTS |
MORE THAN 255 IMPLEMENTED INTERFACES |
| E227 |
RES_EMIT_FAILED |
CANNOT EMIT THIS CODE YET |