# 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: ```text 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 | ## 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 | ## 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 | ## Methods and returns (E150-E169) | Code | Symbol | Message | |---|---|---| | E150 | `SEM_MISSING_RETURN` | MISSING RETURN VALUE | ## Disk (E200-E219) | Code | Symbol | Message | |---|---|---| | E200 | `DSK_SOURCE_UNREADABLE` | CANNOT READ SOURCE; DOS % | | E201 | `DSK_ERR_FILE_UNWRITABLE` | CANNOT WRITE ERROR FILE; DOS % | ## 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 |