Nevar pievienot vairāk kā 25 tēmas Tēmai ir jāsākas ar burtu vai ciparu, tā var saturēt domu zīmes ('-') un var būt līdz 35 simboliem gara.

109 rindas
6.8KB

  1. ; diagcat.inc - THE Nova128 diagnostic catalog (E02-S04).
  2. ;
  3. ; One line per diagnostic: DIAGNOSTIC symbol, number, "message"
  4. ; The including file defines the DIAGNOSTIC macro: errors.inc turns each line
  5. ; into a constant E_<symbol>; diagnostics.s turns it into the message table.
  6. ; docs/diagnostics.md is generated from this file by build-diag-test.ps1.
  7. ;
  8. ; Rules (checked by scripts/build-diag-test.ps1):
  9. ; - Numbers are stable. Never renumber or reuse; append within the range.
  10. ; - Ranges: 1-19 source and lexical 20-59 syntax
  11. ; 60-79 names and declarations 80-119 types
  12. ; 120-129 access 130-149 interfaces
  13. ; 150-169 methods and returns 200-219 disk
  14. ; 220-239 resource limits
  15. ; - Messages are uppercase ASCII (PETSCII unshifted letters), at most 39
  16. ; characters with no arguments. Each % is replaced by an argument (at most
  17. ; two, each at most 16 characters); the screen clips the result to 39.
  18. ; ---------------------------------------------------- source and lexical
  19. DIAGNOSTIC SRC_LINE_TOO_LONG, 1, "LINE LONGER THAN 80 CHARACTERS"
  20. DIAGNOSTIC SRC_FILE_TOO_LARGE, 2, "SOURCE LARGER THAN 18999 BYTES"
  21. DIAGNOSTIC SRC_TOO_MANY_LINES, 3, "MORE THAN 599 LINES"
  22. DIAGNOSTIC LEX_INVALID_CHAR, 4, "INVALID CHARACTER"
  23. DIAGNOSTIC LEX_IDENT_TOO_LONG, 5, "NAME LONGER THAN 16 CHARACTERS"
  24. DIAGNOSTIC LEX_NUMBER_RANGE, 6, "NUMBER LARGER THAN 65535"
  25. DIAGNOSTIC LEX_BAD_NUMBER, 7, "MALFORMED NUMBER"
  26. DIAGNOSTIC LEX_UNTERMINATED_STRING, 8, "STRING NOT CLOSED ON THIS LINE"
  27. DIAGNOSTIC LEX_BAD_ESCAPE, 9, "UNKNOWN ESCAPE SEQUENCE"
  28. DIAGNOSTIC LEX_BAD_CHAR_LITERAL, 10, "CHARACTER LITERAL NEEDS ONE CHARACTER"
  29. ; ----------------------------------------------------------------- syntax
  30. DIAGNOSTIC SYN_EXPECTED_IDENTIFIER, 20, "NAME EXPECTED"
  31. DIAGNOSTIC SYN_EXPECTED_EOL, 21, "END OF LINE EXPECTED"
  32. DIAGNOSTIC SYN_UNEXPECTED_EOL, 22, "LINE ENDS TOO EARLY"
  33. DIAGNOSTIC SYN_EXPECTED_RPAREN, 23, "')' EXPECTED"
  34. DIAGNOSTIC SYN_EXPECTED_END_PROGRAM, 24, "END PROGRAM EXPECTED"
  35. DIAGNOSTIC SYN_EXPECTED_END_METHOD, 25, "END METHOD EXPECTED"
  36. DIAGNOSTIC SYN_EXPECTED_END_IF, 26, "END IF EXPECTED"
  37. DIAGNOSTIC SYN_EXPECTED_END_CLASS, 27, "END CLASS EXPECTED"
  38. DIAGNOSTIC SYN_EXPECTED_INTERFACE_NAME, 28, "INTERFACE NAME EXPECTED"
  39. DIAGNOSTIC SYN_INTERFACE_METHOD_BODY, 29, "INTERFACE METHODS HAVE NO BODY"
  40. DIAGNOSTIC SYN_UNEXPECTED_TOKEN, 30, "% IS NOT ALLOWED HERE"
  41. DIAGNOSTIC SYN_EXPECTED_PROGRAM, 31, "PROGRAM DECLARATION EXPECTED"
  42. DIAGNOSTIC SYN_EXPECTED_END_INTERFACE, 32, "END INTERFACE EXPECTED"
  43. DIAGNOSTIC SYN_EXPECTED_LPAREN, 33, "'(' EXPECTED"
  44. DIAGNOSTIC SYN_EXPECTED_AS, 34, "AS EXPECTED"
  45. DIAGNOSTIC SYN_EXPECTED_TYPE, 35, "TYPE EXPECTED"
  46. DIAGNOSTIC SYN_EXPECTED_END_WHILE, 36, "END WHILE EXPECTED"
  47. DIAGNOSTIC SYN_EXPECTED_END_FOR, 37, "END FOR EXPECTED"
  48. DIAGNOSTIC SYN_NOT_A_STATEMENT, 38, "NOT A STATEMENT"
  49. DIAGNOSTIC SYN_NOT_ASSIGNABLE, 39, "CANNOT ASSIGN TO THIS"
  50. DIAGNOSTIC SYN_EXPECTED_RBRACKET, 40, "']' EXPECTED"
  51. DIAGNOSTIC SYN_EXPECTED_TO, 41, "TO EXPECTED"
  52. DIAGNOSTIC SYN_EXPECTED_EQUALS, 42, "'=' EXPECTED"
  53. ; -------------------------------------------- names and declarations
  54. DIAGNOSTIC SEM_DUPLICATE_NAME, 60, "% IS ALREADY DECLARED"
  55. DIAGNOSTIC SEM_UNKNOWN_NAME, 61, "% IS NOT DECLARED"
  56. ; ------------------------------------------------------------------ types
  57. DIAGNOSTIC TYP_MISMATCH, 80, "% EXPECTED; % FOUND"
  58. DIAGNOSTIC TYP_CONDITION_NOT_BOOLEAN, 81, "CONDITION MUST BE BOOLEAN"
  59. DIAGNOSTIC TYP_BAD_OPERAND, 82, "% NOT ALLOWED ON %"
  60. DIAGNOSTIC TYP_OPERANDS_DIFFER, 83, "% AND % DO NOT MIX"
  61. DIAGNOSTIC TYP_NUMBER_RANGE, 84, "NUMBER OUT OF RANGE"
  62. DIAGNOSTIC TYP_NUMBER_DOES_NOT_FIT, 85, "% DOES NOT FIT %"
  63. DIAGNOSTIC TYP_DIVIDE_BY_ZERO, 86, "DIVISION BY ZERO"
  64. DIAGNOSTIC TYP_NOT_ARRAY, 87, "% IS NOT AN ARRAY"
  65. DIAGNOSTIC TYP_ARRAY_NEEDS_INDEX, 88, "% NEEDS AN INDEX"
  66. DIAGNOSTIC TYP_INDEX_RANGE, 89, "INDEX OUT OF RANGE"
  67. DIAGNOSTIC TYP_NO_MEMBERS, 90, "% HAS NO MEMBERS"
  68. DIAGNOSTIC TYP_CANNOT_PRINT, 91, "% CANNOT BE PRINTED"
  69. DIAGNOSTIC TYP_CANNOT_DELETE, 92, "% CANNOT BE DELETED"
  70. DIAGNOSTIC TYP_NOT_CLASS, 93, "% IS NOT A CLASS"
  71. DIAGNOSTIC TYP_ARRAY_SIGNATURE, 94, "ARRAYS CANNOT BE PARAMETERS OR RESULTS"
  72. DIAGNOSTIC TYP_ARRAY_LENGTH, 95, "ARRAY LENGTH MUST NOT BE ZERO"
  73. DIAGNOSTIC TYP_INSTANCE_TOO_LARGE, 96, "CLASS INSTANCE TOO LARGE"
  74. ; ----------------------------------------------------------------- access
  75. DIAGNOSTIC ACC_PRIVATE_MEMBER, 120, "% IS PRIVATE"
  76. ; ------------------------------------------------------------- interfaces
  77. DIAGNOSTIC IFC_METHOD_MISSING, 130, "% IS NOT IMPLEMENTED"
  78. DIAGNOSTIC IFC_SIGNATURE_MISMATCH, 131, "% DIFFERS FROM INTERFACE"
  79. DIAGNOSTIC IFC_SIGNATURE_CONFLICT, 132, "% HAS CONFLICTING SIGNATURES"
  80. DIAGNOSTIC IFC_NOT_INTERFACE, 133, "% IS NOT AN INTERFACE"
  81. ; ---------------------------------------------------- methods and returns
  82. DIAGNOSTIC SEM_MISSING_RETURN, 150, "MISSING RETURN VALUE"
  83. DIAGNOSTIC SEM_LIFECYCLE_RETURN, 151, "% CANNOT RETURN A VALUE"
  84. DIAGNOSTIC SEM_LIFECYCLE_PARAMS, 152, "% TAKES NO PARAMETERS"
  85. DIAGNOSTIC SEM_ARG_COUNT, 153, "% TAKES % ARGUMENTS"
  86. ; ------------------------------------------------------------------- disk
  87. DIAGNOSTIC DSK_SOURCE_UNREADABLE, 200, "CANNOT READ SOURCE; DOS %"
  88. DIAGNOSTIC DSK_ERR_FILE_UNWRITABLE, 201, "CANNOT WRITE ERROR FILE; DOS %"
  89. DIAGNOSTIC DSK_OUTPUT_EXISTS, 202, "OUTPUT FILE ALREADY EXISTS"
  90. ; ------------------------------------------------------- resource limits
  91. DIAGNOSTIC RES_TOO_MANY_NAMES, 220, "MORE THAN 255 NAMES"
  92. DIAGNOSTIC RES_ERROR_LIMIT, 221, "TOO MANY ERRORS; COMPILATION STOPPED"
  93. DIAGNOSTIC RES_NESTING_TOO_DEEP, 222, "BLOCKS NESTED TOO DEEPLY"
  94. DIAGNOSTIC RES_TOO_MANY_MEMBERS, 223, "MORE THAN 255 MEMBERS"
  95. DIAGNOSTIC RES_TOO_MANY_PARAMS, 224, "MORE THAN 255 PARAMETERS"
  96. DIAGNOSTIC RES_EXPR_TOO_DEEP, 225, "EXPRESSION NESTED TOO DEEPLY"
  97. DIAGNOSTIC RES_TOO_MANY_IMPLEMENTS, 226, "MORE THAN 255 IMPLEMENTED INTERFACES"
  98. DIAGNOSTIC RES_EMIT_FAILED, 227, "CANNOT EMIT THIS CODE YET"
  99. DIAGNOSTIC RES_SIZE_MISMATCH, 228, "CODE SIZE CHANGED BETWEEN PASSES"

Powered by TurnKey Linux.