Added parse errors for %USE calls

So %USE <STRING> is the expected call pattern, so there's an error if
there isn't a string after %USE.

The other two errors are file I/O errors i.e. nonexistent files or
errors in parsing the other file.  We don't report specifics about the
other file, that should be up to the user to check themselves.
This commit is contained in:
2023-11-29 15:40:14 +00:00
parent 9b8936ea02
commit 4cee61fc9e
2 changed files with 9 additions and 0 deletions

View File

@@ -39,6 +39,12 @@ const char *perr_as_cstr(perr_t perr)
return "EXPECTED_LABEL";
case PERR_EXPECTED_OPERAND:
return "EXPECTED_OPERAND";
case PERR_PREPROCESSOR_EXPECTED_STRING:
return "PREPROCESSOR_EXPECTED_STRING";
case PERR_PREPROCESSOR_FILE_NONEXISTENT:
return "PREPROCESSOR_FILE_NONEXISTENT";
case PERR_PREPROCESSOR_FILE_PARSE_ERROR:
return "PREPROCESSOR_FILE_PARSE_ERROR";
case PERR_PREPROCESSOR_EXPECTED_END:
return "PREPROCESSOR_EXPECTED_END";
case PERR_PREPROCESSOR_EXPECTED_NAME:

View File

@@ -28,7 +28,10 @@ typedef enum
PERR_EXPECTED_LABEL,
PERR_EXPECTED_OPERAND,
PERR_PREPROCESSOR_EXPECTED_NAME,
PERR_PREPROCESSOR_EXPECTED_STRING,
PERR_PREPROCESSOR_EXPECTED_END,
PERR_PREPROCESSOR_FILE_NONEXISTENT,
PERR_PREPROCESSOR_FILE_PARSE_ERROR,
PERR_PREPROCESSOR_UNKNOWN_NAME,
PERR_INVALID_RELATIVE_ADDRESS,
PERR_UNKNOWN_OPERATOR,