aboutsummaryrefslogtreecommitdiff
path: root/asm
diff options
context:
space:
mode:
authorAryadev Chavali <aryadev@aryadevchavali.com>2023-11-29 15:40:14 +0000
committerAryadev Chavali <aryadev@aryadevchavali.com>2023-11-29 15:40:14 +0000
commit4cee61fc9e196de6b19249b7fecc8905541a0495 (patch)
treed562169cd9f34255d6bce20ecf672f5e69ece5f5 /asm
parent9b8936ea0209f2ef371d48675334a427706e218f (diff)
downloadovm-4cee61fc9e196de6b19249b7fecc8905541a0495.tar.gz
ovm-4cee61fc9e196de6b19249b7fecc8905541a0495.tar.bz2
ovm-4cee61fc9e196de6b19249b7fecc8905541a0495.zip
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.
Diffstat (limited to 'asm')
-rw-r--r--asm/parser.c6
-rw-r--r--asm/parser.h3
2 files changed, 9 insertions, 0 deletions
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,