From 4cee61fc9e196de6b19249b7fecc8905541a0495 Mon Sep 17 00:00:00 2001 From: Aryadev Chavali Date: Wed, 29 Nov 2023 15:40:14 +0000 Subject: Added parse errors for %USE calls So %USE 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. --- asm/parser.c | 6 ++++++ asm/parser.h | 3 +++ 2 files changed, 9 insertions(+) (limited to 'asm') diff --git a/asm/parser.c b/asm/parser.c index 421c721..fbffd84 100644 --- a/asm/parser.c +++ b/asm/parser.c @@ -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: diff --git a/asm/parser.h b/asm/parser.h index a8748d0..c727eae 100644 --- a/asm/parser.h +++ b/asm/parser.h @@ -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, -- cgit v1.2.3-13-gbd6f