Synopsis
typedef enum {
NB_NO_ERROR,
NB_PROGRAM_ENDED,
NB_OUT_OF_MEMORY,
NB_NO_SUCH_LINE,
NB_SYNTAX_ERROR,
NB_BREAKPOINT,
NB_WATCHDOG,
NB_IMMEDIATE_MODE_ONLY,
NB_PROGRAM_MODE_ONLY,
NB_ARGUMENT_ERROR,
NB_TYPE_MISMATCH,
NB_UNIMPLEMENTED,
NB_DIMENSION_ERROR,
NB_SUBSCRIPT_ERROR,
NB_BAD_LINE_NUMBER,
NB_STRING_TOO_LONG,
NB_EXPRESSION_TOO_COMPLEX,
NB_NEXT_WITHOUT_FOR,
NB_WEND_WITHOUT_WHILE,
NB_UNTIL_WITHOUT_REPEAT,
NB_ENDPROC_WITHOUT_DEFPROC,
NB_ENDFN_WITHOUT_DEFFN,
NB_FOR_EACH_WITHOUT_NEXT,
NB_FOR_WITHOUT_NEXT,
NB_WHILE_WITHOUT_WEND,
NB_REPEAT_WITHOUT_UNTIL,
NB_DEFPROC_WITHOUT_ENDPROC,
NB_DEFFN_WITHOUT_ENDFN,
NB_RETURN_WITHOUT_GOSUB,
NB_CANT_CONTINUE,
NB_GRAPHICS_ERROR,
NB_DRIVER_NOT_FOUND,
NB_DEFPROC_CANNOT_NEST,
NB_FELL_INTO_DEFPROC,
NB_FONT_NOT_FOUND,
NB_PROC_NOT_DEFINED,
NB_DUPLICATE_PROC,
NB_ENDPROC_WITHOUT_CALL,
NB_TOO_MANY_PARAMETERS,
NB_NOT_ENOUGH_PARAMETERS,
NB_TOO_MANY_DRIVERS,
NB_TOO_MANY_STREAMS,
NB_BAD_FILENAME,
NB_BAD_PIN_CONFIGURATION,
NB_PROGRAM_NOT_FOUND,
NB_OUT_OF_DATA,
NB_UNSUPPORTED_PROPERTY,
NB_USING_ERROR,
NB_EXPECTED_COMMA,
NB_EXPECTED_SEMI,
NB_EXPECTED_EQ,
NB_EXPECTED_LPAR,
NB_EXPECTED_RPAR,
NB_EXPECTED_RBRK,
NB_EXPECTED_TO,
NB_EXPECTED_THEN,
NB_EXPECTED_VAR,
NB_WHEN_WITHOUT_CASE,
NB_OTHERWISE_WITHOUT_CASE,
NB_ENDCASE_WITHOUT_CASE,
NB_ELSE_WITHOUT_IF,
NB_IF_WITHOUT_ENDIF,
NB_CASE_WITHOUT_ENDCASE,
NB_PAGE_DOES_NOT_EXIST,
NB_BAD_INPUT,
NB_BAD_STATEMENT_AFTER_TRY,
NB_FELL_INTO_ENDFN,
NB_TOO_MANY_VARIABLES,
NB_PIN_CONFLICT,
NB_EXIT_FOR_WITHOUT_FOR,
NB_EXIT_WHILE_WITHOUT_WHILE,
NB_EXIT_REPEAT_WITHOUT_REPEAT,
NB_INTERNAL_ERROR
} NB_ERROR_t;
Description
Although the ordering of these error messages is essentially arbitrary,
it is important to keep the WHILE, REPEAT, and FOR errors
together in a group along with the tokens that these relate to because
nb_check_structure expects the token numbering and error messages
to have this structure.
-
NB_NO_ERROR
- Same as CTL_NO_ERROR and has the value zero.
-
NB_PROGRAM_ENDED
- Internal code indicating the CoreBASIC program terminated
at END or for some other reason. This is silently
turned into NB_NO_ERROR when caught.
-
NB_OUT_OF_MEMORY
- Interpreter ran out of memory.
-
NB_NO_SUCH_LINE
- Line doesn't exist in GOTO, GOSUB, or RESTORE.
-
NB_SYNTAX_ERROR
- Generic syntax error.
-
NB_BREAKPOINT
- User interrupted execution or program executes STOP.
-
NB_WATCHDOG
- Watchdog fired when debugging.
-
NB_IMMEDIATE_MODE_ONLY
- Command is available in immediate mode only.
-
NB_PROGRAM_MODE_ONLY
- Command is available in program mode only.
-
NB_ARGUMENT_ERROR
- Argument to standard function is in error.
-
NB_TYPE_MISMATCH
- Wrong type in general.
-
NB_UNIMPLEMENTED
- I haven't got there yet.
-
NB_DIMENSION_ERROR
- Wrong shape of array.
-
NB_SUBSCRIPT_ERROR
- Subscript out of range.
-
NB_BAD_LINE_NUMBER
- Line 0 is not a valid line number.
-
NB_STRING_TOO_LONG
- String is longer than maximum length allowed.
-
NB_EXPRESSION_TOO_COMPLEX
- Too many items on the expression stack.
-
NB_NEXT_WITHOUT_FOR
-
NEXT has no matching FOR (preflight check).
-
NB_WEND_WITHOUT_WHILE
-
WEND has no matching WHILE (preflight check).
-
NB_UNTIL_WITHOUT_REPEAT
-
UNTIL has no matching REPEAT (preflight check).
-
NB_ENDPROC_WITHOUT_DEFPROC
-
ENDPROC has no matching DEFPROC (preflight check).
-
NB_ENDFN_WITHOUT_DEFFN
-
ENDFN has no matching DEFFN (preflight check).
-
NB_FOR_EACH_WITHOUT_NEXT
-
FOR EACH has no matching NEXT (preflight check).
-
NB_FOR_WITHOUT_NEXT
-
FOR has no matching NEXT (preflight check).
-
NB_WHILE_WITHOUT_WEND
-
WHILE has no matching WEND (preflight check).
-
NB_REPEAT_WITHOUT_UNTIL
-
REPEAT has no matching UNTIL (preflight check).
-
NB_DEFPROC_WITHOUT_ENDPROC
-
DEFPROC has no matching ENDPROC (preflight check).
-
NB_DEFFN_WITHOUT_ENDFN
-
DEFFN has no matching ENDFN (preflight check).
-
NB_RETURN_WITHOUT_GOSUB
-
RETURN has no matching GOSUB (runtime check).